aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2009-09-21 19:07:44 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2009-09-21 19:07:44 +0000
commita10917efdd389ce903c6f67bc5096bb1009da207 (patch)
tree77f41f4dd700f9c59b57455831e40281015ea1d8 /bfd
parent30af59626b24a4f41e0d9adc224617b8eec0a9d5 (diff)
downloadgdb-a10917efdd389ce903c6f67bc5096bb1009da207.zip
gdb-a10917efdd389ce903c6f67bc5096bb1009da207.tar.gz
gdb-a10917efdd389ce903c6f67bc5096bb1009da207.tar.bz2
bfd/
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous patch to handle the new personality relaxation. ld/testsuite/ * ld-mips-elf/eh-frame5.d: Expect PC-relative encodings to include DW_EH_PE_sdata4.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf-eh-frame.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a5fe823..f750beb 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
2009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
+ patch to handle the new personality relaxation.
+
+2009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
+
* elf-eh-frame.c (make_pc_relative): New function.
(_bfd_elf_write_section_eh_frame): Use it.
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 995dac0..5d1def9 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -1494,7 +1494,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
break;
case 'P':
if (ent->u.cie.make_per_encoding_relative)
- *buf |= DW_EH_PE_pcrel;
+ *buf = make_pc_relative (*buf, ptr_size);
per_encoding = *buf++;
per_width = get_DW_EH_PE_width (per_encoding, ptr_size);
BFD_ASSERT (per_width != 0);