summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-19 05:17:15 +0000
committerandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-19 05:17:15 +0000
commita27aa522d2be455b233950d0339d52a439bc8b4b (patch)
treef721a037453a46f18b8d6cf377a223d4ee88790c /gcc/config
parent25f2d43f929b844f2f16d9a8dd96d320c325ff07 (diff)
downloadgcc-a27aa522d2be455b233950d0339d52a439bc8b4b.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73728 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/t-darwin2
-rw-r--r--gcc/config/t-darwin2
-rw-r--r--gcc/config/t-slibgcc-darwin30
3 files changed, 34 insertions, 0 deletions
diff --git a/gcc/config/rs6000/t-darwin b/gcc/config/rs6000/t-darwin
index 7aca023302f..0f3bc4ad094 100644
--- a/gcc/config/rs6000/t-darwin
+++ b/gcc/config/rs6000/t-darwin
@@ -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}
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index 8743fc1fa6d..a7076ab295d 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -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
diff --git a/gcc/config/t-slibgcc-darwin b/gcc/config/t-slibgcc-darwin
new file mode 100644
index 00000000000..3241d3fb5ca
--- /dev/null
+++ b/gcc/config/t-slibgcc-darwin
@@ -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