svn commit: r255273 - in head/sys/powerpc: aim include

Nathan Whitehorn nwhitehorn at freebsd.org
Fri Sep 6 13:16:54 UTC 2013


On 09/06/13 03:53, Roman Divacky wrote:
> On Thu, Sep 05, 2013 at 11:00:24PM +0000, Nathan Whitehorn wrote:
>> Author: nwhitehorn
>> Date: Thu Sep  5 23:00:24 2013
>> New Revision: 255273
>> URL: http://svnweb.freebsd.org/changeset/base/255273
>>
>> Log:
>>    Align stacks of kernel threads correctly at 16-byte boundaries rather than
>>    making sure they are all misaligned at +8 bytes. This fixes clang builds
>>    of powerpc64 kernels (aside from a required increase in KSTACK_PAGES which
>>    will come later).
>>    
>>    This commit from FreeBSD/powerpc64 with a clang-built kernel.
> The increased KSTACK_PAGES is needed because the kernel you're using is built
> with O0. I suppose O2 kernel will be fine. Needs to be tested.
>
> Anyway, this is a great step forward and I believe PowerPC64 is basically ready
> to be compiled with clang instead of gcc :)
>
> Congrats!
>
> Roman

I think you are the one who did all the hard work here, so thanks a 
great deal. As an update for the list, this is where we currently are 
for clang/ppc64:
1) We need to update the in-tree clang to a more recent version
2) Kernel and world both appear to work perfectly
3) We need a few minor updates to clang so that we can enable 
-integrated-as by default, which is important to work around some 
limitations of our ancient binutils (-g will break as otherwise)
4) KDB currently relies on a deprecated scheme of PPC64 ELF symbol 
declarations to provide stack traces. We either need to add it to clang 
or fix KDB to give meaningful output on panics with the default symbol 
emission strategy.
5) clang/ppc32 is not as advanced and we need to figure out a way to 
build /usr/lib32.

This is a pretty short list of TODOs. Once (1) and (3) are done, we will 
start encouraging testing of WITH_CLANG_IS_CC (with WITHOUT_LIB32 due to 
#5). If we can figure out a solution to #5, and nothing untoward happens 
in testing, WITH_CLANG_IS_CC will become the default on ppc64.

Thanks in particular to Roman for working very hard for a very long time 
to make this happen.
-Nathan


More information about the svn-src-all mailing list