diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2009-09-21 19:07:44 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2009-09-21 19:07:44 +0000 |
commit | a10917efdd389ce903c6f67bc5096bb1009da207 (patch) | |
tree | 77f41f4dd700f9c59b57455831e40281015ea1d8 /bfd | |
parent | 30af59626b24a4f41e0d9adc224617b8eec0a9d5 (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf-eh-frame.c | 2 |
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); |