Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030321171159.GA14894>