From 1b81fb710f222c7ad23396a40b59314b7fe0ba5b Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 30 Dec 2009 07:45:32 +0000 Subject: PR 10450 * layout.cc (Layout::create_dynamic_symtab): Only set entsize of .gnu.hash table for a 32-bit target. --- gold/layout.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gold/layout.cc') diff --git a/gold/layout.cc b/gold/layout.cc index 82f18c4..5462532 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -2978,7 +2978,12 @@ Layout::create_dynamic_symtab(const Input_objects* input_objects, hashsec->add_output_section_data(hashdata); hashsec->set_link_section(dynsym); - hashsec->set_entsize(4); + + // For a 64-bit target, the entries in .gnu.hash do not have a + // uniform size, so we only set the entry size for a 32-bit + // target. + if (parameters->target().get_size() == 32) + hashsec->set_entsize(4); odyn->add_section_address(elfcpp::DT_GNU_HASH, hashsec); } -- cgit v1.1