Date: Fri, 06 Sep 2013 08:16:51 -0500 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: Roman Divacky <rdivacky@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r255273 - in head/sys/powerpc: aim include Message-ID: <5229D5C3.6070302@freebsd.org> In-Reply-To: <20130906085301.GA44778@freebsd.org> References: <201309052300.r85N0OLX076496@svn.freebsd.org> <20130906085301.GA44778@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5229D5C3.6070302>