Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 May 2013 18:34:32 -0400
From:      Tim Kientzle <tim@kientzle.com>
To:        Andrew Turner <andrew@fubar.geek.nz>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Port: U-Boot for BeagleBone
Message-ID:  <DFEB7E77-6980-4BE1-8F0F-5FC84FCDFD80@kientzle.com>
In-Reply-To: <20130518224335.16aa88de@bender.Home>
References:  <3B16A2E5-C92B-4248-BE98-DD5C1194CB05@freebsd.org> <20130518100512.57c47fe6@bender> <B5DE3D0D-86BF-43F8-9FA2-A803B1FAABF8@freebsd.org> <D3F7C462-0BD5-4F20-AE32-448BB7B5855D@bsdimp.com> <CAA=KUhspUwuNPW13bgZVy9CKwn6Ny_Njt0AXBH27XZPEuKgaWg@mail.gmail.com> <8D318315-A18E-4B16-B37A-1073CB36CA66@bsdimp.com> <695C0935-9AFC-4C99-B6FE-E7B6F260FB59@kientzle.com> <9A15C7DB-BC23-40DC-8059-CDCE3CFD5CEB@bsdimp.com> <90152894-5643-4189-B6DF-394E4F463FA3@kientzle.com> <20130518224335.16aa88de@bender.Home>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_09B759BD-7495-40CD-A68C-37E5BA6CC2AB
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On May 18, 2013, at 5:43 PM, Andrew Turner wrote:

> On Sat, 18 May 2013 13:59:45 -0400
> Tim Kientzle <tim@kientzle.com> wrote:
>=20
>>=20
>> On May 18, 2013, at 10:54 AM, Warner Losh wrote:
>>=20
>>>=20
>>> On May 18, 2013, at 10:46 AM, Tim Kientzle wrote:
>>>=20
>>>> On May 18, 2013, at 10:41 AM, Warner Losh wrote:
>>>>>=20
>>>>> On May 18, 2013, at 10:38 AM, Jason Birch wrote:
>>>>>=20
>>>>>> I'm not sure how it'd work internally in the ports tree (I'm a
>>>>>> ports consumer, not a contributor), but I'd find it weird if a
>>>>>> U-Boot port required me to get any devel/cross-* ports if U-Boot
>>>>>> was able to be built by Clang native to FreeBSD 9.X+ and I had
>>>>>> Clang set as my CC, CPP, CXX.
>>>>>=20
>>>>> u-boot can't be built with clang.
>>>>=20
>>>> Yes, it can.  Since the ARM clang switch was thrown,
>>>> the xdev tools now build clang (unnecessarily, of course).
>>>> U-Boot builds just fine with it:
>>>>=20
>>>> $ armv6-freebsd-cc --version
>>>> FreeBSD clang version 3.3 (trunk 178860) 20130405
>>>> Target: armv6--freebsd
>>>> Thread model: posix
>>>=20
>>> Do these boot?
>>=20
>> Gosh.  Now you've made me nervous that
>> I might still be using old GCC-compiled versions.
>>=20
>> Just a sec =85.
>> $ rm -rf u-boot-2013.04
>> $ tar xf u-boot-2013.04.tar.bz2
>> $ sudo ./crochet.sh -c beagleblack.sh
>>=20
>> Copy to SD card =85
>>=20
>> Yep.  It boots.  ;-)
>>=20
>>> I was under the impression that u-boot used global register flags
>>> in gcc that clang wasn't going to support... I'd be happy if I'm
>>> wrong though=85
> My understanding is clang doesn't support it. I have removed the only
> one in our kernel when adding support for clang.
>=20
>> Don't know the details.  Maybe Andrew knows what has changed?
>=20
> The variable in question is in a macro in
> arch/arm/include/asm/global_data.h. There is a pointer to a global =
data
> structure in register r8. This register is reserved through the use of
> the -ffixed-r8 compiler flag. I'm not sure if clang supports the
> -ffixed-* flag or not.
>=20
> Given this if you manage to get clang to build U-Boot is is unlikely =
to
> work as it could change r8 within some functions unless there is some
> way to tell it otherwise.

Hmmm=85.  Maybe I've just been lucky, and certainly my
memory isn't what it should be, but I recall switching my
U-Boot builds to use clang shortly after clang was
made the default for ARM and I've been booting real
systems with the result ever since.

Doesn't clang complain about unsupported options?
My U-Boot build logs definitely show this option in the
compiler invocations and there are no warnings about
it.  (Plenty of warnings about other things, but none about
this option.)

Maybe --fixed-<reg> was added some time recently?
I found a thread from back in October where some clang
developers were discussing how to implement it:

https://groups.google.com/forum/?fromgroups#!topic/llvm-dev/FKw1fWqwcW0


Tim



--Apple-Mail=_09B759BD-7495-40CD-A68C-37E5BA6CC2AB
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)

iQEcBAEBAgAGBQJRmAH5AAoJEGMNyGo0rfFBKWQIAN1eNLPoOa5gV3jsWvNPNkxy
JUM+LTcCw/TdhIM21XBxYzyj0SksOHND3tSt7bNriXkBAJHpE2YTuyc7ZZaASQl2
rI+ohqrb5prL7OB6bUGc+CwlPABdI+oPe9OrQ6KBYVhW+FI8UJW4/ywWW4SFibLR
2ljzi3euCGuf2YmsI46vY7QFGpg2apF2i0gt8kHUb/YSh44Cc3Y3DOx6IEi5q9i6
QyWNwie6s7EI3P96amoQQyWGqGx5f4yJPjBrffBiXmpAKRLko4CVi2aNXkPf05B8
d1qb7O063Ea5agFKSahD0q9FHl9qSBskw1+5nUy7xyutEJDbmwFMmm1lQ1CcHmM=
=l/Pc
-----END PGP SIGNATURE-----

--Apple-Mail=_09B759BD-7495-40CD-A68C-37E5BA6CC2AB--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DFEB7E77-6980-4BE1-8F0F-5FC84FCDFD80>