diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/pe-dll.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index fa55fc4..6b8c995 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2003-10-02 Ivan Warren <ivan@vmfacility.fr> + + * pe-dll.c (make_one): Correct sym def order & pick right sym for + .idata$7 reloc. + 2003-09-30 Chris Demetriou <cgd@broadcom.com> * NEWS: Add an indication of the cutoff for 2.14. diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 92cd64b..cc69474 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -1780,10 +1780,10 @@ make_one (def_file_export *exp, bfd *parent) if (*exp->internal_name == '@') { - if (! exp->flag_data) - quick_symbol (abfd, "", exp->internal_name, "", tx, BSF_GLOBAL, 0); quick_symbol (abfd, U ("_head_"), dll_symname, "", UNDSEC, BSF_GLOBAL, 0); + if (! exp->flag_data) + quick_symbol (abfd, "", exp->internal_name, "", tx, BSF_GLOBAL, 0); quick_symbol (abfd, U ("_imp_"), exp->internal_name, "", id5, BSF_GLOBAL, 0); /* Fastcall applies only to functions, @@ -1791,11 +1791,11 @@ make_one (def_file_export *exp, bfd *parent) } else { + quick_symbol (abfd, U ("_head_"), dll_symname, "", UNDSEC, + BSF_GLOBAL, 0); if (! exp->flag_data) quick_symbol (abfd, U (""), exp->internal_name, "", tx, BSF_GLOBAL, 0); - quick_symbol (abfd, U ("_head_"), dll_symname, "", UNDSEC, - BSF_GLOBAL, 0); quick_symbol (abfd, U ("_imp__"), exp->internal_name, "", id5, BSF_GLOBAL, 0); /* Symbol to reference ord/name of imported @@ -1838,7 +1838,7 @@ make_one (def_file_export *exp, bfd *parent) d7 = xmalloc (4); id7->contents = d7; memset (d7, 0, 4); - quick_reloc (abfd, 0, BFD_RELOC_RVA, 6); + quick_reloc (abfd, 0, BFD_RELOC_RVA, 5); save_relocs (id7); bfd_set_section_size (abfd, id5, 4); |