svn commit: r203581 - in projects/ppc64:
gnu/usr.bin/gdb/arch/powerpc lib/libc/powerpc64/gen
lib/libc/stdlib lib/libthr/arch/powerpc64/include
rescue/rescue share/mk
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Sun Feb 7 00:07:38 UTC 2010
Author: nwhitehorn
Date: Sun Feb 7 00:07:37 2010
New Revision: 203581
URL: http://svn.freebsd.org/changeset/base/203581
Log:
Correct some nits in the build process. With these changes, powerpc64
is fully self-hosting. Next up: figure out why NO_TLS is required by
malloc and fix it, and then begin cleaning up this branch and tying up
loose ends.
Modified:
projects/ppc64/gnu/usr.bin/gdb/arch/powerpc/config.h
projects/ppc64/lib/libc/powerpc64/gen/_set_tp.c
projects/ppc64/lib/libc/stdlib/malloc.c
projects/ppc64/lib/libthr/arch/powerpc64/include/pthread_md.h
projects/ppc64/rescue/rescue/Makefile
projects/ppc64/share/mk/bsd.cpu.mk
Modified: projects/ppc64/gnu/usr.bin/gdb/arch/powerpc/config.h
==============================================================================
--- projects/ppc64/gnu/usr.bin/gdb/arch/powerpc/config.h Sat Feb 6 23:47:55 2010 (r203580)
+++ projects/ppc64/gnu/usr.bin/gdb/arch/powerpc/config.h Sun Feb 7 00:07:37 2010 (r203581)
@@ -446,7 +446,7 @@
#define DEFAULT_BFD_ARCH bfd_rs6000_arch
/* Define to BFD's default target vector. */
-#define DEFAULT_BFD_VEC bfd_elf32_powerpc_vec
+#define DEFAULT_BFD_VEC bfd_elf64_powerpc_vec
/* Define to 1 if your system has the _etext variable. */
#define HAVE__ETEXT 1
Modified: projects/ppc64/lib/libc/powerpc64/gen/_set_tp.c
==============================================================================
--- projects/ppc64/lib/libc/powerpc64/gen/_set_tp.c Sat Feb 6 23:47:55 2010 (r203580)
+++ projects/ppc64/lib/libc/powerpc64/gen/_set_tp.c Sun Feb 7 00:07:37 2010 (r203581)
@@ -31,5 +31,5 @@ _set_tp(void *tpval)
{
register void *tp __asm__("r13");
- __asm __volatile("mr %0,%1" : "=r"(tp) : "r"((char*)tpval + 0x7016));
+ __asm __volatile("mr %0,%1" : "=r"(tp) : "r"((char*)tpval + 0x7010));
}
Modified: projects/ppc64/lib/libc/stdlib/malloc.c
==============================================================================
--- projects/ppc64/lib/libc/stdlib/malloc.c Sat Feb 6 23:47:55 2010 (r203580)
+++ projects/ppc64/lib/libc/stdlib/malloc.c Sun Feb 7 00:07:37 2010 (r203581)
@@ -253,6 +253,7 @@ __FBSDID("$FreeBSD$");
#ifdef __powerpc64__
# define QUANTUM_2POW 4
# define SIZEOF_PTR_2POW 3
+# define NO_TLS
#elif defined(__powerpc__)
# define QUANTUM_2POW 4
# define SIZEOF_PTR_2POW 2
Modified: projects/ppc64/lib/libthr/arch/powerpc64/include/pthread_md.h
==============================================================================
--- projects/ppc64/lib/libthr/arch/powerpc64/include/pthread_md.h Sat Feb 6 23:47:55 2010 (r203580)
+++ projects/ppc64/lib/libthr/arch/powerpc64/include/pthread_md.h Sun Feb 7 00:07:37 2010 (r203581)
@@ -39,7 +39,7 @@
#define CPU_SPINWAIT
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
-#define TP_OFFSET 0x8000
+#define TP_OFFSET 0x7010
/*
* Variant I tcb. The structure layout is fixed, don't blindly
Modified: projects/ppc64/rescue/rescue/Makefile
==============================================================================
--- projects/ppc64/rescue/rescue/Makefile Sat Feb 6 23:47:55 2010 (r203580)
+++ projects/ppc64/rescue/rescue/Makefile Sun Feb 7 00:07:37 2010 (r203581)
@@ -47,7 +47,7 @@ CLEANFILES+= dhclient_FIXED
# Define Makefile variable RESCUE
CRUNCH_BUILDOPTS+= -DRESCUE
# Define compile-time RESCUE symbol when compiling components
-.if ${TARGET_ARCH} == powerpc64
+.if ${MACHINE_ARCH} == powerpc64
CRUNCH_BUILDOPTS+= CRUNCH_CFLAGS=\"-DRESCUE -mminimal-toc\"
.else
CRUNCH_BUILDOPTS+= CRUNCH_CFLAGS=-DRESCUE
Modified: projects/ppc64/share/mk/bsd.cpu.mk
==============================================================================
--- projects/ppc64/share/mk/bsd.cpu.mk Sat Feb 6 23:47:55 2010 (r203580)
+++ projects/ppc64/share/mk/bsd.cpu.mk Sun Feb 7 00:07:37 2010 (r203581)
@@ -12,7 +12,7 @@ MACHINE_CPU = i486
MACHINE_CPU = amd64 sse2 sse
. elif ${MACHINE_ARCH} == "ia64"
MACHINE_CPU = itanium
-. elif ${MACHINE_ARCH} == "powerpc"
+. elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
MACHINE_CPU = aim
. elif ${MACHINE_ARCH} == "sparc64"
. elif ${MACHINE_ARCH} == "arm"
@@ -121,6 +121,8 @@ _CPUCFLAGS = -Wa,-me500 -msoft-float
. else
_CPUCFLAGS = -mcpu=${CPUTYPE} -mno-powerpc64
. endif
+. elif ${MACHINE_ARCH} == "powerpc64"
+_CPUCFLAGS = -mcpu=${CPUTYPE}
. elif ${MACHINE_ARCH} == "mips"
. if ${CPUTYPE} == "mips32"
_CPUCFLAGS = -march=mips32
More information about the svn-src-projects
mailing list