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]

[RFC, patch] powerpc64 FreeBSD support


Hi all,

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*.

Attachment: gcc-4.7-fbsd-powerpc64-20111222-1.diff
Description: Text document


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