config.gcc (powerpc-*-darwin*): Add libgcc build specification file.

2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* config/config.gcc (powerpc-*-darwin*): Add libgcc build
	specification file.
	* config/t-slibgcc-darwin: New file, libgcc build specification.
	* config/t-darwin: Add libgcc2 flag -fPIC.
	* config/rs6000/t-darwin: Multilib matches float.
	* libgcc-darwin.ver: New file, contains libgcc symbols.

From-SVN: r73728
This commit is contained in:
Andreas Tobler 2003-11-19 06:17:15 +01:00 committed by Andreas Tobler
parent 5153e857f7
commit f7a75b82d2
6 changed files with 257 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
* config/config.gcc (powerpc-*-darwin*): Add libgcc build
specification file.
* config/t-slibgcc-darwin: New file, libgcc build specification.
* config/t-darwin: Add libgcc2 flag -fPIC.
* config/rs6000/t-darwin: Multilib matches float.
* libgcc-darwin.ver: New file, contains libgcc symbols.
2003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
* config/ns32k/ns32k.h: Remove obsolete comment.

View File

@ -1653,7 +1653,7 @@ powerpc-*-beos*)
;;
powerpc-*-darwin*)
tm_file="${tm_file} rs6000/darwin.h"
tmake_file="t-darwin rs6000/t-darwin"
tmake_file="t-darwin t-slibgcc-darwin rs6000/t-darwin"
extra_headers=altivec.h
# override ppc default
need_64bit_hwint=

View File

@ -1,2 +1,4 @@
# Library code must include trampoline support.
LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-tramp.asm
# Multilib options
MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT}

View File

@ -20,3 +20,5 @@ $(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-darwin.c \
$(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
TARGET_LIBGCC2_CFLAGS = -fPIC

View File

@ -0,0 +1,30 @@
# Build a shared libgcc library with the darwin linker.
SHLIB_MINOR = 1
SHLIB_REVISION = 0
SHLIB_VERSTRING = -compatibility_version $(SHLIB_MINOR) -current_version $(SHLIB_MINOR).$(SHLIB_REVISION)
SHLIB_EXT = .dylib
SHLIB_SOLINK = @shlib_base_name@.dylib
SHLIB_SONAME = @shlib_so_name@.$(SHLIB_MINOR).$(SHLIB_REVISION).dylib
SHLIB_NAME = @shlib_dir@@shlib_so_name@.$(SHLIB_MINOR).$(SHLIB_REVISION).dylib
SHLIB_MAP = @shlib_map_file@
SHLIB_OBJS = @shlib_objs@
SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
-Wl,-install_name,$(SHLIB_SONAME) \
-Wl,-flat_namespace -o $(SHLIB_NAME) \
$(SHLIB_VERSTRING) \
@multilib_flags@ $(SHLIB_OBJS) -lc && \
rm -f $(SHLIB_SOLINK) && \
$(LN_S) $(SHLIB_NAME) $(SHLIB_SOLINK)
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
SHLIB_INSTALL = \
$$(SHELL) $$(srcdir)/mkinstalldirs $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
$(INSTALL_DATA) $(SHLIB_NAME) \
$$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
$(LN_S) $(SHLIB_SONAME) \
$$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-darwin.ver

213
gcc/libgcc-darwin.ver Normal file
View File

@ -0,0 +1,213 @@
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 {
}
%inherit GCC_3.4 GCC_3.3
GCC_3.4 {
# bit scanning and counting built-ins
___clzsi2
___clzdi2
___clzti2
___ctzsi2
___ctzdi2
___ctzti2
___popcountsi2
___popcountdi2
___popcountti2
___paritysi2
___paritydi2
___parityti2
}