binutils-gdb/ld/testsuite/ld-mips-elf/eh-frame5.s
Richard Sandiford 18e04883d0 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.
2009-09-19 08:06:11 +00:00

108 lines
1.4 KiB
ArmAsm

.cfi_startproc
.cfi_personality 0x0,local_pers
.cfi_lsda 0x0,LSDA
.ent f1
f1:
nop
.end f1
.cfi_endproc
.cfi_startproc
.cfi_personality 0x0,hidden_pers
.cfi_lsda 0x0,LSDA
.ent f2
f2:
nop
.end f2
.cfi_endproc
.cfi_startproc
.cfi_personality 0x0,global_pers
.cfi_lsda 0x0,LSDA
.ent f3
f3:
nop
.end f3
.cfi_endproc
.cfi_startproc
.cfi_personality 0x0,extern_pers
.cfi_lsda 0x0,LSDA
.ent f4
f4:
nop
.end f4
.cfi_endproc
.cfi_startproc
.cfi_personality 0x80,local_indirect_ptr
.cfi_lsda 0x0,LSDA
.ent f5
f5:
nop
.end f5
.cfi_endproc
.cfi_startproc
.cfi_personality 0x80,hidden_indirect_ptr
.cfi_lsda 0x0,LSDA
.ent f6
f6:
nop
.end f6
.cfi_endproc
.cfi_startproc
.cfi_personality 0x80,global_indirect_ptr
.cfi_lsda 0x0,LSDA
.ent f7
f7:
nop
.end f7
.cfi_endproc
.cfi_startproc
.cfi_personality 0x80,extern_indirect_ptr
.cfi_lsda 0x0,LSDA
.ent f8
f8:
nop
.end f8
.cfi_endproc
.ent local_pers
local_pers:
nop
.end local_pers
.globl hidden_pers
.hidden hidden_pers
.ent hidden_pers
hidden_pers:
nop
.end hidden_pers
.globl global_pers
.ent global_pers
global_pers:
nop
.end global_pers
.section .data,"aw",@progbits
local_indirect_ptr:
.4byte pers1
.globl hidden_indirect_ptr
.hidden hidden_indirect_ptr
hidden_indirect_ptr:
.4byte pers2
.globl global_indirect_ptr
global_indirect_ptr:
.4byte pers3
LSDA:
.4byte 0