diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-09 21:09:27 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-09 21:09:27 +0000 |
commit | 3c35edaa518dff0140b41a92386bdef5450b8840 (patch) | |
tree | 697aac5e7289f42bfa186df52d028e0c328708e0 /gcc | |
parent | 6af61abe034ab1a1025075ea23b7cff888cefbe4 (diff) | |
download | gcc-3c35edaa518dff0140b41a92386bdef5450b8840.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53346 138bc75d-0d04-0410-961f-82ee72b054a4
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 128d1a87f38..2a70177693e 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 43c3acd2ebb..65c3000ef00 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 00000000000..e3ba0bbdb65 --- /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 d8dedc542bd..c93ff25a3ff 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 06c2ec0134e..c5db6f0a039 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" |