aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-scripts
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2013-08-26 19:27:25 +0000
committerRoland McGrath <roland@gnu.org>2013-08-26 19:27:25 +0000
commit887badb310f11f59df2f6833a6bd0b219ba225a0 (patch)
treef196415a00ae9ff7f2e6a97c4eecc4bb6a4d687d /ld/testsuite/ld-scripts
parent779bd270818aeb064c2d218ad8f80a3b608f95c9 (diff)
downloadgdb-887badb310f11f59df2f6833a6bd0b219ba225a0.zip
gdb-887badb310f11f59df2f6833a6bd0b219ba225a0.tar.gz
gdb-887badb310f11f59df2f6833a6bd0b219ba225a0.tar.bz2
bfd/
* elf-nacl.c (nacl_modify_segment_map): Fix logic reordering the elf_segment_map list. If an executable segment is page-aligned but does not end with a full page, then append a fake section into the segment map entry that pads out the page. (nacl_final_write_processing): New function. Write the code fill laid out in nacl_modify_segment_map. * elf-nacl.h: Declare it. * elf32-arm.c (elf32_arm_nacl_final_write_processing): New function. (elf_backend_final_write_processing): Define it for NaCl backend. * elf32-i386.c (elf_backend_final_write_processing): Likewise. * elf64-x86-64.c (elf_backend_final_write_processing): Likewise. * elf-nacl.c (segment_eligible_for_headers): Rename MAXPAGESIZE parameter to MINPAGESIZE. (nacl_modify_segment_map): Use minpagesize instead of maxpagesize. * elf32-arm.c (ELF_MINPAGESIZE, ELF_COMMONPAGESIZE): Set to 0x10000 for NaCl targets. ld/testsuite/ * ld-x86-64/ilp32-4-nacl.d: Loosen .shstrtab line regexp to match any file offset. * ld-x86-64/tlsbin-nacl.rd: Update expected code segment PT_LOAD. * ld-x86-64/tlsbindesc-nacl.rd: Likewise. * ld-scripts/rgn-at3.d: XFAIL for *-*-nacl* targets. * ld-scripts/rgn-over8-ok.d: Likewise.
Diffstat (limited to 'ld/testsuite/ld-scripts')
-rw-r--r--ld/testsuite/ld-scripts/rgn-at3.d6
-rw-r--r--ld/testsuite/ld-scripts/rgn-over8-ok.d6
2 files changed, 10 insertions, 2 deletions
diff --git a/ld/testsuite/ld-scripts/rgn-at3.d b/ld/testsuite/ld-scripts/rgn-at3.d
index 1d21956..b0ea08a 100644
--- a/ld/testsuite/ld-scripts/rgn-at3.d
+++ b/ld/testsuite/ld-scripts/rgn-at3.d
@@ -2,9 +2,13 @@
# source: rgn-at.s
# ld: -T rgn-at3.t
# objdump: -w -h
-# xfail: rx-*-*
+# xfail: rx-*-* *-*-nacl*
# FAILS on the RX because the linker has to set LMA == VMA for the
# Renesas loader.
+# FAILs on NaCl targets because the linker extends the first segment
+# to fill out the page, making its p_vaddr+p_memsz cover the sh_addr
+# of .bss too, which makes BFD compute its LMA from the p_paddr of the
+# text segment.
.*: file format .*
diff --git a/ld/testsuite/ld-scripts/rgn-over8-ok.d b/ld/testsuite/ld-scripts/rgn-over8-ok.d
index 300e947..fe6b1c9 100644
--- a/ld/testsuite/ld-scripts/rgn-over8-ok.d
+++ b/ld/testsuite/ld-scripts/rgn-over8-ok.d
@@ -2,9 +2,13 @@
# source: rgn-over8.s
# ld: -T rgn-over8.t
# objdump: -w -h
-# xfail: rx-*-*
+# xfail: rx-*-* *-*-nacl*
# FAILS on the RX because the linker has to set LMA == VMA for the
# Renesas loader.
+# FAILs on NaCl targets because the linker extends the first segment
+# to fill out the page, making its p_vaddr+p_memsz cover the sh_addr
+# of .bss too, which makes BFD compute its LMA from the p_paddr of the
+# text segment.
.*: file format .*