aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2007-12-15 09:32:38 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2007-12-15 09:32:38 +0000
commit155eaaa03139229166b0cdf83bd8cdd718bd1b08 (patch)
tree61e1e236545bb1d7cb0307596fa7bd1fcfb97604 /bfd/elf-bfd.h
parent5241d85325456acf1c190f10e54e87cb11a624a1 (diff)
downloadgdb-155eaaa03139229166b0cdf83bd8cdd718bd1b08.zip
gdb-155eaaa03139229166b0cdf83bd8cdd718bd1b08.tar.gz
gdb-155eaaa03139229166b0cdf83bd8cdd718bd1b08.tar.bz2
bfd/
* elf-bfd.h (eh_cie_fde): Put cie_inf in a union. Add a reloc_index field. Use bitfields for fde_encoding, lsda_encoding and lsda_offset. * elf-eh-frame.c (extra_augmentation_data_bytes): Adjust cie_inf accesses after the above change. (_bfd_elf_eh_frame_section_offset): Likewise. (_bfd_elf_write_section_eh_frame): Likewise. (_bfd_elf_discard_section_eh_frame): Likewise. Set up reloc_index.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r--bfd/elf-bfd.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index c06ea07..42a1f74 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -264,14 +264,19 @@ struct elf_link_loaded_list
/* Structures used by the eh_frame optimization code. */
struct eh_cie_fde
{
- /* For FDEs, this points to the CIE used. */
- struct eh_cie_fde *cie_inf;
+ union {
+ struct {
+ /* The CIE that we have chosen to use for this FDE. */
+ struct eh_cie_fde *cie_inf;
+ } fde;
+ } u;
+ unsigned int reloc_index;
unsigned int size;
unsigned int offset;
unsigned int new_offset;
- unsigned char fde_encoding;
- unsigned char lsda_encoding;
- unsigned char lsda_offset;
+ unsigned int fde_encoding : 8;
+ unsigned int lsda_encoding : 8;
+ unsigned int lsda_offset : 8;
unsigned int cie : 1;
unsigned int removed : 1;
unsigned int add_augmentation_size : 1;