This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Accept hidden COFF symbols, but treat them as if they were debugging symbols.
- From: Nick Clifton <nickc at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 11 Nov 2016 10:08:52 -0000
- Subject: [binutils-gdb] Accept hidden COFF symbols, but treat them as if they were debugging symbols.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7103ad7639b7ed80bec170404185a8e39079446b
commit 7103ad7639b7ed80bec170404185a8e39079446b
Author: Luke Allardyce <lukeallardyce@gmail.com>
Date: Fri Nov 11 10:08:05 2016 +0000
Accept hidden COFF symbols, but treat them as if they were debugging symbols.
PR ld/20722
* coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
but treat them as debugging symbols.
Diff:
---
bfd/ChangeLog | 6 ++++++
bfd/coffcode.h | 5 ++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index abfda75..b8a1ba4 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-11 Luke Allardyce <lukeallardyce@gmail.com>
+
+ PR ld/20722
+ * coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
+ but treat them as debugging symbols.
+
2016-11-10 Jiong Wang <jiong.wang@arm.com>
PR target/20737
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 0862f66..b926c65 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -5068,7 +5068,6 @@ coff_slurp_symbol_table (bfd * abfd)
case C_UEXT: /* Tentative external definition. */
#endif
case C_EXTLAB: /* External load time label. */
- case C_HIDDEN: /* Ext symbol in dmert public lib. */
default:
_bfd_error_handler
/* xgettext:c-format */
@@ -5076,6 +5075,10 @@ coff_slurp_symbol_table (bfd * abfd)
abfd, src->u.syment.n_sclass,
dst->symbol.section->name, dst->symbol.name);
ret = FALSE;
+ /* Faal through. */
+ case C_HIDDEN: /* Ext symbol in dmert public lib. */
+ /* PR 20722: These symbols can also be generated by
+ building DLLs with --gc-sections enabled. */
dst->symbol.flags = BSF_DEBUGGING;
dst->symbol.value = (src->u.syment.n_value);
break;