diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-05-09 23:09:27 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2002-05-09 23:09:27 +0200 |
commit | 5aa26af0257ffd084b7a459093389360711ec9d2 (patch) | |
tree | 697aac5e7289f42bfa186df52d028e0c328708e0 /gcc | |
parent | 2937267b6a53ca3c5e1aa45339634c2901f844cb (diff) | |
download | gcc-5aa26af0257ffd084b7a459093389360711ec9d2.zip gcc-5aa26af0257ffd084b7a459093389360711ec9d2.tar.gz gcc-5aa26af0257ffd084b7a459093389360711ec9d2.tar.bz2 |
t-linux64 (SHLIB_MAPFILES): Set.
* config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
* config/sparc/libgcc-sparc-glibc.ver: New file.
* config/cris/t-linux (SHLIB_MAPFILES): Remove.
* mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
From-SVN: r53346
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/cris/t-linux | 4 | ||||
-rw-r--r-- | gcc/config/sparc/libgcc-sparc-glibc.ver | 28 | ||||
-rw-r--r-- | gcc/config/sparc/t-linux64 | 6 | ||||
-rw-r--r-- | gcc/mklibgcc.in | 5 |
5 files changed, 45 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 128d1a8..2a70177 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2002-05-09 Jakub Jelinek <jakub@redhat.com> + * config/sparc/t-linux64 (SHLIB_MAPFILES): Set. + * config/sparc/libgcc-sparc-glibc.ver: New file. + * config/cris/t-linux (SHLIB_MAPFILES): Remove. + * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags. + +2002-05-09 Jakub Jelinek <jakub@redhat.com> + PR target/6429 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc. * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s diff --git a/gcc/config/cris/t-linux b/gcc/config/cris/t-linux index 43c3acd..65c3000 100644 --- a/gcc/config/cris/t-linux +++ b/gcc/config/cris/t-linux @@ -1,6 +1,2 @@ TARGET_LIBGCC2_CFLAGS += -fPIC CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS) - -# Override t-slibgcc-elf-ver to export some libgcc symbols with -# the symbol versions that glibc used. -SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver diff --git a/gcc/config/sparc/libgcc-sparc-glibc.ver b/gcc/config/sparc/libgcc-sparc-glibc.ver new file mode 100644 index 0000000..e3ba0bb --- /dev/null +++ b/gcc/config/sparc/libgcc-sparc-glibc.ver @@ -0,0 +1,28 @@ +# In order to work around the very problems that force us to now generally +# create a libgcc.so, glibc reexported a number of routines from libgcc.a. +# By now choosing the same version tags for these specific routines, we +# maintain enough binary compatibility to allow future versions of glibc +# to defer implementation of these routines to libgcc.so via DT_AUXILIARY. + +%ifdef __arch64__ +%define GLIBC_VER GLIBC_2.2 +%else +%define GLIBC_VER GLIBC_2.0 +%endif +%inherit GCC_3.0 GLIBC_VER +GLIBC_VER { + # Sampling of DImode arithmetic used by (at least) i386 and m68k. + __divdi3 + __moddi3 + __udivdi3 + __umoddi3 + + # Exception handling support functions used by most everyone. + __register_frame + __register_frame_table + __deregister_frame + __register_frame_info + __deregister_frame_info + __frame_state_for + __register_frame_info_table +} diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64 index d8dedc5..c93ff25 100644 --- a/gcc/config/sparc/t-linux64 +++ b/gcc/config/sparc/t-linux64 @@ -10,3 +10,9 @@ INSTALL_LIBGCC = install-multilib EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o SHLIB_SLIBDIR_SUFFIXES = 64:64 32: + +# Override t-slibgcc-elf-ver to export some libgcc symbols with +# the symbol versions that glibc used. +# Avoid the t-linux version file. +SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \ + $(srcdir)/config/sparc/libgcc-sparc-glibc.ver diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in index 06c2ec0..c5db6f0 100644 --- a/gcc/mklibgcc.in +++ b/gcc/mklibgcc.in @@ -263,7 +263,10 @@ for ml in $MULTILIBS; do tmpmapfile="libgcc/${dir}/tmp-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 $SHLIB_MKMAP_OPTS > ${tmpmapfile}" + echo ' { $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; \\" + echo " cat $SHLIB_MAPFILES | sed -e "'"/^[ ]*#/d" -e '\''s/^%\(if\|else\|elif\|endif\|define\)/#\1/'\'" \\" + echo " | $gcc_compile $flags -E -xassembler-with-cpp -; \\" + echo ' } | $(AWK)'" -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > ${tmpmapfile}" echo ' mv '"$tmpmapfile"' $@' fi shlib_deps="$shlib_deps $mapfile" |