Date: Fri, 21 Mar 2003 09:11:59 -0800 From: "David O'Brien" <obrien@freebsd.org> To: Dag-Erling Smorgrav <des@ofug.org> Cc: Peter Grehan <grehan@freebsd.org>, ppc@freebsd.org Subject: Re: world Message-ID: <20030321171159.GA14894@dragon.nuxi.com> In-Reply-To: <xzp1y1c4obt.fsf@flood.ping.uio.no> References: <xzpr89dv7fx.fsf@flood.ping.uio.no> <3E6F33AC.5901FE38@freebsd.org> <xzp1y1c4obt.fsf@flood.ping.uio.no>
index | next in thread | previous in thread | raw e-mail
On Wed, Mar 12, 2003 at 04:05:58PM +0100, Dag-Erling Smorgrav wrote:
> Peter Grehan <grehan@freebsd.org> writes:
> > > Is the powerpc port currently at a stage where it should be possible
> > > to build world?
> > At the minimum a toolchain patch is needed.
>
> Where would I find such a patch?
Index: contrib/gcc/config/rs6000/freebsd.h
===================================================================
RCS file: /home/ncvs/src/contrib/gcc/config/rs6000/freebsd.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 freebsd.h
--- contrib/gcc/config/rs6000/freebsd.h 1 Feb 2002 18:15:22 -0000 1.1.1.1
+++ contrib/gcc/config/rs6000/freebsd.h 21 Mar 2003 17:11:00 -0000
@@ -23,6 +23,15 @@
#undef CPP_OS_DEFAULT_SPEC
#define CPP_OS_DEFAULT_SPEC "%(cpp_os_freebsd)"
+/* XXX */
+#undef CPP_ENDIAN_BIG_SPEC
+#define CPP_ENDIAN_BIG_SPEC "-D__BIG_ENDIAN__ -Amachine=bigendian"
+
+/* XXX */
+#undef CPP_ENDIAN_LITTLE_SPEC
+#define CPP_ENDIAN_LITTLE_SPEC "-D__LITTLE_ENDIAN__ -Amachine=littleendian"
+#endif
+
#undef STARTFILE_DEFAULT_SPEC
#define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)"
@@ -38,6 +47,11 @@
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_freebsd)"
+/* XXX: This is wrong for many platforms in sysv4.h.
+ We should work on getting that defination fixed. */
+#undef LINK_SHLIB_SPEC
+#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
+
/************************[ Target stuff ]***********************************/
@@ -47,6 +61,18 @@
/* rs6000.h gets this wrong for FreeBSD. We use the GCC defaults instead. */
#undef WCHAR_TYPE
+
+/*
+XXX: SIZE_TYPE setting fixes:
+/usr/obj/powerpc/usr/src/i386/usr/include/string.h:65: warning: conflicting types for built-in function `memcmp'
+/usr/obj/powerpc/usr/src/i386/usr/include/string.h:66: warning: conflicting types for built-in function `memcpy'
+/usr/obj/powerpc/usr/src/i386/usr/include/string.h:68: warning: conflicting types for built-in function `memset'
+/usr/obj/powerpc/usr/src/i386/usr/include/string.h:94: warning: conflicting types for built-in function `strncat'
+/usr/obj/powerpc/usr/src/i386/usr/include/string.h:95: warning: conflicting types for built-in function `strncmp'
+/usr/obj/powerpc/usr/src/i386/usr/include/string.h:96: warning: conflicting types for built-in function `strncpy'
+*/
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
#undef WCHAR_UNSIGNED
#define WCHAR_UNSIGNED 0
Index: contrib/gcc/config/rs6000/sysv4.h
===================================================================
RCS file: /home/ncvs/src/contrib/gcc/config/rs6000/sysv4.h,v
retrieving revision 1.1.1.5
diff -u -r1.1.1.5 sysv4.h
--- contrib/gcc/config/rs6000/sysv4.h 10 Feb 2003 05:41:43 -0000 1.1.1.5
+++ contrib/gcc/config/rs6000/sysv4.h 21 Mar 2003 17:04:49 -0000
@@ -326,7 +326,7 @@
/* Define this to set the endianness to use in libgcc2.c, which can
not depend on target_flags. */
-#if !defined(_LITTLE_ENDIAN) && !defined(__sun__)
+#if !defined(__LITTLE_ENDIAN__) && !defined(__sun__)
#define LIBGCC2_WORDS_BIG_ENDIAN 1
#else
#define LIBGCC2_WORDS_BIG_ENDIAN 0
@@ -1207,7 +1207,7 @@
/* FreeBSD support. */
#define CPP_OS_FREEBSD_SPEC "\
- -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ \
+ -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ -D__ELF__ \
-Acpu=powerpc -Amachine=powerpc"
#define STARTFILE_FREEBSD_SPEC FBSD_STARTFILE_SPEC
@@ -1216,7 +1216,17 @@
#define LINK_START_FREEBSD_SPEC ""
#define LINK_OS_FREEBSD_SPEC "\
- %{symbolic:-Bsymbolic}"
+ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \
+ %{Wl,*:%*} \
+ %{v:-V} \
+ %{assert*} %{R*} %{rpath*} %{defsym*} \
+ %{shared:-Bshareable %{h*} %{soname*}} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic: -export-dynamic} \
+ %{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} \
+ %{static:-Bstatic}} \
+ %{symbolic:-Bsymbolic}"
/* GNU/Linux support. */
#ifdef USE_GNULIBC_1
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ppc" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030321171159.GA14894>
