Subject: More libgcc
To: None <tech-toolchain@netbsd.org>
From: Nick Hudson <skrll@netbsd.org>
List: tech-toolchain
Date: 06/18/2004 08:49:28
--Boundary-00=_I6p0AgIzVJZfkJw
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
We have diverged from stock gcc in the way that libgcc_s.so is built in that
stock gcc uses symbol versioning. This exposed a problem for sh3 where a
couple of integer support functions were available that couldn't be called
via a PLT. We have a solution to this in place atm, but I'd like to replace
it with the symbol versioning trick.
sh3 requires its own libgcc-std.ver to remove the functions (libgcc-std.ver).
A similar fix has been included in gcc 3.4 and will be queued for 3.3.x.
I (again) haven't bumped libgcc_s.so major number as I didn't feel it
necessary for the symbols removed (example included)
Comments?
Nick
--Boundary-00=_I6p0AgIzVJZfkJw
Content-Type: text/x-diff;
charset="us-ascii";
name="libgcc.diffs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="libgcc.diffs"
Index: gnu/dist/gcc/gcc/config/sh/t-netbsd
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc/gcc/config/sh/t-netbsd,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 t-netbsd
--- gnu/dist/gcc/gcc/config/sh/t-netbsd 23 Jul 2003 02:41:58 -0000 1.1.1.1
+++ gnu/dist/gcc/gcc/config/sh/t-netbsd 18 Jun 2004 06:55:59 -0000
@@ -1,6 +1,10 @@
TARGET_LIBGCC2_CFLAGS = -fpic
LIB1ASMFUNCS_CACHE = _ic_invalidate
+# Use sh specific libgcc-std.ver to avoid exporting some
+# lib1func routines which shoud not be called via PLT.
+SHLIB_MAPFILES = $(srcdir)/config/sh/libgcc-std.ver
+
LIB2FUNCS_EXTRA=
EXTRA_MULTILIB_PARTS=
Index: gnu/lib/libgcc3/arch/alpha.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/alpha.mk,v
retrieving revision 1.3
diff -u -r1.3 alpha.mk
--- gnu/lib/libgcc3/arch/alpha.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/alpha.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -mieee -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h alpha/alpha.h netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h defaults.h
Index: gnu/lib/libgcc3/arch/arm.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/arm.mk,v
retrieving revision 1.3
diff -u -r1.3 arm.mk
--- gnu/lib/libgcc3/arch/arm.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/arm.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fomit-frame-pointer -fpic -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/armeb.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/armeb.mk,v
retrieving revision 1.5
diff -u -r1.5 armeb.mk
--- gnu/lib/libgcc3/arch/armeb.mk 19 Feb 2004 08:11:31 -0000 1.5
+++ gnu/lib/libgcc3/arch/armeb.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fomit-frame-pointer -fpic -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_ENDIAN_DEFAULT=ARM_FLAG_BIG_END
G_xm_file=ansidecl.h dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/hppa.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/hppa.mk,v
retrieving revision 1.4
diff -u -r1.4 hppa.mk
--- gnu/lib/libgcc3/arch/hppa.mk 30 Apr 2004 08:15:47 -0000 1.4
+++ gnu/lib/libgcc3/arch/hppa.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -DELF=1 -DNETBSD=1 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h pa/pa.h dbxelf.h elfos.h svr4.h netbsd.h netbsd-elf.h pa/pa-netbsd.h pa/pa32-regs.h pa/pa32-netbsd.h defaults.h
Index: gnu/lib/libgcc3/arch/i386.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/i386.mk,v
retrieving revision 1.3
diff -u -r1.3 i386.mk
--- gnu/lib/libgcc3/arch/i386.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/i386.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/i386/mmintrin.h ${GNUHOSTDIST}/gcc/config/i386/xmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/emmintrin.h ${GNUHOSTDIST}/gcc/config/i386/pmmintrin.h
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/m68000.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/m68000.mk,v
retrieving revision 1.3
diff -u -r1.3 m68000.mk
--- gnu/lib/libgcc3/arch/m68000.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/m68000.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/m68k/math-68881.h
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h m68k/m68k.h dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/m68k.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/m68k.mk,v
retrieving revision 1.3
diff -u -r1.3 m68k.mk
--- gnu/lib/libgcc3/arch/m68k.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/m68k.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/m68k/math-68881.h
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h m68k/m68k.h dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/mipseb.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/mipseb.mk,v
retrieving revision 1.3
diff -u -r1.3 mipseb.mk
--- gnu/lib/libgcc3/arch/mipseb.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/mipseb.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h elfos.h mips/mips.h mips/netbsd.h defaults.h
Index: gnu/lib/libgcc3/arch/mipsel.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/mipsel.mk,v
retrieving revision 1.3
diff -u -r1.3 mipsel.mk
--- gnu/lib/libgcc3/arch/mipsel.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/mipsel.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=TARGET_ENDIAN_DEFAULT=0 NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h elfos.h mips/mips.h mips/netbsd.h defaults.h
Index: gnu/lib/libgcc3/arch/ns32k.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/ns32k.mk,v
retrieving revision 1.3
diff -u -r1.3 ns32k.mk
--- gnu/lib/libgcc3/arch/ns32k.mk 14 Feb 2004 08:39:07 -0000 1.3
+++ gnu/lib/libgcc3/arch/ns32k.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h ns32k/ns32k.h netbsd.h netbsd-aout.h ns32k/netbsd.h defaults.h
Index: gnu/lib/libgcc3/arch/powerpc.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/powerpc.mk,v
retrieving revision 1.3
diff -u -r1.3 powerpc.mk
--- gnu/lib/libgcc3/arch/powerpc.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/powerpc.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/rs6000/ppc-asm.h ${GNUHOSTDIST}/gcc/config/rs6000/altivec.h ${GNUHOSTDIST}/gcc/config/rs6000/spe.h
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h rs6000/rs6000.h dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h defaults.h
Index: gnu/lib/libgcc3/arch/sh3eb.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sh3eb.mk,v
retrieving revision 1.2
diff -u -r1.2 sh3eb.mk
--- gnu/lib/libgcc3/arch/sh3eb.mk 12 Feb 2004 22:34:57 -0000 1.2
+++ gnu/lib/libgcc3/arch/sh3eb.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fpic -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/config/sh/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h sh/sh.h dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/sh3el.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sh3el.mk,v
retrieving revision 1.3
diff -u -r1.3 sh3el.mk
--- gnu/lib/libgcc3/arch/sh3el.mk 12 Feb 2004 22:34:57 -0000 1.3
+++ gnu/lib/libgcc3/arch/sh3el.mk 18 Jun 2004 06:56:39 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fpic -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/config/sh/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h sh/little.h sh/sh.h dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/sh5el.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sh5el.mk,v
retrieving revision 1.3
diff -u -r1.3 sh5el.mk
--- gnu/lib/libgcc3/arch/sh5el.mk 17 Mar 2004 09:02:06 -0000 1.3
+++ gnu/lib/libgcc3/arch/sh5el.mk 18 Jun 2004 06:56:40 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fpic -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h sh/little.h sh/sh.h dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/sparc.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sparc.mk,v
retrieving revision 1.3
diff -u -r1.3 sparc.mk
--- gnu/lib/libgcc3/arch/sparc.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/sparc.mk 18 Jun 2004 06:56:40 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/sparc64.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sparc64.mk,v
retrieving revision 1.3
diff -u -r1.3 sparc64.mk
--- gnu/lib/libgcc3/arch/sparc64.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/sparc64.mk 18 Jun 2004 06:56:40 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h sparc/biarch64.h sparc/sparc.h dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/x86_64.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/x86_64.mk,v
retrieving revision 1.3
diff -u -r1.3 x86_64.mk
--- gnu/lib/libgcc3/arch/x86_64.mk 11 Feb 2004 16:22:51 -0000 1.3
+++ gnu/lib/libgcc3/arch/x86_64.mk 18 Jun 2004 06:56:40 -0000
@@ -12,6 +12,10 @@
G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
G_USE_COLLECT2=collect2
+G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
+G_SHLIB_MKMAP_OPTS=
+G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
+G_SHLIB_NM_FLAGS=-pg
G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/i386/mmintrin.h ${GNUHOSTDIST}/gcc/config/i386/xmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/emmintrin.h ${GNUHOSTDIST}/gcc/config/i386/pmmintrin.h
G_tm_defines=NETBSD_ENABLE_PTHREADS
G_xm_file=ansidecl.h i386/biarch64.h i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h defaults.h
Index: gnu/lib/libgcc3/libgcc_s/Makefile
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/libgcc_s/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
--- gnu/lib/libgcc3/libgcc_s/Makefile 28 Apr 2004 01:44:59 -0000 1.6
+++ gnu/lib/libgcc3/libgcc_s/Makefile 18 Jun 2004 06:56:40 -0000
@@ -21,32 +21,32 @@
SHLIB_MINOR= 0
LDFLAGS+= -nodefaultlibs
-#LDFLAGS+= -Wl,--version-script=${DIST}/libgcc/libgcc.map
+LDFLAGS+= -Wl,--version-script=libgcc.map
SRCS+= ${LIB2FUNCS} ${LIB2DIVMOD} ${LIB2_EH} \
${G_LIB2ADD:T:S/.asm/.S/} ${LIB1ASMFUNCS}
-.include <bsd.lib.mk>
-
-.if ${MACHINE_CPU} == "sh3"
-# make sure the millicode is not externally visible
+DPADD+= libgcc.map
+CLEANFILES+= libgcc.map
-CLEANFILES+= ${SOBJS:=.tmp1} ${SOBJS:=.tmp2}
+.include <bsd.lib.mk>
-.S.so .s.so:
- ${_MKTARGET_COMPILE}
- ${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${.IMPSRC} -o ${.TARGET}.tmp1
- ${NM} -pg ${.TARGET}.tmp1 | ${AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \
- ${CC} -Wl,-x -r -nostdinc -nostdlib -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler -
-.if defined(COPTS) && !empty(COPTS:M*-g*)
- mv ${.TARGET}.tmp2 ${.TARGET}
+.if ${MKPICLIB} != "no"
+LIBGCC_S_OBJS= ${SOBJS}
.else
- ${LD} -x -r ${.TARGET}.tmp2 -o ${.TARGET}
- rm -f ${.TARGET}.tmp2
-.endif
- rm -f ${.TARGET}.tmp1
+LIBGCC_S_OBJS= ${OBJS}
.endif
+libgcc.map: ${LIBGCC_S_OBJS} ${G_SHLIB_MKMAP} ${G_SHLIB_MAPFILES}
+ { \
+ ${NM} ${G_SHLIB_NM_FLAGS} ${LIBGCC_S_OBJS}; \
+ echo %%; \
+ cat ${G_SHLIB_MAPFILES} | \
+ sed -e "/^[ ]*#/d" -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' | \
+ ${CC} ${G_LIBGCC2_CFLAGS} ${G_INCLUDES} -E -xassembler-with-cpp -; \
+ } | ${AWK} -f ${G_SHLIB_MKMAP} > ${.TARGET}.tmp
+ mv ${.TARGET}.tmp ${.TARGET}
+
.else
.include <bsd.prog.mk> # do nothing
.endif
Index: tools/gcc/mknative-gcc
===================================================================
RCS file: /cvsroot/src/tools/gcc/mknative-gcc,v
retrieving revision 1.12
diff -u -r1.12 mknative-gcc
--- tools/gcc/mknative-gcc 10 Feb 2004 09:37:58 -0000 1.12
+++ tools/gcc/mknative-gcc 18 Jun 2004 06:57:31 -0000
@@ -48,6 +48,8 @@
LIB1ASMFUNCS LIB1ASMSRC \
LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \
LIBGCC2_CFLAGS USE_COLLECT2 \
+ SHLIB_MKMAP SHLIB_MKMAP_OPTS \
+ SHLIB_MAPFILES SHLIB_NM_FLAGS \
EXTRA_HEADERS \
tm_defines xm_file xm_defines \
| write_mk gnu/lib/libgcc3/arch/$MACHINE_ARCH.mk
--Boundary-00=_I6p0AgIzVJZfkJw
Content-Type: text/plain;
charset="us-ascii";
name="libgcc-std.ver"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="libgcc-std.ver"
GCC_3.0 {
# libgcc1 integer symbols
__absvsi2
__addvsi3
#__ashlsi3
#__ashrsi3
__divsi3
#__lshrsi3
__modsi3
__mulsi3
__mulvsi3
__negvsi2
__subvsi3
#__udivsi3
__umodsi3
# libgcc1 floating point symbols
__addsf3
__adddf3
__addxf3
__addtf3
__divsf3
__divdf3
__divxf3
__divtf3
__eqsf2
__eqdf2
__eqxf2
__eqtf2
__extenddfxf2
__extenddftf2
__extendsfdf2
__extendsfxf2
__extendsftf2
__fixsfsi
__fixdfsi
__fixxfsi
__fixtfsi
__floatsisf
__floatsidf
__floatsixf
__floatsitf
__gesf2
__gedf2
__gexf2
__getf2
__gtsf2
__gtdf2
__gtxf2
__gttf2
__lesf2
__ledf2
__lexf2
__letf2
__ltsf2
__ltdf2
__ltxf2
__lttf2
__mulsf3
__muldf3
__mulxf3
__multf3
__negsf2
__negdf2
__negxf2
__negtf2
__nesf2
__nedf2
__nexf2
__netf2
__subsf3
__subdf3
__subxf3
__subtf3
__truncdfsf2
__truncxfsf2
__trunctfsf2
__truncxfdf2
__trunctfdf2
# libgcc2 DImode arithmetic (for 32-bit targets).
__absvdi2
__addvdi3
__ashldi3
__ashrdi3
__cmpdi2
__divdi3
__ffsdi2
__fixdfdi
__fixsfdi
__fixtfdi
__fixxfdi
__fixunsdfdi
__fixunsdfsi
__fixunssfsi
__fixunssfdi
__fixunstfdi
__fixunstfsi
__fixunsxfdi
__fixunsxfsi
__floatdidf
__floatdisf
__floatdixf
__floatditf
__lshrdi3
__moddi3
__muldi3
__mulvdi3
__negdi2
__negvdi2
__subvdi3
__ucmpdi2
__udivdi3
__udivmoddi4
__umoddi3
# libgcc2 TImode arithmetic (for 64-bit targets).
__ashlti3
__ashrti3
__cmpti2
__divti3
__ffsti2
__fixdfti
__fixsfti
__fixtfti
__fixxfti
__lshrti3
__modti3
__multi3
__negti2
__ucmpti2
__udivmodti4
__udivti3
__umodti3
__fixunsdfti
__fixunssfti
__fixunstfti
__fixunsxfti
__floattidf
__floattisf
__floattixf
__floattitf
# Used to deal with trampoline initialization on some platforms
__clear_cache
# EH symbols
_Unwind_DeleteException
_Unwind_Find_FDE
_Unwind_ForcedUnwind
_Unwind_GetGR
_Unwind_GetIP
_Unwind_GetLanguageSpecificData
_Unwind_GetRegionStart
_Unwind_GetTextRelBase
_Unwind_GetDataRelBase
_Unwind_RaiseException
_Unwind_Resume
_Unwind_SetGR
_Unwind_SetIP
__deregister_frame
__deregister_frame_info
__deregister_frame_info_bases
__register_frame
__register_frame_info
__register_frame_info_bases
__register_frame_info_table
__register_frame_info_table_bases
__register_frame_table
# SjLj EH symbols
_Unwind_SjLj_Register
_Unwind_SjLj_Unregister
_Unwind_SjLj_RaiseException
_Unwind_SjLj_ForcedUnwind
_Unwind_SjLj_Resume
}
%inherit GCC_3.3 GCC_3.0
GCC_3.3 {
_Unwind_FindEnclosingFunction
_Unwind_GetCFA
_Unwind_Backtrace
_Unwind_Resume_or_Rethrow
_Unwind_SjLj_Resume_or_Rethrow
}
%inherit GCC_3.3.1 GCC_3.3
GCC_3.3.1 {
__gcc_personality_sj0
__gcc_personality_v0
}
%inherit GCC_3.3.2 GCC_3.3.1
GCC_3.3.2 {
}
--Boundary-00=_I6p0AgIzVJZfkJw
Content-Type: text/x-diff;
charset="us-ascii";
name="i386.libgcc_s.so.1.0.symdiffs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="i386.libgcc_s.so.1.0.symdiffs"
--- i386.libgcc_s.so.1.0.nonversioned.syms 2004-06-18 07:38:56.000000000 +0100
+++ i386.libgcc_s.so.1.0.syms 2004-06-18 07:38:56.000000000 +0100
@@ -1,9 +1,6 @@
-A _DYNAMIC
-A _GLOBAL_OFFSET_TABLE_
-A __bss_start
-A _edata
-A _end
-R __clz_tab
+A GCC_3.0
+A GCC_3.3
+A GCC_3.3.1
T _Unwind_Backtrace
T _Unwind_DeleteException
T _Unwind_FindEnclosingFunction
@@ -33,7 +30,6 @@
T __deregister_frame_info
T __deregister_frame_info_bases
T __divdi3
-T __enable_execute_stack
T __ffsdi2
T __fixdfdi
T __fixsfdi
@@ -47,7 +43,6 @@
T __floatdidf
T __floatdisf
T __floatdixf
-T __frame_state_for
T __gcc_personality_v0
T __lshrdi3
T __moddi3
@@ -66,19 +61,27 @@
T __subvdi3
T __subvsi3
T __ucmpdi2
-T __udiv_w_sdiv
T __udivdi3
T __udivmoddi4
T __umoddi3
-T _fini
-T _init
U __sysctl
U abort
U free
U malloc
U memcpy
U mprotect
+a _DYNAMIC
+a _GLOBAL_OFFSET_TABLE_
+a __bss_start
+a _edata
+a _end
d __dso_handle
+r __clz_tab
+t __enable_execute_stack
+t __frame_state_for
+t __udiv_w_sdiv
+t _fini
+t _init
w _Jv_RegisterClasses
w __cxa_finalize
w pthread_create
--Boundary-00=_I6p0AgIzVJZfkJw--