aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-mips-elf/eh-frame5.ld
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2009-09-19 08:06:11 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2009-09-19 08:06:11 +0000
commit18e04883d03f67a6b9ec701089494d92841b92fd (patch)
tree144531f36fa1eb2069710f3759c9ed5ed201b499 /ld/testsuite/ld-mips-elf/eh-frame5.ld
parent8179e7399121c25d5e046368d223c3b44c32716a (diff)
downloadgdb-18e04883d03f67a6b9ec701089494d92841b92fd.zip
gdb-18e04883d03f67a6b9ec701089494d92841b92fd.tar.gz
gdb-18e04883d03f67a6b9ec701089494d92841b92fd.tar.bz2
bfd/
* elf-bfd.h (eh_cie_fde): Add personality_offset and make_per_encoding_relative to the CIE structure. Add a padding field. * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Use 0x70 rather than 0xf0 when masking out the base address encoding Record the offset of personality data from the start of the CIE. Remove a repeated elf_backend_can_make_relative_eh_frame check. (find_merged_cie): Take an info argument. If the personality binds locally, try converting an absolute personality into a local one. (_bfd_elf_discard_section_eh_frame): Use 0x70 rather than 0xf0 when masking out the base address encoding. Update the call to find_merged_cie. (_bfd_elf_eh_frame_section_offset): Discard relocations against the personality data if we are converting into PC-relative form. (_bfd_elf_write_section_eh_frame): Use 0x70 rather than 0xf0 when masking out the base address encoding. Handle make_per_encoding_relative. ld/testsuite/ * ld-mips-elf/eh-frame5.s, ld-mips-elf/eh-frame5.ld, ld-mips-elf/eh-frame5.d: New test. * ld-mips-elf/mips-elf.exp: Run it.
Diffstat (limited to 'ld/testsuite/ld-mips-elf/eh-frame5.ld')
-rw-r--r--ld/testsuite/ld-mips-elf/eh-frame5.ld18
1 files changed, 18 insertions, 0 deletions
diff --git a/ld/testsuite/ld-mips-elf/eh-frame5.ld b/ld/testsuite/ld-mips-elf/eh-frame5.ld
new file mode 100644
index 0000000..f00cb27
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/eh-frame5.ld
@@ -0,0 +1,18 @@
+SECTIONS
+{
+ . = 0;
+ .reginfo : { *(.reginfo) }
+ .dynamic : { *(.dynamic) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+ .rel.dyn : { *(.rel.dyn) }
+ . = 0x800;
+ .text : { *(.text) }
+ . = 0xc00;
+ .eh_frame : { *(.eh_frame) }
+ . = 0x10000;
+ .data : { *(.data) }
+ . = 0x10400;
+ _gp = . + 0x7ff0;
+ .got : { *(.got) }
+}