forked from Imagelibrary/binutils-gdb
Fix generation of IDATA[6] for PE files.
PR ld/20880 * pe-dll.c (make_one): Use the hint if the ordinal is -1.
This commit is contained in:
11
ld/pe-dll.c
11
ld/pe-dll.c
@@ -2266,6 +2266,8 @@ make_one (def_file_export *exp, bfd *parent, bfd_boolean include_jmp_stub)
|
||||
}
|
||||
else
|
||||
{
|
||||
int ord;
|
||||
|
||||
/* { short, asciz } */
|
||||
if (exp->its_name)
|
||||
len = 2 + strlen (exp->its_name) + 1;
|
||||
@@ -2277,8 +2279,13 @@ make_one (def_file_export *exp, bfd *parent, bfd_boolean include_jmp_stub)
|
||||
d6 = xmalloc (len);
|
||||
id6->contents = d6;
|
||||
memset (d6, 0, len);
|
||||
d6[0] = exp->hint & 0xff;
|
||||
d6[1] = exp->hint >> 8;
|
||||
|
||||
/* PR 20880: Use exp->hint as a backup, just in case exp->ordinal
|
||||
contains an invalid value (-1). */
|
||||
ord = (exp->ordinal >= 0) ? exp->ordinal : exp->hint;
|
||||
d6[0] = ord;
|
||||
d6[1] = ord >> 8;
|
||||
|
||||
if (exp->its_name)
|
||||
strcpy ((char*) d6 + 2, exp->its_name);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user