From 8474a88fd23a3c9c33dfc8ded31a9a15e31e7765 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 20 Jun 2016 12:28:20 -0700 Subject: [PATCH] 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::first_plt_entry_offset): Likewise. (Target_x86_64::plt_entry_size): Likewise. --- gold/ChangeLog | 9 +++++++++ gold/i386.cc | 4 ++++ gold/x86_64.cc | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/gold/ChangeLog b/gold/ChangeLog index a4c9d6c8fa0..ae2ccb3bb3c 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,12 @@ +2016-06-20 H.J. Lu + + 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::first_plt_entry_offset): Likewise. + (Target_x86_64::plt_entry_size): Likewise. + 2016-06-20 Vladimir Radosavljevic * mips.cc (Target_mips::Target_mips): Initialize rld_map_. diff --git a/gold/i386.cc b/gold/i386.cc index 8aaa2a881aa..87e6a6dde8b 100644 --- a/gold/i386.cc +++ b/gold/i386.cc @@ -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(); } diff --git a/gold/x86_64.cc b/gold/x86_64.cc index 81126efc84e..d069957f5b9 100644 --- a/gold/x86_64.cc +++ b/gold/x86_64.cc @@ -1822,6 +1822,8 @@ template unsigned int Target_x86_64::first_plt_entry_offset() const { + if (this->plt_ == NULL) + return 0; return this->plt_->first_plt_entry_offset(); } @@ -1831,6 +1833,8 @@ template unsigned int Target_x86_64::plt_entry_size() const { + if (this->plt_ == NULL) + return 0; return this->plt_->get_plt_entry_size(); } -- 2.30.2