diff options
author | Charles Wilson <cygwin@cwilson.fastmail.fm> | 2001-09-12 15:58:10 +0000 |
---|---|---|
committer | Charles Wilson <cygwin@cwilson.fastmail.fm> | 2001-09-12 15:58:10 +0000 |
commit | 0d888aac30824dd7fc2481efefd0a0f4808812e8 (patch) | |
tree | dcc3c9663cffcbe49a873a805d2391c9c7f990bf /ld/pe-dll.c | |
parent | cedacdc05a9872309cd078e32ce6565266bc9065 (diff) | |
download | gdb-0d888aac30824dd7fc2481efefd0a0f4808812e8.zip gdb-0d888aac30824dd7fc2481efefd0a0f4808812e8.tar.gz gdb-0d888aac30824dd7fc2481efefd0a0f4808812e8.tar.bz2 |
2001-09-12 Paul Sokolovsky <Paul.Sokolovsky@technologist.com>
* emultempl/pe.em(make_import_fixup): change signature to
take asection as well as arelec; we need this for proper
error reporting. Only call pe_create_import_fixup() if
there is no attempt to add a constant addend to the reloc;
otherwise, report error condition.
* pe-dll.c(pe_walk_relocs_of_symbol): change signature,
since final argument is a pointer to make_import_fixup().
Change call to cb() to match make_import_fixup() signature.
(make_import_fixup_mark): make buffer_len unsigned.
* pe-dll.h: change signature of pe_walk_relocs_of_symbol.
2001-09-12 Charles Wilson <cwilson@ece.gatech.edu>
* ld.texinfo: add verbose documentation for auto-import
direct-addressing workaround, to compliment the terse
error message.
Diffstat (limited to 'ld/pe-dll.c')
-rw-r--r-- | ld/pe-dll.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ld/pe-dll.c b/ld/pe-dll.c index e47a17f..9914eac 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -982,10 +982,10 @@ void pe_walk_relocs_of_symbol (info, name, cb) struct bfd_link_info *info; CONST char *name; - int (*cb) (arelent *); + int (*cb) (arelent *, asection *); { bfd *b; - struct sec *s; + asection *s; for (b = info->input_bfds; b; b = b->link_next) { @@ -1003,7 +1003,7 @@ pe_walk_relocs_of_symbol (info, name, cb) && s->output_section == bfd_abs_section_ptr) continue; - current_sec=s; + current_sec = s; symsize = bfd_get_symtab_upper_bound (b); symbols = (asymbol **) xmalloc (symsize); @@ -1016,7 +1016,7 @@ pe_walk_relocs_of_symbol (info, name, cb) for (i = 0; i < nrelocs; i++) { struct symbol_cache_entry *sym = *relocs[i]->sym_ptr_ptr; - if (!strcmp(name,sym->name)) cb(relocs[i]); + if (!strcmp(name,sym->name)) cb(relocs[i], s); } free (relocs); /* Warning: the allocated symbols are remembered in BFD and reused @@ -1908,7 +1908,7 @@ make_import_fixup_mark (rel) /* we convert reloc to symbol, for later reference */ static int counter; static char *fixup_name = NULL; - static int buffer_len = 0; + static unsigned int buffer_len = 0; struct symbol_cache_entry *sym = *rel->sym_ptr_ptr; |