Date: Sat, 21 Feb 2009 04:13:15 GMT From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 158003 for review Message-ID: <200902210413.n1L4DFaX026998@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=158003 Change 158003 by nwhitehorn@nwhitehorn_trantor on 2009/02/21 04:12:16 Toolchain build infrastructure for 64-bit PowerPC. Kind of, sort of working. Affected files ... .. //depot/projects/ppc-g5/contrib/gcc/config/rs6000/freebsd.h#2 edit .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/as/Makefile#3 edit .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/as/ppc64-freebsd/itbl-cpu.h#1 add .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/as/ppc64-freebsd/targ-cpu.h#1 add .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/gdb/Makefile#2 edit .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/ld/Makefile.ppc64#1 add .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/libbfd/Makefile#2 edit .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/libbfd/Makefile.ppc64#1 add .. //depot/projects/ppc-g5/gnu/usr.bin/binutils/libopcodes/Makefile.ppc64#1 add .. //depot/projects/ppc-g5/gnu/usr.bin/cc/Makefile.tgt#3 edit .. //depot/projects/ppc-g5/gnu/usr.bin/cc/cc_tools/Makefile#3 edit .. //depot/projects/ppc-g5/gnu/usr.bin/cc/include/Makefile#2 edit .. //depot/projects/ppc-g5/gnu/usr.bin/gdb/arch/ppc64/Makefile#1 add .. //depot/projects/ppc-g5/gnu/usr.bin/gdb/arch/ppc64/config.h#1 add .. //depot/projects/ppc-g5/gnu/usr.bin/gdb/arch/ppc64/init.c#1 add .. //depot/projects/ppc-g5/lib/libc/Makefile#2 edit .. //depot/projects/ppc-g5/share/mk/bsd.cpu.mk#2 edit .. //depot/projects/ppc-g5/share/mk/bsd.endian.mk#2 edit .. //depot/projects/ppc-g5/usr.bin/xlint/arch/ppc64/targparam.h#1 add Differences ... ==== //depot/projects/ppc-g5/contrib/gcc/config/rs6000/freebsd.h#2 (text+ko) ==== @@ -21,6 +21,23 @@ /* Override the defaults, which exist to force the proper definition. */ +#ifdef IN_LIBGCC2 +#undef TARGET_64BIT +#ifdef __powerpc64__ +#define TARGET_64BIT 1 +#else +#define TARGET_64BIT 0 +#endif +#endif + +#undef TARGET_64BIT +#ifdef TARGET_CPU_DEFAULT +#define TARGET_64BIT 1 +#else +#error 32 bit +#define TARGET_64BIT 0 +#endif + #undef CPP_OS_DEFAULT_SPEC #define CPP_OS_DEFAULT_SPEC "%(cpp_os_freebsd)" @@ -29,6 +46,19 @@ -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ \ -Acpu=powerpc -Amachine=powerpc " +#undef FBSD_TARGET_CPU_CPP_BUILTINS +#define FBSD_TARGET_CPU_CPP_BUILTINS() \ + do \ + { \ + if (TARGET_64BIT) \ + { \ + builtin_define ("__LP64__"); \ + builtin_define ("__ppc64__"); \ + builtin_define ("__arch64__"); \ + } \ + } \ + while (0) + #undef STARTFILE_DEFAULT_SPEC #define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)" @@ -57,7 +87,7 @@ c-common.c, and config/<arch>/<arch>.h. */ #undef SIZE_TYPE -#define SIZE_TYPE "unsigned int" +#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int") /* rs6000.h gets this wrong for FreeBSD. We use the GCC defaults instead. */ #undef WCHAR_TYPE ==== //depot/projects/ppc-g5/gnu/usr.bin/binutils/as/Makefile#3 (text+ko) ==== @@ -26,7 +26,7 @@ .if ${TARGET_ARCH} == "amd64" SRCS+= tc-i386.c -.elif ${TARGET_ARCH} == "powerpc" +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" SRCS+= tc-ppc.c .elif ${TARGET_ARCH} == "sparc64" # change back to tc-sparc.c when new binutils is imported ==== //depot/projects/ppc-g5/gnu/usr.bin/binutils/gdb/Makefile#2 (text+ko) ==== @@ -12,6 +12,8 @@ GDB_CPU= sparc .elif ${TARGET_ARCH} == "amd64" GDB_CPU= i386 +.elif ${TARGET_ARCH} == "ppc64" +GDB_CPU= powerpc .else GDB_CPU= ${TARGET_ARCH} .endif ==== //depot/projects/ppc-g5/gnu/usr.bin/binutils/libbfd/Makefile#2 (text+ko) ==== @@ -25,6 +25,8 @@ SELARCH= &bfd_i386_arch .elif ${TARGET_ARCH} == "sparc64" SELARCH= &bfd_sparc_arch +.elif ${TARGET_ARCH} == "ppc64" +SELARCH= &bfd_powerpc_arch .else .for _a in ${ARCHS} .if ${SELARCH} == "" ==== //depot/projects/ppc-g5/gnu/usr.bin/cc/Makefile.tgt#3 (text+ko) ==== @@ -4,7 +4,7 @@ .if ${TARGET_ARCH} == "amd64" GCC_CPU= i386 -.elif ${TARGET_ARCH} == "powerpc" +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" GCC_CPU= rs6000 .elif ${TARGET_ARCH} == "sparc64" GCC_CPU= sparc @@ -21,3 +21,7 @@ .if ${TARGET_ARCH} == "sparc64" TARGET_CPU_DEFAULT= TARGET_CPU_ultrasparc .endif +.if ${TARGET_ARCH} == "ppc64" +TARGET_CPU_DEFAULT= \"powerpc64\" +.endif + ==== //depot/projects/ppc-g5/gnu/usr.bin/cc/cc_tools/Makefile#3 (text+ko) ==== @@ -171,7 +171,7 @@ OPT_FILES+= ${.CURDIR}/${GCC_CPU}-freebsd.opt .endif -.if ${TARGET_ARCH} == "powerpc" +.if ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" OPT_FILES+= ${GCCDIR}/config/${GCC_CPU}/sysv4.opt .endif ==== //depot/projects/ppc-g5/gnu/usr.bin/cc/include/Makefile#2 (text+ko) ==== @@ -10,7 +10,7 @@ INCS= ia64intrin.h .elif ${TARGET_ARCH} == "arm" INCS= mmintrin.h -.elif ${TARGET_ARCH} == "powerpc" +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "ppc64" INCS= ppc-asm.h altivec.h spe.h .endif ==== //depot/projects/ppc-g5/lib/libc/Makefile#2 (text+ko) ==== @@ -50,6 +50,7 @@ .include "${.CURDIR}/posix1e/Makefile.inc" .if ${MACHINE_ARCH} != "amd64" && \ ${MACHINE_ARCH} != "ia64" && \ + ${MACHINE_ARCH} != "pcc64" && \ ${MACHINE_ARCH} != "sparc64" .include "${.CURDIR}/quad/Makefile.inc" .endif ==== //depot/projects/ppc-g5/share/mk/bsd.cpu.mk#2 (text+ko) ==== @@ -12,6 +12,8 @@ MACHINE_CPU = amd64 sse2 sse . elif ${MACHINE_ARCH} == "ia64" MACHINE_CPU = itanium +. elif ${MACHINE_ARCH} == "ppc64" +MACHINE_CPU = aim powerpc64 . elif ${MACHINE_ARCH} == "powerpc" MACHINE_CPU = aim . elif ${MACHINE_ARCH} == "sparc64" ==== //depot/projects/ppc-g5/share/mk/bsd.endian.mk#2 (text+ko) ==== @@ -7,6 +7,7 @@ (${MACHINE_ARCH} == "mips" && !defined(TARGET_BIG_ENDIAN)) TARGET_ENDIANNESS= 1234 .elif ${MACHINE_ARCH} == "powerpc" || \ + ${MACHINE_ARCH} == "ppc64" || \ ${MACHINE_ARCH} == "sparc64" || \ ${MACHINE_ARCH} == "arm" || \ ${MACHINE_ARCH} == "mips"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902210413.n1L4DFaX026998>