diff options
author | andreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-19 05:17:15 +0000 |
---|---|---|
committer | andreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-19 05:17:15 +0000 |
commit | a27aa522d2be455b233950d0339d52a439bc8b4b (patch) | |
tree | f721a037453a46f18b8d6cf377a223d4ee88790c /gcc/config | |
parent | 25f2d43f929b844f2f16d9a8dd96d320c325ff07 (diff) | |
download | gcc-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-darwin | 2 | ||||
-rw-r--r-- | gcc/config/t-darwin | 2 | ||||
-rw-r--r-- | gcc/config/t-slibgcc-darwin | 30 |
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 |