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: r51154
This commit is contained in:
Alan Modra 2002-03-22 00:57:15 +00:00 committed by Alan Modra
parent 1d0f830650
commit 8b02caa12d
4 changed files with 12 additions and 2 deletions

View File

@ -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>

View File

@ -999,6 +999,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' \

View File

@ -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"

View File

@ -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]);