aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2loc.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2019-11-25 12:31:02 -0700
committerTom Tromey <tromey@adacore.com>2019-12-04 09:31:18 -0700
commitd5a22e77b56529eade787419ea80a7e9e7d2aa6f (patch)
tree9efbd056575604aae8ac03e072aac8e2439ea3cd /gdb/dwarf2loc.c
parent7ab4a236ce85f1e0950e88e267e679a066b77bed (diff)
downloadfsf-binutils-gdb-d5a22e77b56529eade787419ea80a7e9e7d2aa6f.zip
fsf-binutils-gdb-d5a22e77b56529eade787419ea80a7e9e7d2aa6f.tar.gz
fsf-binutils-gdb-d5a22e77b56529eade787419ea80a7e9e7d2aa6f.tar.bz2
Remove gdbarch_bits_big_endian
From what I can tell, set_gdbarch_bits_big_endian has never been used. That is, all architectures since its introduction have simply used the default, which is simply check the architecture's byte-endianness. Because this interferes with the scalar_storage_order code, this patch removes this gdbarch setting entirely. In some places, type_byte_order is used rather than the plain gdbarch. gdb/ChangeLog 2019-12-04 Tom Tromey <tromey@adacore.com> * ada-lang.c (decode_constrained_packed_array) (ada_value_assign, value_assign_to_component): Update. * dwarf2loc.c (rw_pieced_value, access_memory) (dwarf2_compile_expr_to_ax): Update. * dwarf2read.c (dwarf2_add_field): Update. * eval.c (evaluate_subexp_standard): Update. * gdbarch.c, gdbarch.h: Rebuild. * gdbarch.sh (bits_big_endian): Remove. * gdbtypes.h (union field_location): Update comment. * target-descriptions.c (make_gdb_type): Update. * valarith.c (value_bit_index): Update. * value.c (struct value) <bitpos>: Update comment. (unpack_bits_as_long, modify_field): Update. * value.h (value_bitpos): Update comment. Change-Id: I379b5e0c408ec8742f7a6c6b721108e73ed1b018
Diffstat (limited to 'gdb/dwarf2loc.c')
-rw-r--r--gdb/dwarf2loc.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index 0b22745..976d453 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -1577,8 +1577,7 @@ rw_pieced_value (struct value *v, struct value *from)
struct piece_closure *c
= (struct piece_closure *) value_computed_closure (v);
gdb::byte_vector buffer;
- int bits_big_endian
- = gdbarch_bits_big_endian (get_type_arch (value_type (v)));
+ bool bits_big_endian = type_byte_order (value_type (v)) == BFD_ENDIAN_BIG;
if (from != NULL)
{
@@ -2817,7 +2816,7 @@ access_memory (struct gdbarch *arch, struct agent_expr *expr, ULONGEST nbits)
if (8 * nbytes == nbits)
return;
- if (gdbarch_bits_big_endian (arch))
+ if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG)
{
/* On a bits-big-endian machine, we want the high-order
NBITS. */
@@ -2867,7 +2866,7 @@ dwarf2_compile_expr_to_ax (struct agent_expr *expr, struct axs_value *loc,
enum bfd_endian byte_order = gdbarch_byte_order (arch);
ULONGEST bits_collected = 0;
unsigned int addr_size_bits = 8 * addr_size;
- int bits_big_endian = gdbarch_bits_big_endian (arch);
+ bool bits_big_endian = byte_order == BFD_ENDIAN_BIG;
std::vector<int> offsets (op_end - op_ptr, -1);