From ac685e6adfb9aa42b56c6348050561feed9be5fb Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 3 Oct 2006 13:15:39 +0000 Subject: * 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. --- ld/testsuite/ld-elf/eh4a.s | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 ld/testsuite/ld-elf/eh4a.s (limited to 'ld/testsuite/ld-elf/eh4a.s') diff --git a/ld/testsuite/ld-elf/eh4a.s b/ld/testsuite/ld-elf/eh4a.s new file mode 100644 index 0000000..c245871 --- /dev/null +++ b/ld/testsuite/ld-elf/eh4a.s @@ -0,0 +1,3 @@ + .section .eh_frame,"a",%progbits + .align 8 + .zero 8 -- cgit v1.1