mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-29 02:20:51 +00:00
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.
This commit is contained in:
10
ld/pe-dll.c
10
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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user