From bac015e7922ccedbaeab8ab7bef539ddddd93c19 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 22 Mar 2002 00:55:35 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 3 +++ gcc/Makefile.in | 1 + gcc/mklibgcc.in | 4 +++- gcc/mkmap-symver.awk | 6 +++++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e212e2c19445..9939009e6086 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -4,6 +4,9 @@ * config.gcc (powerpc64-*-linux* ): Drop t-ppcos and t-ppccomm. Use t-rs6000 and t-linux64. (powerpc64-*-gnu* ): 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 diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 2a9df4901fae..1b2e215f43e9 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 3d743b15a39d..a69f3489a70d 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 c6e3533f531b..51b6df28ca73 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]);