diff options
author | Ian Lance Taylor <iant@google.com> | 2008-02-28 00:18:24 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2008-02-28 00:18:24 +0000 |
commit | 8851eccaec28f25f56fab5ba5d8ae44f71729975 (patch) | |
tree | 8580999a45a15a7e86dbabb0675a05f647aedd1a /gold/dwarf_reader.cc | |
parent | f960754aeea602f787d1828efb0f9a8baeca646e (diff) | |
download | gdb-8851eccaec28f25f56fab5ba5d8ae44f71729975.zip gdb-8851eccaec28f25f56fab5ba5d8ae44f71729975.tar.gz gdb-8851eccaec28f25f56fab5ba5d8ae44f71729975.tar.bz2 |
From Craig Silverstein: Have Parameters point to General_options.
Diffstat (limited to 'gold/dwarf_reader.cc')
-rw-r--r-- | gold/dwarf_reader.cc | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/gold/dwarf_reader.cc b/gold/dwarf_reader.cc index 19c1a03..136e4a6 100644 --- a/gold/dwarf_reader.cc +++ b/gold/dwarf_reader.cc @@ -790,36 +790,31 @@ std::string Dwarf_line_info::one_addr2line(Object* object, unsigned int shndx, off_t offset) { - if (parameters->get_size() == 32 && !parameters->is_big_endian()) + switch (parameters->size_and_endianness()) + { #ifdef HAVE_TARGET_32_LITTLE - return Sized_dwarf_line_info<32, false>(object, shndx).addr2line(shndx, - offset); -#else - gold_unreachable(); + case Parameters::TARGET_32_LITTLE: + return Sized_dwarf_line_info<32, false>(object, shndx).addr2line(shndx, + offset); #endif - else if (parameters->get_size() == 32 && parameters->is_big_endian()) #ifdef HAVE_TARGET_32_BIG - return Sized_dwarf_line_info<32, true>(object, shndx).addr2line(shndx, - offset); -#else - gold_unreachable(); + case Parameters::TARGET_32_BIG: + return Sized_dwarf_line_info<32, true>(object, shndx).addr2line(shndx, + offset); #endif - else if (parameters->get_size() == 64 && !parameters->is_big_endian()) #ifdef HAVE_TARGET_64_LITTLE - return Sized_dwarf_line_info<64, false>(object, shndx).addr2line(shndx, - offset); -#else - gold_unreachable(); + case Parameters::TARGET_64_LITTLE: + return Sized_dwarf_line_info<64, false>(object, shndx).addr2line(shndx, + offset); #endif - else if (parameters->get_size() == 64 && parameters->is_big_endian()) -#ifdef HAVE_TARGET_64_BIT - return Sized_dwarf_line_info<64, true>(object, shndx).addr2line(shndx, - offset); -#else - gold_unreachable(); +#ifdef HAVE_TARGET_64_BIG + case Parameters::TARGET_64_BIG: + return Sized_dwarf_line_info<64, true>(object, shndx).addr2line(shndx, + offset); #endif - else - gold_unreachable(); + default: + gold_unreachable(); + } } #ifdef HAVE_TARGET_32_LITTLE |