------- Additional Comments From t_ono at hkfreak dot net 2006-01-29 03:00 ------- The following patch remedies the problem
--- ld/pe-dll.c.orig Sat Aug 27 17:31:02 2005 +++ ld/pe-dll.c Tue Jan 17 00:20:32 2006 @@ -2460,6 +2460,14 @@ } static unsigned int +pe_as16 (void *ptr) +{ + unsigned char *b = ptr; + + return b[0] + (b[1] << 8); +} + +static unsigned int pe_as32 (void *ptr) { unsigned char *b = ptr; @@ -2616,8 +2624,9 @@ /* Pointer to the names vector. */ unsigned long name_rva = pe_as32 (erva + name_rvas + i * 4); def_file_import *imp; + unsigned long ordinal = pe_as16 (erva + ordinals + i * 2); /* Pointer to the function address vector. */ - unsigned long func_rva = pe_as32 (erva + exp_funcbase + i * 4); + unsigned long func_rva = pe_as32 (erva + exp_funcbase + ordinal * 4); int is_data = 0; /* Skip unwanted symbols, which are -- http://sourceware.org/bugzilla/show_bug.cgi?id=785 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils