diff options
author | Richard Sandiford <rsandifo@nildram.co.uk> | 2005-01-31 20:39:11 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@nildram.co.uk> | 2005-01-31 20:39:11 +0000 |
commit | 99f2c3cfe1305286b23010becfae98b83aeb90b7 (patch) | |
tree | b4a239d7d9813da0221283fe2aab68735756336c /bfd/elf-bfd.h | |
parent | b1e9db255a908d27c195571e0f2f69bc5a835145 (diff) | |
download | gdb-99f2c3cfe1305286b23010becfae98b83aeb90b7.tar.gz |
* elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
(_bfd_elf_eh_frame_address_size): Declare.
* elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
(elfNN_bed): Initialize elf_backend_eh_frame_address_size.
* elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
(elf_backend_eh_frame_address_size): Define.
* elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
size from the new backend hook.
(_bfd_elf_write_section_eh_frame): Likewise.
(_bfd_elf_eh_frame_address_size): New function.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 6645c9a90c8..f2a063bfa08 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -906,6 +906,12 @@ struct elf_backend_data bfd_boolean (*elf_backend_ignore_discarded_relocs) (asection *); + /* This function returns the width of FDE pointers in bytes, or 0 if + that can't be determined for some reason. The default definition + goes by the bfd's EI_CLASS. */ + unsigned int (*elf_backend_eh_frame_address_size) + (bfd *, asection *); + /* These functions tell elf-eh-frame whether to attempt to turn absolute or lsda encodings into pc-relative ones. The default definition enables these transformations. */ @@ -1381,6 +1387,8 @@ extern void _bfd_elf_sprintf_vma extern void _bfd_elf_fprintf_vma (bfd *, void *, bfd_vma); +extern unsigned int _bfd_elf_eh_frame_address_size + (bfd *, asection *); extern bfd_byte _bfd_elf_encode_eh_address (bfd *abfd, struct bfd_link_info *info, asection *osec, bfd_vma offset, asection *loc_sec, bfd_vma loc_offset, bfd_vma *encoded); |