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>