summaryrefslogtreecommitdiff
path: root/gcc/mklibgcc.in
diff options
context:
space:
mode:
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2003-10-08 18:12:36 +0000
committerRainer Orth <ro@gcc.gnu.org>2003-10-08 18:12:36 +0000
commit63cdad1bb3034d2a92c95658cd625acdc830b7af (patch)
tree2e864eed6fb2ec8a086f03313746bc18f768555f /gcc/mklibgcc.in
parent9ab81df26115cdf383adc130c78074aa48a45ae2 (diff)
downloadgcc-63cdad1bb3034d2a92c95658cd625acdc830b7af.tar.gz
* mklibgcc.in: Don't hide undefined or typeless symbols.
From-SVN: r72235
Diffstat (limited to 'gcc/mklibgcc.in')
-rw-r--r--gcc/mklibgcc.in4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in
index ff29f752f15..28ea8532fa7 100644
--- a/gcc/mklibgcc.in
+++ b/gcc/mklibgcc.in
@@ -347,7 +347,9 @@ EOF
# .oS objects will have all non-local symbol definitions .hidden
oS=`echo ${o} | sed s~${objext}'$~.oS~g'`
echo "${oS}: stmp-dirs libgcc/${dir}/stacknote.s ${o}"
- echo ' ( $(NM_FOR_TARGET) '${SHLIB_NM_FLAGS} ${o}' | $(AWK) '\''NF == 3 { print "\t.hidden", $$3 }'\''; cat libgcc/${dir}/stacknote.s ) | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) '${flags}' -r -nostdinc -nostdlib -o $@ '${o}' -xassembler -'
+ # non-GNU nm emits three fields even for undefined and typeless symbols,
+ # so explicitly omit them
+ echo ' ( $(NM_FOR_TARGET) '${SHLIB_NM_FLAGS} ${o}' | $(AWK) '\''NF == 3 && $$2 !~ /^[UN]$$/ { print "\t.hidden", $$3 }'\''; cat libgcc/${dir}/stacknote.s ) | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) '${flags}' -r -nostdinc -nostdlib -o $@ '${o}' -xassembler -'
libgcc_a_objs="${libgcc_a_objs} ${oS}"
done
fi