aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-03-22 00:55:35 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-03-22 11:25:35 +1030
commitbac015e7922ccedbaeab8ab7bef539ddddd93c19 (patch)
tree4d01fdf916779de9bd2bbbf97797dea6b7e817a7
parent2a78758be56e2dd7d3645219ca3d0d25f648ba2b (diff)
downloadgcc-bac015e7922ccedbaeab8ab7bef539ddddd93c19.zip
gcc-bac015e7922ccedbaeab8ab7bef539ddddd93c19.tar.gz
gcc-bac015e7922ccedbaeab8ab7bef539ddddd93c19.tar.bz2
mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
* mklibgcc.in (SHLIB_MKMAP_OPTS): New variable. * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo. * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc. From-SVN: r51153
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/Makefile.in1
-rw-r--r--gcc/mklibgcc.in4
-rw-r--r--gcc/mkmap-symver.awk6
4 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e212e2c..9939009 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -4,6 +4,9 @@
* config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
t-ppccomm. Use t-rs6000 and t-linux64.
(powerpc64-*-gnu* <tmake_file>): Likewise.
+ * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
+ * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
+ * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2002-03-21 Aldy Hernandez <aldyh@redhat.com>
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 2a9df49..1b2e215 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1000,6 +1000,7 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext
SHLIB_EXT='$(SHLIB_EXT)' \
SHLIB_MULTILIB='$(SHLIB_MULTILIB)' \
SHLIB_MKMAP='$(SHLIB_MKMAP)' \
+ SHLIB_MKMAP_OPTS='$(SHLIB_MKMAP_OPTS)' \
SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \
SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in
index 3d743b1..a69f348 100644
--- a/gcc/mklibgcc.in
+++ b/gcc/mklibgcc.in
@@ -28,6 +28,7 @@
# SHLIB_LINK
# SHLIB_MULTILIB
# SHLIB_MKMAP
+# SHLIB_MKMAP_OPTS
# SHLIB_MAPFILES
# SHLIB_NM_FLAGS
# SHLIB_INSTALL
@@ -231,6 +232,7 @@ for file in $LIB2ADD_ST; do
done
# SHLIB_MKMAP
+# SHLIB_MKMAP_OPTS
# SHLIB_MAPFILES
for ml in $MULTILIBS; do
dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
@@ -259,7 +261,7 @@ for ml in $MULTILIBS; do
mapfile="libgcc.map"
echo ""
echo "${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_sh_objs"
- echo ' { $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; cat $SHLIB_MAPFILES; } | "'$(AWK)'" -f $SHLIB_MKMAP > "'tmp-$@'
+ echo ' { $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; cat $SHLIB_MAPFILES; } | "'$(AWK)'" -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > "'tmp-$@'
echo ' mv tmp-$@ $@'
fi
shlib_deps="$shlib_deps $mapfile"
diff --git a/gcc/mkmap-symver.awk b/gcc/mkmap-symver.awk
index c6e3533..51b6df2 100644
--- a/gcc/mkmap-symver.awk
+++ b/gcc/mkmap-symver.awk
@@ -92,7 +92,11 @@ function output(lib) {
printf(" global:\n");
for (sym in ver)
if ((ver[sym] == lib) && (sym in def))
- printf("\t%s;\n", sym);
+ {
+ printf("\t%s;\n", sym);
+ if (dotsyms)
+ printf("\t.%s;\n", sym);
+ }
if (inherit[lib])
printf("} %s;\n", inherit[lib]);