diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-10-29 08:47:12 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-10-29 09:26:41 -0700 |
commit | 41e83f2b16ec57fb7e163c19fc315c86e4994b2e (patch) | |
tree | a122ed8dc81d79368cbda588ef7ba9363ed31f15 /gold/target.h | |
parent | b10a8bc7de0087b5c509b4b0831e606b56b6702c (diff) | |
download | gdb-41e83f2b16ec57fb7e163c19fc315c86e4994b2e.zip gdb-41e83f2b16ec57fb7e163c19fc315c86e4994b2e.tar.gz gdb-41e83f2b16ec57fb7e163c19fc315c86e4994b2e.tar.bz2 |
Make GOT entry size target-dependent
The GOT entry size is target-dependent. This patch adds a got_entry_size
function to Sized_target class so that a target can provide a value
different from default.
PR gold/19184
* incremental.cc (Got_plt_view_info): Add got_entry_size.
(Local_got_offset_visitor::visit): Replace got_entry_size_
with info_.got_entry_size.
(Local_got_offset_visitor::got_entry_size_): Removed.
(Global_got_offset_visitor::visit): Replace got_entry_size_
with info_.got_entry_size.
(Global_got_offset_visitor::got_entry_size_): Removed.
(Output_section_incremental_inputs::write_got_plt): Initialize
view_info.got_entry_size.
* target.h (Sized_target::got_entry_size): New virtual function.
* x86_64.cc (Target_x86_64::got_entry_size): New function.
Diffstat (limited to 'gold/target.h')
-rw-r--r-- | gold/target.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gold/target.h b/gold/target.h index db093b7..b21c56a 100644 --- a/gold/target.h +++ b/gold/target.h @@ -1004,6 +1004,14 @@ class Sized_target : public Target plt_entry_size() const { gold_unreachable(); } + // Return the size of each GOT entry. This is only used for + // laying out the incremental link info sections. A target needs + // to implement this if its GOT size is different. + + virtual unsigned int + got_entry_size() const + { return size / 8; } + // Create the GOT and PLT sections for an incremental update. // A target needs to implement this to support incremental linking. |