diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/mklibgcc.in | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 626e9aa..0f6d632 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-10-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * mklibgcc.in: Don't hide undefined or typeless symbols. + 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR optimization/12142 diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in index ff29f75..28ea853 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 |