diff options
author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-08 18:12:36 +0000 |
---|---|---|
committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-08 18:12:36 +0000 |
commit | 646852526cffe6ff8f73689cac85ce356bb9120e (patch) | |
tree | 2e864eed6fb2ec8a086f03313746bc18f768555f /gcc/mklibgcc.in | |
parent | f9c1ba9dc7fec7ebfcf8a35c5bcc19ad96cb7323 (diff) | |
download | gcc-646852526cffe6ff8f73689cac85ce356bb9120e.tar.gz |
* mklibgcc.in: Don't hide undefined or typeless symbols.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72235 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/mklibgcc.in')
-rw-r--r-- | gcc/mklibgcc.in | 4 |
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 |