gold/x86: Handle output without PLT

If there is no PLT in output, return 0 for first_plt_entry_offset and
plt_entry_size.

	PR gold/20245
	* i386.cc (Target_i386::first_plt_entry_offset): Return 0 if
	plt_ is NULL.
	(Target_i386::plt_entry_size): Likewise.
	(Target_x86_64<size>::first_plt_entry_offset): Likewise.
	(Target_x86_64<size>::plt_entry_size): Likewise.
This commit is contained in:
H.J. Lu 2016-06-20 12:28:20 -07:00
parent a8ecc9fe61
commit 8474a88fd2
3 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR gold/20245
* i386.cc (Target_i386::first_plt_entry_offset): Return 0 if
plt_ is NULL.
(Target_i386::plt_entry_size): Likewise.
(Target_x86_64<size>::first_plt_entry_offset): Likewise.
(Target_x86_64<size>::plt_entry_size): Likewise.
2016-06-20 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
* mips.cc (Target_mips::Target_mips): Initialize rld_map_.

View File

@ -1565,6 +1565,8 @@ Target_i386::plt_entry_count() const
unsigned int
Target_i386::first_plt_entry_offset() const
{
if (this->plt_ == NULL)
return 0;
return this->plt_->first_plt_entry_offset();
}
@ -1573,6 +1575,8 @@ Target_i386::first_plt_entry_offset() const
unsigned int
Target_i386::plt_entry_size() const
{
if (this->plt_ == NULL)
return 0;
return this->plt_->get_plt_entry_size();
}

View File

@ -1822,6 +1822,8 @@ template<int size>
unsigned int
Target_x86_64<size>::first_plt_entry_offset() const
{
if (this->plt_ == NULL)
return 0;
return this->plt_->first_plt_entry_offset();
}
@ -1831,6 +1833,8 @@ template<int size>
unsigned int
Target_x86_64<size>::plt_entry_size() const
{
if (this->plt_ == NULL)
return 0;
return this->plt_->get_plt_entry_size();
}