aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2000-10-21 01:47:05 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2000-10-20 21:47:05 -0400
commit0ad7574f933e754957d2df890bd84ba3ccea19ee (patch)
treeb037f49f5f9d87522cd6c42b9244b590f517ba4c /gcc/config
parentd73b0bcff3a087964a7aca5ffbf0be410a9922ae (diff)
downloadgcc-0ad7574f933e754957d2df890bd84ba3ccea19ee.zip
gcc-0ad7574f933e754957d2df890bd84ba3ccea19ee.tar.gz
gcc-0ad7574f933e754957d2df890bd84ba3ccea19ee.tar.bz2
Makefile.in (SHLIB_NM_FLAGS): New.
* Makefile.in (SHLIB_NM_FLAGS): New. (libgcc.mk): Pass it. * mklibgcc.in (libgcc.map): Use it. * rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS, SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New. From-SVN: r36989
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/t-aix4316
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/rs6000/t-aix43 b/gcc/config/rs6000/t-aix43
index 390afe6..7db8ae1 100644
--- a/gcc/config/rs6000/t-aix43
+++ b/gcc/config/rs6000/t-aix43
@@ -48,6 +48,22 @@ MULTILIB_MATCHES = mcpu?power=mpower \
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
+# Build a shared libgcc library.
+SHLIB_EXT = .a
+SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+ -Wl,-bE:@shlib_map_file@ -o @multilib_dir@/shr.o \
+ @multilib_flags@ @shlib_objs@ -lc \
+ `case @shlib_base_name@ in \
+ *pthread*) echo -L/usr/lib/threads -lpthreads -lc_r /usr/lib/libc.a ;; \
+ *) echo -lc ;; esac` ; \
+ rm -f tmp-@shlib_base_name@.a ; \
+ $(AR_CREATE_FOR_TARGET) tmp-@shlib_base_name@.a @multilib_dir@/shr.o ; \
+ mv tmp-@shlib_base_name@.a @shlib_base_name@.a ; \
+ rm -f @multilib_dir@/shr.o
+SHLIB_LIBS = -lc `case @shlib_base_name@ in *pthread*) echo -lpthread ;; esac`
+SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
+SHLIB_NM_FLAGS = -Bpg
# Both 32-bit and 64-bit objects in archives
AR_FLAGS_FOR_TARGET=-X32_64