From 4b7f0676e44795d854404f5bc7d3fd17e6b31b30 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 2 Oct 2003 11:18:13 +0000 Subject: [PATCH] Correct sym def order & pick right sym for .idata$7 reloc. --- ld/ChangeLog | 5 +++++ 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 + + * pe-dll.c (make_one): Correct sym def order & pick right sym for + .idata$7 reloc. + 2003-09-30 Chris Demetriou * 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); -- 2.7.4