[RFC, patch] powerpc64 FreeBSD support

David Edelsohn dje.gcc@gmail.com
Fri Mar 2 16:29:00 GMT 2012


On Fri, Mar 2, 2012 at 11:04 AM, Andreas Tobler <andreast-list@fgznet.ch> wrote:

>> the attached patch adds support for powerpc64-*-freebsd*.
>> Results are/were sent to the test results list.
>>
>> A few words about the patch.
>> I have chosen the way to add separate freebsd* files because FreeBSD
>> supports not as much as linux does in regard of the PowerPC CPU's. For
>> example we only have FreeBSD running on 970 CPU's. POWER support on the
>> kernel side is wip, but it grows very slow.
>>
>> Also, powerpc FreeBSD has 64-bit long doubles while linux-ppc has 128-bit.
>>
>> The architecture itself is a 64-bit one which can execute 32-bit
>> binaries. But it its primary bit width is 64-bit. It is not wanted that
>> we have a 32-bit compiler which can build 64-bit objects.
>>
>> To have a clearer picture and not to influence linux-ppc I thought
>> having its own set of files would be easier.
>>
>> I'd appreciate feedback on the patch.
>>
>> There are some issues with the tests, I'm cleaning and trying to make
>> them work. In certain areas I need to fix the kernel or the libc first
>> and this takes some time.
>>
>> One thing is the libstdc++ test I had to skip. Here the test tries to
>> allocate int_max mem. And this blows my machine :)
>>
>> Here the CL's.
>>
>> Thank you!
>> Andreas
>>
>> gcc:
>> ----
>>
>> 2011-12-22  Andreas Tobler<andreast@fgznet.ch>
>>
>>        * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
>>        Introduce emul_name to select the right linker emulation for
>>        powerpc64-*-freebsd*.
>>        * configure: Regenerate.
>>        * config.gcc: Add bits to support powerpc64-*-freebsd*.
>>        * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
>>        * config/rs6000/freebsd64.h: New file.
>>        * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
>>        POWERPC_FREEBSD.
>>        (rs6000_savres_strategy): Likewise.
>>        (rs6000_savres_routine_name): Likewise.
>>        (rs6000_elf_file_end): Likewise.
>>        * config/rs6000/t-freebsd64: New file.
>>        * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
>>        rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
>>
>> libgcc:
>> -------
>>
>> 2011-12-22  Andreas Tobler<andreast@fgznet.ch>
>>
>>        * config.host: Add bits to support powerpc64-*-freebsd*.
>>        * config/rs6000/freebsd-unwind.h: New file.
>>        * config/rs6000/t-freebsd64: New file.
>>
>> libstdc++:
>> ----------
>> 2011-12-22  Andreas Tobler<andreast@fgznet.ch>
>>
>>        * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
>> Skip
>>        this test on powerpc64-*-freebsd*.

This patch is okay for trunk now that it has opened for 4.8 release.
I thought that Loren might comment.

Thanks, David



More information about the Gcc-patches mailing list