aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
authorLuke Allardyce <lukeallardyce@gmail.com>2016-11-11 10:08:05 +0000
committerNick Clifton <nickc@redhat.com>2016-11-11 10:08:05 +0000
commit7103ad7639b7ed80bec170404185a8e39079446b (patch)
tree5a877387f5d9d60eedce566e04ab17e706e2349c /bfd/coffcode.h
parent668e167446b2777869f413841ec05aed59473d9f (diff)
downloadbinutils-7103ad7639b7ed80bec170404185a8e39079446b.zip
binutils-7103ad7639b7ed80bec170404185a8e39079446b.tar.gz
binutils-7103ad7639b7ed80bec170404185a8e39079446b.tar.bz2
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.
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h5
1 files changed, 4 insertions, 1 deletions
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;