diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-10-03 13:15:39 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2006-10-03 13:15:39 +0000 |
commit | ac685e6adfb9aa42b56c6348050561feed9be5fb (patch) | |
tree | 97731c5949a17e7d40fd0db02d76f9011ce2a9d5 /bfd/ChangeLog | |
parent | 00479ba8f9cd7f2ba84c6c3304987afcb4f109b8 (diff) | |
download | gdb-ac685e6adfb9aa42b56c6348050561feed9be5fb.zip gdb-ac685e6adfb9aa42b56c6348050561feed9be5fb.tar.gz gdb-ac685e6adfb9aa42b56c6348050561feed9be5fb.tar.bz2 |
* elf-bfd.h (struct eh_cie_fde): Add set_loc pointer.
* elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc.
Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save,
DW_CFA_val_{offset{,_sf},expression}.
(skip_non_nops): Record number of DW_CFA_set_loc ops.
(_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes
all ops. If there are any DW_CFA_set_loc ops and they are pcrel
or going to be pcrel, compute set_loc array.
(_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations
against DW_CFA_set_loc operands.
(_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting.
* ld-elf/eh4.d: New test.
* ld-elf/eh4.s: New file.
* ld-elf/eh4a.s: New file.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9acdf86..dfd47f6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,17 @@ +2006-10-03 Jakub Jelinek <jakub@redhat.com> + + * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer. + * elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc. + Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save, + DW_CFA_val_{offset{,_sf},expression}. + (skip_non_nops): Record number of DW_CFA_set_loc ops. + (_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes + all ops. If there are any DW_CFA_set_loc ops and they are pcrel + or going to be pcrel, compute set_loc array. + (_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations + against DW_CFA_set_loc operands. + (_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting. + 2006-10-02 Daniel Jacobowitz <dan@codesourcery.com> * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS |