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]

Re: Some tweaks for powerpc64-linux


On Wed, Mar 20, 2002 at 01:27:08PM -0500, David Edelsohn wrote:
> 
> 	Instead of adding t-linux64 to disable earlier definitions, let's
> just clean this up.

Good idea.  Works well, and I've never particularly liked "nof" as a
multi-lib name.  For some reason, I always read it as "no fortran" :)

	* config/rs6000/t-linux64: New.
	* config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
	t-ppccomm.  Use t-rs6000 and t-linux64.
	* mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
	* mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

diff -urpN -x*~ -xCVS -xTAGS gcc-3.1/gcc/Makefile.in gcc-3.1-patched/gcc/Makefile.in
--- gcc-3.1/gcc/Makefile.in	Wed Mar 20 12:02:48 2002
+++ gcc-3.1-patched/gcc/Makefile.in	Wed Mar 20 16:54:22 2002
@@ -999,6 +999,7 @@ libgcc.mk: config.status Makefile mklibg
 	SHLIB_EXT='$(SHLIB_EXT)' \
 	SHLIB_MULTILIB='$(SHLIB_MULTILIB)' \
 	SHLIB_MKMAP='$(SHLIB_MKMAP)' \
+	SHLIB_MKMAP_OPTS='$(SHLIB_MKMAP_OPTS)' \
 	SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \
 	SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
 	mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \
diff -urpN -x*~ -xCVS -xTAGS gcc-3.1/gcc/config/rs6000/t-linux64 gcc-3.1-patched/gcc/config/rs6000/t-linux64
--- gcc-3.1/gcc/config/rs6000/t-linux64	Thu Jan  1 09:30:00 1970
+++ gcc-3.1-patched/gcc/config/rs6000/t-linux64	Thu Mar 21 09:36:09 2002
@@ -0,0 +1,6 @@
+# Override t-linux.  We don't want -fPIC.
+CRTSTUFF_T_CFLAGS_S =
+TARGET_LIBGCC2_CFLAGS =
+
+# Modify the shared lib version file
+SHLIB_MKMAP_OPTS = -v dotsyms=1
diff -urpN -x*~ -xCVS -xTAGS gcc-3.1/gcc/config.gcc gcc-3.1-patched/gcc/config.gcc
--- gcc-3.1/gcc/config.gcc	Thu Mar  7 22:30:05 2002
+++ gcc-3.1-patched/gcc/config.gcc	Thu Mar 21 09:36:38 2002
@@ -2677,7 +2677,7 @@ powerpc-*-openbsd*)
 powerpc64-*-linux*)
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux64.h"
 	out_file=rs6000/rs6000.c
-	tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
+	tmake_file="rs6000/t-rs6000 t-slibgcc-elf-ver t-linux rs6000/t-linux64"
 	;;
 powerpc64-*-gnu*)
 	tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h"
diff -urpN -x*~ -xCVS -xTAGS gcc-3.1/gcc/mklibgcc.in gcc-3.1-patched/gcc/mklibgcc.in
--- gcc-3.1/gcc/mklibgcc.in	Thu Mar  7 22:30:05 2002
+++ gcc-3.1-patched/gcc/mklibgcc.in	Wed Mar 20 16:54:22 2002
@@ -28,6 +28,7 @@
 # SHLIB_LINK
 # SHLIB_MULTILIB
 # SHLIB_MKMAP
+# SHLIB_MKMAP_OPTS
 # SHLIB_MAPFILES
 # SHLIB_NM_FLAGS
 # SHLIB_INSTALL
@@ -231,6 +232,7 @@ for file in $LIB2ADD_ST; do
 done
 
 # SHLIB_MKMAP
+# SHLIB_MKMAP_OPTS
 # SHLIB_MAPFILES
 for ml in $MULTILIBS; do
   dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
@@ -259,7 +261,7 @@ for ml in $MULTILIBS; do
     mapfile="libgcc.map"
     echo ""
     echo "${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_sh_objs"
-    echo '	{ $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; cat $SHLIB_MAPFILES; } | "'$(AWK)'" -f $SHLIB_MKMAP > "'tmp-$@'
+    echo '	{ $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; cat $SHLIB_MAPFILES; } | "'$(AWK)'" -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > "'tmp-$@'
     echo '	mv tmp-$@ $@'
   fi
   shlib_deps="$shlib_deps $mapfile"
diff -urpN -x*~ -xCVS -xTAGS gcc-3.1/gcc/mkmap-symver.awk gcc-3.1-patched/gcc/mkmap-symver.awk
--- gcc-3.1/gcc/mkmap-symver.awk	Thu Aug 23 23:05:55 2001
+++ gcc-3.1-patched/gcc/mkmap-symver.awk	Wed Mar 20 16:54:22 2002
@@ -92,7 +92,11 @@ function output(lib) {
   printf("  global:\n");
   for (sym in ver)
     if ((ver[sym] == lib) && (sym in def))
-      printf("\t%s;\n", sym);
+      {
+	printf("\t%s;\n", sym);
+	if (dotsyms)
+	  printf("\t.%s;\n", sym);
+      }
 
   if (inherit[lib])
     printf("} %s;\n", inherit[lib]);


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