aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2024-07-01 09:02:10 +0930
committerAlan Modra <amodra@gmail.com>2024-07-01 11:04:31 +0930
commit79674bfc369e793b0b53cc0dc09a3fcfdbdf158a (patch)
treed44d0fe812743144adba95274f43bfa926d76c95
parentd65111ff0a4bf2a7bcc37c4580089bf4ff161b0c (diff)
downloadgdb-79674bfc369e793b0b53cc0dc09a3fcfdbdf158a.zip
gdb-79674bfc369e793b0b53cc0dc09a3fcfdbdf158a.tar.gz
gdb-79674bfc369e793b0b53cc0dc09a3fcfdbdf158a.tar.bz2
PR31941 objcopy --globalize-symbol
I think FILE symbols are special, and I can't see why anyone would want them to be made global. The fact that no one has reported this bug since commit 7b4a0685e80a in 2005 supports that claim. PR 31941 * objcopy.c (filter_symbols): Don't allow BSF_FILE symbols to be made global.
-rw-r--r--binutils/objcopy.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index f54ae73..5fb33b5 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -1743,6 +1743,7 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms,
else if (!undefined
&& (flags & BSF_LOCAL)
+ && !(flags & BSF_FILE)
&& is_specified_symbol (name, globalize_specific_htab))
{
flags &= ~BSF_LOCAL;