aboutsummaryrefslogtreecommitdiff
path: root/gold/layout.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/layout.h')
-rw-r--r--gold/layout.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gold/layout.h b/gold/layout.h
index 4790584..a16bb5c 100644
--- a/gold/layout.h
+++ b/gold/layout.h
@@ -549,6 +549,14 @@ class Layout
unsigned int reloc_shndx, unsigned int reloc_type,
off_t* offset);
+ // Add .eh_frame information for a PLT. The FDE must start with a
+ // 4-byte PC-relative reference to the start of the PLT, followed by
+ // a 4-byte size of PLT.
+ void
+ add_eh_frame_for_plt(Output_data* plt, const unsigned char* cie_data,
+ size_t cie_length, const unsigned char* fde_data,
+ size_t fde_length);
+
// Handle a GNU stack note. This is called once per input object
// file. SEEN_GNU_STACK is true if the object file has a
// .note.GNU-stack section. GNU_STACK_FLAGS is the section flags
@@ -1018,6 +1026,10 @@ class Layout
void
attach_allocated_section_to_segment(Output_section*);
+ // Make the .eh_frame section.
+ Output_section*
+ make_eh_frame_section(const Relobj*);
+
// Set the final file offsets of all the segments.
off_t
set_segment_offsets(const Target*, Output_segment*, unsigned int* pshndx);