summaryrefslogtreecommitdiff
path: root/gold/object.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2011-06-29 21:39:19 +0000
committerIan Lance Taylor <ian@airs.com>2011-06-29 21:39:19 +0000
commit96f8c5f58d52a663ab537b8ef63483a14b4da410 (patch)
tree1eed2e4221396399187c6546a5fb3d5d7c620fa8 /gold/object.cc
parenta49ecdfad167197056dc366237759431af74a972 (diff)
downloadbinutils-redhat-96f8c5f58d52a663ab537b8ef63483a14b4da410.tar.gz
PR gold/12675
* object.cc (Sized_relobj_file::check_eh_frame_flags): Check for SHT_X86_64_UNWIND. * layout.cc (Layout::layout_eh_frame): Likewise.
Diffstat (limited to 'gold/object.cc')
-rw-r--r--gold/object.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/object.cc b/gold/object.cc
index 778f03be8e..322f56edf2 100644
--- a/gold/object.cc
+++ b/gold/object.cc
@@ -511,7 +511,9 @@ bool
Sized_relobj_file<size, big_endian>::check_eh_frame_flags(
const elfcpp::Shdr<size, big_endian>* shdr) const
{
- return (shdr->get_sh_type() == elfcpp::SHT_PROGBITS
+ elfcpp::Elf_Word sh_type = shdr->get_sh_type();
+ return ((sh_type == elfcpp::SHT_PROGBITS
+ || sh_type == elfcpp::SHT_X86_64_UNWIND)
&& (shdr->get_sh_flags() & elfcpp::SHF_ALLOC) != 0);
}