DWARF: Check version >= 3 for DW_FORM_ref_addr
Check version >= 3, instead of version == 3 || version == 4, for DW_FORM_ref_addr. bfd/ PR ld/27587 * dwarf2.c (read_attribute_value): Check version >= 3 for DW_FORM_ref_addr. ld/ PR ld/27587 * testsuite/ld-x86-64/pr27587.err: New file. * testsuite/ld-x86-64/pr27587a.obj.bz2: Likewise. * testsuite/ld-x86-64/pr27587b.obj.bz2: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run PR ld/27587 test.
This commit is contained in:
parent
fb099b8a51
commit
51f6e7a9f4
@ -1,3 +1,9 @@
|
|||||||
|
2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR ld/27587
|
||||||
|
* dwarf2.c (read_attribute_value): Check version >= 3 for
|
||||||
|
DW_FORM_ref_addr.
|
||||||
|
|
||||||
2021-03-16 Nick Clifton <nickc@redhat.com>
|
2021-03-16 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer
|
* peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer
|
||||||
|
@ -1213,7 +1213,7 @@ read_attribute_value (struct attribute * attr,
|
|||||||
case DW_FORM_ref_addr:
|
case DW_FORM_ref_addr:
|
||||||
/* DW_FORM_ref_addr is an address in DWARF2, and an offset in
|
/* DW_FORM_ref_addr is an address in DWARF2, and an offset in
|
||||||
DWARF3. */
|
DWARF3. */
|
||||||
if (unit->version == 3 || unit->version == 4)
|
if (unit->version >= 3)
|
||||||
{
|
{
|
||||||
if (unit->offset_size == 4)
|
if (unit->offset_size == 4)
|
||||||
attr->u.val = read_4_bytes (unit->abfd, info_ptr, info_ptr_end);
|
attr->u.val = read_4_bytes (unit->abfd, info_ptr, info_ptr_end);
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR ld/27587
|
||||||
|
* testsuite/ld-x86-64/pr27587.err: New file.
|
||||||
|
* testsuite/ld-x86-64/pr27587a.obj.bz2: Likewise.
|
||||||
|
* testsuite/ld-x86-64/pr27587b.obj.bz2: Likewise.
|
||||||
|
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/27587 test.
|
||||||
|
|
||||||
2021-03-18 Nick Alcock <nick.alcock@oracle.com>
|
2021-03-18 Nick Alcock <nick.alcock@oracle.com>
|
||||||
|
|
||||||
* testsuite/ld-ctf/slice.c: Check slices of enums too.
|
* testsuite/ld-ctf/slice.c: Check slices of enums too.
|
||||||
|
3
ld/testsuite/ld-x86-64/pr27587.err
Normal file
3
ld/testsuite/ld-x86-64/pr27587.err
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#...
|
||||||
|
.*pr27587.i:4: undefined reference to `stack_size'
|
||||||
|
#...
|
BIN
ld/testsuite/ld-x86-64/pr27587a.obj.bz2
Normal file
BIN
ld/testsuite/ld-x86-64/pr27587a.obj.bz2
Normal file
Binary file not shown.
BIN
ld/testsuite/ld-x86-64/pr27587b.obj.bz2
Normal file
BIN
ld/testsuite/ld-x86-64/pr27587b.obj.bz2
Normal file
Binary file not shown.
@ -221,6 +221,11 @@ set x86_64tests {
|
|||||||
"-melf_x86_64 -pie -z notext tmpdir/pr20550a.o tmpdir/pr20550b.so"
|
"-melf_x86_64 -pie -z notext tmpdir/pr20550a.o tmpdir/pr20550b.so"
|
||||||
""
|
""
|
||||||
"--64" { dummy.s } {} "pr20550"}
|
"--64" { dummy.s } {} "pr20550"}
|
||||||
|
{"Build pr27587"
|
||||||
|
"-melf_x86_64 -e main"
|
||||||
|
"" ""
|
||||||
|
{ pr27587a.obj.bz2 pr27587b.obj.bz2 }
|
||||||
|
{{ld "pr27587.err"}} "pr27587"}
|
||||||
}
|
}
|
||||||
|
|
||||||
run_ld_link_tests $x86_64tests
|
run_ld_link_tests $x86_64tests
|
||||||
|
Loading…
Reference in New Issue
Block a user