aboutsummaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-05-01 09:00:14 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-05-01 09:00:27 -0700
commit48bc218262da3784dd5258b774832d6b36afcf93 (patch)
treeb5bad0b9fe86517bd7f618014e8ce5551e4e1538 /gold
parente977e74712cf8df6ff44ead0a5c0ffd3cb9aa065 (diff)
downloadgdb-48bc218262da3784dd5258b774832d6b36afcf93.zip
gdb-48bc218262da3784dd5258b774832d6b36afcf93.tar.gz
gdb-48bc218262da3784dd5258b774832d6b36afcf93.tar.bz2
gold: Increment plt_offset after setting TLSDESC PLT entry
Increment plt_offset after setting the reserved TLSDESC PLT entry. PR gold/25872 * x86_64.cc (Output_data_plt_x86_64_bnd::do_write): Increment plt_offset after setting the reserved TLSDESC PLT entry. (Output_data_plt_x86_64_ibt<size>::do_write): Likewise.
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog7
-rw-r--r--gold/x86_64.cc2
2 files changed, 9 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index cc62a3e..c1cee52 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,6 +1,13 @@
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
PR gold/25872
+ * x86_64.cc (Output_data_plt_x86_64_bnd::do_write): Increment
+ plt_offset after setting the reserved TLSDESC PLT entry.
+ (Output_data_plt_x86_64_ibt<size>::do_write): Likewise.
+
+2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gold/25872
* x86_64.cc (Output_data_plt_x86_64_bnd::do_address_for_local):
Handle local IFUNC symbol.
(Output_data_plt_x86_64_ibt::do_address_for_local): Likewise.
diff --git a/gold/x86_64.cc b/gold/x86_64.cc
index 6219c8e..114ebb0 100644
--- a/gold/x86_64.cc
+++ b/gold/x86_64.cc
@@ -2736,6 +2736,7 @@ Output_data_plt_x86_64_bnd::do_write(Output_file* of)
this->fill_tlsdesc_entry(pov, got_address, plt_address, got_base,
tlsdesc_got_offset, plt_offset);
pov += this->get_plt_entry_size();
+ plt_offset += plt_entry_size;
}
// Write the additional PLT.
@@ -2831,6 +2832,7 @@ Output_data_plt_x86_64_ibt<size>::do_write(Output_file* of)
this->fill_tlsdesc_entry(pov, got_address, plt_address, got_base,
tlsdesc_got_offset, plt_offset);
pov += this->get_plt_entry_size();
+ plt_offset += plt_entry_size;
}
// Write the additional PLT.