Index: t-ppccomm =================================================================== RCS file: /cvsroot/gcc/gcc/gcc/config/rs6000/t-ppccomm,v retrieving revision 1.15 diff -u -p -r1.15 t-ppccomm --- t-ppccomm 19 Feb 2002 19:40:41 -0000 1.15 +++ t-ppccomm 2 Aug 2002 22:59:16 -0000 @@ -1,10 +1,14 @@ # Common support for PowerPC ELF targets (both EABI and SVR4). -LIB2FUNCS_EXTRA = tramp.S +LIB2FUNCS_EXTRA = tramp.S vers.S # This one can't end up in shared libgcc LIB2FUNCS_STATIC_EXTRA = eabi.S +# Override t-slibgcc-elf-ver to export some libgcc symbols with +# the symbol versions that glibc used. +SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-glibc.ver + # We want fine grained libraries, so use the new code to build the # floating point emulation libraries. FPBIT = fp-bit.c @@ -23,6 +27,9 @@ eabi.S: $(srcdir)/config/rs6000/eabi.asm tramp.S: $(srcdir)/config/rs6000/tramp.asm cat $(srcdir)/config/rs6000/tramp.asm > tramp.S + +vers.S: $(srcdir)/config/rs6000/vers.asm + cat $(srcdir)/config/rs6000/vers.asm > vers.S # Switch synonyms MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \ --- /dev/null Thu Oct 4 06:30:44 2001 +++ libgcc-glibc.ver Fri Aug 2 15:41:44 2002 @@ -0,0 +1,19 @@ +# 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. + +%inherit GCC_3.0 GLIBC_2.0 + +GLIBC_2.0 { + #__divdi3 + # 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 +} --- /dev/null Thu Oct 4 06:30:44 2001 +++ vers.asm Fri Aug 2 16:01:52 2002 @@ -0,0 +1,37 @@ + .file "vers.asm" + .section ".text" + + .align 2 + .globl __divdi3_v_glibc20 + .type __divdi3_v_glibc20,@function +__divdi3_v_glibc20: + b __divdi3@local +.Lfe1: + .size __divdi3_v_glibc20,.Lfe1-__divdi3_v_glibc20 + + .globl __udivdi3_v_glibc20 + .type __udivdi3_v_glibc20,@function +__udivdi3_v_glibc20: + b __udivdi3@local +.Lfe2: + .size __udivdi3_v_glibc20,.Lfe2-__udivdi3_v_glibc20 + + .globl __moddi3_v_glibc20 + .type __moddi3_v_glibc20,@function +__moddi3_v_glibc20: + b __moddi3@local +.Lfe3: + .size __moddi3_v_glibc20,.Lfe3-__moddi3_v_glibc20 + + .globl __umoddi3_v_glibc20 + .type __umoddi3_v_glibc20,@function +__umoddi3_v_glibc20: + b __umoddi3@local +.Lfe4: + .size __umoddi3_v_glibc20,.Lfe4-__umoddi3_v_glibc20 + + .symver __divdi3_v_glibc20,__divdi3@GLIBC_2.0 + .symver __udivdi3_v_glibc20,__udivdi3@GLIBC_2.0 + .symver __moddi3_v_glibc20,__moddi3@GLIBC_2.0 + .symver __umoddi3_v_glibc20,__umoddi3@GLIBC_2.0 +