aboutsummaryrefslogtreecommitdiff
path: root/gdb/jv-lang.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/jv-lang.c')
-rw-r--r--gdb/jv-lang.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/jv-lang.c b/gdb/jv-lang.c
index e1b6817..6b68e7d 100644
--- a/gdb/jv-lang.c
+++ b/gdb/jv-lang.c
@@ -907,6 +907,7 @@ evaluate_subexp_java (struct type *expect_type, struct expression *exp,
if (TYPE_CODE (type) == TYPE_CODE_STRUCT
&& i > 2 && name[i - 1] == ']')
{
+ enum bfd_endian byte_order = gdbarch_byte_order (exp->gdbarch);
CORE_ADDR address;
long length, index;
struct type *el_type;
@@ -927,7 +928,7 @@ evaluate_subexp_java (struct type *expect_type, struct expression *exp,
address = value_as_address (arg1);
address += get_java_object_header_size (exp->gdbarch);
read_memory (address, buf4, 4);
- length = (long) extract_signed_integer (buf4, 4);
+ length = (long) extract_signed_integer (buf4, 4, byte_order);
index = (long) value_as_long (arg2);
if (index >= length || index < 0)
error (_("array index (%ld) out of bounds (length: %ld)"),