This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC, patch] powerpc64 FreeBSD support


On 02.03.12 17:28, David Edelsohn wrote:
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.

Thank you David!


I commited this patch to trunk, r185613-r185615.

Results are here:

http://gcc.gnu.org/ml/gcc-testresults/2012-03/msg02067.html

I'll continue to improve the port...

Again, thanks.
Andreas




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]