aboutsummaryrefslogtreecommitdiff
path: root/bfd/libcoff.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2015-12-15 14:31:25 +0100
committerJan Beulich <jbeulich@suse.com>2015-12-15 14:31:25 +0100
commit270f824531ceef276616a5d2f3027fa9f537c10b (patch)
tree3f20d74a1748d2da2516da51fa9afc63430f35e0 /bfd/libcoff.h
parent1d19cae752a7b032b8253feb4fa3b9f1dc162823 (diff)
downloadgdb-270f824531ceef276616a5d2f3027fa9f537c10b.zip
gdb-270f824531ceef276616a5d2f3027fa9f537c10b.tar.gz
gdb-270f824531ceef276616a5d2f3027fa9f537c10b.tar.bz2
bfd: don't produce corrupt COFF symbol table due to long ELF file name symbols
The re-writing logic in _bfd_coff_final_link() overwrote the ".file" part of the symbol table entry, due to not coping with the auxiliary entry generated in all cases. Note that while I would have wanted to add a test case, (a) I didn't spot any one testing the base functionality here, and (b) I wasn't able to figure out proper conditionals to use in e.g. ld-elf/elf.exp to check for the necessary PE/PE+ support (which varies by target).
Diffstat (limited to 'bfd/libcoff.h')
-rw-r--r--bfd/libcoff.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/bfd/libcoff.h b/bfd/libcoff.h
index 124e603..178559f 100644
--- a/bfd/libcoff.h
+++ b/bfd/libcoff.h
@@ -316,8 +316,8 @@ extern void coff_mangle_symbols
extern bfd_boolean coff_write_symbols
(bfd *);
extern bfd_boolean coff_write_alien_symbol
- (bfd *, asymbol *, struct internal_syment *, bfd_vma *,
- bfd_size_type *, asection **, bfd_size_type *);
+ (bfd *, asymbol *, struct internal_syment *, union internal_auxent *,
+ bfd_vma *, bfd_size_type *, asection **, bfd_size_type *);
extern bfd_boolean coff_write_linenumbers
(bfd *);
extern alent *coff_get_lineno