- // Input section index for this FDE.
- unsigned int shndx_;
- // Offset within the input section for this FDE.
- section_offset_type input_offset_;
+ union
+ {
+ // These fields are used if the FDE is from an input object (the
+ // object_ field is not NULL).
+ struct
+ {
+ // Input section index for this FDE.
+ unsigned int shndx;
+ // Offset within the input section for this FDE.
+ section_offset_type input_offset;
+ } from_object;
+ // This field is used if the FDE is generated by the linker (the
+ // object_ field is NULL).
+ struct
+ {
+ // The only linker generated FDEs are for PLT sections, and this
+ // points to the PLT section.
+ Output_data* plt;
+ // Set if the FDE was added after merge mapping.
+ bool post_map;
+ } from_linker;
+ } u_;