diff options
author | Doug Kwan <dougkwan@google.com> | 2010-01-14 02:42:20 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2010-01-14 02:42:20 +0000 |
commit | b521dfe453f0590a99375d060a1e0a6f2fa9afec (patch) | |
tree | defd8004c357d719cba34be7fa20b27efbb7d64a /gold/arm.cc | |
parent | cbe13f1d2e0f309d54106d120016e0f72d7bbf87 (diff) | |
download | gdb-b521dfe453f0590a99375d060a1e0a6f2fa9afec.zip gdb-b521dfe453f0590a99375d060a1e0a6f2fa9afec.tar.gz gdb-b521dfe453f0590a99375d060a1e0a6f2fa9afec.tar.bz2 |
2010-01-13 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relobj::section_needs_reloc_stub_scanning,
Arm_relobj::scan_sections_for_stubs): Rearrange code to avoid an
apparent compiler problem of not folding static constant integral
data members of elfcpp::Elf_sizes<32>.
Diffstat (limited to 'gold/arm.cc')
-rw-r--r-- | gold/arm.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gold/arm.cc b/gold/arm.cc index c9ea2fd..38f9d71 100644 --- a/gold/arm.cc +++ b/gold/arm.cc @@ -4203,9 +4203,11 @@ Arm_relobj<big_endian>::section_needs_reloc_stub_scanning( if (this->adjust_shndx(shdr.get_sh_link()) != this->symtab_shndx()) return false; - const unsigned int reloc_size = (sh_type == elfcpp::SHT_REL - ? elfcpp::Elf_sizes<32>::rel_size - : elfcpp::Elf_sizes<32>::rela_size); + unsigned int reloc_size; + if (sh_type == elfcpp::SHT_REL) + reloc_size = elfcpp::Elf_sizes<32>::rel_size; + else + reloc_size = elfcpp::Elf_sizes<32>::rela_size; // Ignore reloc section with unexpected entsize or uneven size. // The error will be reported in the final link. @@ -4380,9 +4382,11 @@ Arm_relobj<big_endian>::scan_sections_for_stubs( relinfo.reloc_shndx = i; relinfo.data_shndx = index; unsigned int sh_type = shdr.get_sh_type(); - const unsigned int reloc_size = (sh_type == elfcpp::SHT_REL - ? elfcpp::Elf_sizes<32>::rel_size - : elfcpp::Elf_sizes<32>::rela_size); + unsigned int reloc_size; + if (sh_type == elfcpp::SHT_REL) + reloc_size = elfcpp::Elf_sizes<32>::rel_size; + else + reloc_size = elfcpp::Elf_sizes<32>::rela_size; Output_section* os = out_sections[index]; arm_target->scan_section_for_stubs(&relinfo, sh_type, prelocs, |