summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/testsuite/binutils-all/aarch64/in-order-all.d43
-rw-r--r--binutils/testsuite/binutils-all/aarch64/out-of-order-all.d43
-rw-r--r--binutils/testsuite/binutils-all/aarch64/out-of-order.d17
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/aarch64-dis.c3
6 files changed, 100 insertions, 17 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 1c6c354484f..aad8bddb945 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,11 @@
2019-03-25 Tamar Christina <tamar.christina@arm.com>
+ * testsuite/binutils-all/aarch64/in-order-all.d: New test.
+ * testsuite/binutils-all/aarch64/out-of-order-all.d: New test.
+ * testsuite/binutils-all/aarch64/out-of-order.d:
+
+2019-03-25 Tamar Christina <tamar.christina@arm.com>
+
* testsuite/binutils-all/aarch64/in-order.d: New test.
* testsuite/binutils-all/aarch64/out-of-order.d: Disassemble data as
well.
diff --git a/binutils/testsuite/binutils-all/aarch64/in-order-all.d b/binutils/testsuite/binutils-all/aarch64/in-order-all.d
new file mode 100644
index 00000000000..32f501b7d46
--- /dev/null
+++ b/binutils/testsuite/binutils-all/aarch64/in-order-all.d
@@ -0,0 +1,43 @@
+#PROG: objcopy
+#source: out-of-order.s
+#ld: -e v1 -Ttext-segment=0x400000
+#objdump: -D
+#name: Check if disassembler can handle all sections in default order
+
+.*: +file format .*aarch64.*
+
+Disassembly of section \.func1:
+
+0000000000400000 <v1>:
+ 400000: 8b010000 add x0, x0, x1
+ 400004: 00000000 \.inst 0x00000000 ; undefined
+
+Disassembly of section \.func2:
+
+0000000000400008 <\.func2>:
+ 400008: 8b010000 add x0, x0, x1
+
+Disassembly of section \.func3:
+
+000000000040000c <\.func3>:
+ 40000c: 8b010000 add x0, x0, x1
+ 400010: 8b010000 add x0, x0, x1
+ 400014: 8b010000 add x0, x0, x1
+ 400018: 8b010000 add x0, x0, x1
+ 40001c: 8b010000 add x0, x0, x1
+ 400020: 00000000 \.inst 0x00000000 ; undefined
+
+Disassembly of section \.rodata:
+
+0000000000400024 <\.rodata>:
+ 400024: 00000004 \.inst 0x00000004 ; undefined
+
+Disassembly of section .global:
+
+0000000000410028 <__data_start>:
+ 410028: 00000001 \.inst 0x00000001 ; undefined
+ 41002c: 00000000 \.inst 0x00000000 ; undefined
+ 410030: 00000001 \.inst 0x00000001 ; undefined
+ 410034: 00000000 \.inst 0x00000000 ; undefined
+ 410038: 00000001 \.inst 0x00000001 ; undefined
+ 41003c: 00000000 \.inst 0x00000000 ; undefined
diff --git a/binutils/testsuite/binutils-all/aarch64/out-of-order-all.d b/binutils/testsuite/binutils-all/aarch64/out-of-order-all.d
new file mode 100644
index 00000000000..3020deff9c9
--- /dev/null
+++ b/binutils/testsuite/binutils-all/aarch64/out-of-order-all.d
@@ -0,0 +1,43 @@
+#PROG: objcopy
+#source: out-of-order.s
+#ld: -T out-of-order.T
+#objdump: -D
+#name: Check if disassembler can handle all sections in different order than header
+
+.*: +file format .*aarch64.*
+
+Disassembly of section \.global:
+
+00000000ffe00000 <\.global>:
+ ffe00000: 00000001 \.inst 0x00000001 ; undefined
+ ffe00004: 00000000 \.inst 0x00000000 ; undefined
+ ffe00008: 00000001 \.inst 0x00000001 ; undefined
+ ffe0000c: 00000000 \.inst 0x00000000 ; undefined
+ ffe00010: 00000001 \.inst 0x00000001 ; undefined
+ ffe00014: 00000000 \.inst 0x00000000 ; undefined
+
+Disassembly of section \.func2:
+
+0000000004018280 <\.func2>:
+ 4018280: 8b010000 add x0, x0, x1
+
+Disassembly of section \.func1:
+
+0000000004005000 <v1>:
+ 4005000: 8b010000 add x0, x0, x1
+ 4005004: 00000000 \.inst 0x00000000 ; undefined
+
+Disassembly of section \.func3:
+
+0000000004015000 <\.func3>:
+ 4015000: 8b010000 add x0, x0, x1
+ 4015004: 8b010000 add x0, x0, x1
+ 4015008: 8b010000 add x0, x0, x1
+ 401500c: 8b010000 add x0, x0, x1
+ 4015010: 8b010000 add x0, x0, x1
+ 4015014: 00000000 \.inst 0x00000000 ; undefined
+
+Disassembly of section \.rodata:
+
+0000000004015018 <\.rodata>:
+ 4015018: 00000004 \.inst 0x00000004 ; undefined
diff --git a/binutils/testsuite/binutils-all/aarch64/out-of-order.d b/binutils/testsuite/binutils-all/aarch64/out-of-order.d
index f78adec2162..410f37f68ea 100644
--- a/binutils/testsuite/binutils-all/aarch64/out-of-order.d
+++ b/binutils/testsuite/binutils-all/aarch64/out-of-order.d
@@ -1,20 +1,10 @@
#PROG: objcopy
#ld: -T out-of-order.T
-#objdump: -D
+#objdump: -d
#name: Check if disassembler can handle sections in different order than header
.*: +file format .*aarch64.*
-Disassembly of section \.global:
-
-00000000ffe00000 <\.global>:
- ffe00000: 00000001 \.word 0x00000001
- ffe00004: 00000000 \.word 0x00000000
- ffe00008: 00000001 \.word 0x00000001
- ffe0000c: 00000000 \.word 0x00000000
- ffe00010: 00000001 \.word 0x00000001
- ffe00014: 00000000 \.word 0x00000000
-
Disassembly of section \.func2:
0000000004018280 <\.func2>:
@@ -35,8 +25,3 @@ Disassembly of section \.func3:
401500c: 8b010000 add x0, x0, x1
4015010: 8b010000 add x0, x0, x1
4015014: 00000000 \.word 0x00000000
-
-Disassembly of section \.rodata:
-
-0000000004015018 <\.rodata>:
- 4015018: 00000004 \.word 0x00000004
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index e5705d7aadc..433e43f0857 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,10 @@
2019-03-25 Tamar Christina <tamar.christina@arm.com>
+ * aarch64-dis.c (print_insn_aarch64):
+ Implement override.
+
+2019-03-25 Tamar Christina <tamar.christina@arm.com>
+
* aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search
order.
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index 1f931d09327..eea649fd3cc 100644
--- a/opcodes/aarch64-dis.c
+++ b/opcodes/aarch64-dis.c
@@ -3433,7 +3433,8 @@ print_insn_aarch64 (bfd_vma pc,
else
last_type = type;
- if (last_type == MAP_DATA)
+ /* PR 10263: Disassemble data if requested to do so by the user. */
+ if (last_type == MAP_DATA && ((info->flags & DISASSEMBLE_DATA) == 0))
{
/* size was set above. */
info->bytes_per_chunk = size;