]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[AArch64][GAS] Backport "Positively emit symbols for alignment"
authorJiong Wang <jiong.wang@arm.com>
Thu, 18 Jun 2015 11:32:19 +0000 (12:32 +0100)
committerJiong Wang <jiong.wang@arm.com>
Thu, 18 Jun 2015 11:32:19 +0000 (12:32 +0100)
2015-06-17  Renlin Li  <renlin.li@arm.com>

Applied from master.
2015-05-05  Renlin Li  <renlin.li@arm.com>

gas/
  * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping
  symbols.

gas/testsuite/
  * gas/aarch64/mapping_5.d: New.
  * gas/aarch64/mapping_5.s: New.
  * gas/aarch64/mapping_6.d: New.
  * gas/aarch64/mapping_6.s: New.

gas/ChangeLog
gas/config/tc-aarch64.c
gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/mapping_5.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/mapping_5.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/mapping_6.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/mapping_6.s [new file with mode: 0644]

index 1195d98d01e53cc778579890881851d729fc12f1..7b947cdab2feb5e1ff35c059292a6fcaf3b16a2e 100644 (file)
@@ -1,3 +1,11 @@
+2015-06-17  Renlin Li  <renlin.li@arm.com>
+
+       Applied from master.
+       2015-05-05  Renlin Li  <renlin.li@arm.com>
+
+       * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping
+       symbols. 
+
 2015-06-04  Matthew Wahab  <matthew.wahab@arm.com>
 
        * config/tc-aarch64.c (mapping_state): Set minimum alignment for code
index 10b1b740fa23ceb6d5cacdb63b32168fbb0062d7..2a94fe008f0d158fabf0673f6a103528debdc26f 100644 (file)
@@ -5921,21 +5921,20 @@ aarch64_init_frag (fragS * fragP, int max_chars)
   /* Record a mapping symbol for alignment frags.  We will delete this
      later if the alignment ends up empty.  */
   if (!fragP->tc_frag_data.recorded)
+    fragP->tc_frag_data.recorded = 1;
+
+  switch (fragP->fr_type)
     {
-      fragP->tc_frag_data.recorded = 1;
-      switch (fragP->fr_type)
-       {
-       case rs_align:
-       case rs_align_test:
-       case rs_fill:
-         mapping_state_2 (MAP_DATA, max_chars);
-         break;
-       case rs_align_code:
-         mapping_state_2 (MAP_INSN, max_chars);
-         break;
-       default:
-         break;
-       }
+    case rs_align:
+    case rs_align_test:
+    case rs_fill:
+      mapping_state_2 (MAP_DATA, max_chars);
+      break;
+    case rs_align_code:
+      mapping_state_2 (MAP_INSN, max_chars);
+      break;
+    default:
+      break;
     }
 }
 \f
index bc581b9e8ccc223d1cd1c097e0b1de877075fb83..e5a946cff72d2a1d7a0581b84daab03dda9d9579 100644 (file)
@@ -1,3 +1,13 @@
+2015-06-17  Renlin Li  <renlin.li@arm.com>
+
+       Applied from master.
+       2015-05-05  Renlin Li  <renlin.li@arm.com>
+
+       * gas/aarch64/mapping_5.d: New.
+       * gas/aarch64/mapping_5.s: New.
+       * gas/aarch64/mapping_6.d: New.
+       * gas/aarch64/mapping_6.s: New.
+
 2015-06-16  Matthew Wahab  <matthew.wahab@arm.com>
 
        Applied from master.
diff --git a/gas/testsuite/gas/aarch64/mapping_5.d b/gas/testsuite/gas/aarch64/mapping_5.d
new file mode 100644 (file)
index 0000000..8a85038
--- /dev/null
@@ -0,0 +1,14 @@
+#objdump: --syms --special-syms
+#name: AArch64 Mapping Symbols Test 5
+
+.*: +file format.*aarch64.*
+
+SYMBOL TABLE:
+[0]+00 l    d  .text   [0]+00 .text
+[0]+00 l    d  .data   [0]+00 .data
+[0]+00 l    d  .bss    [0]+00 .bss
+[0]+00 l       .text   [0]+00 \$x
+[0]+04 l       .text   [0]+00 \$d
+[0]+08 l       .text   [0]+00 \$x
+[0]+10 l       .text   [0]+00 \$d
+[0]+14 l       .text   [0]+00 \$x
diff --git a/gas/testsuite/gas/aarch64/mapping_5.s b/gas/testsuite/gas/aarch64/mapping_5.s
new file mode 100644 (file)
index 0000000..2cb95ed
--- /dev/null
@@ -0,0 +1,5 @@
+       .text
+       nop
+       .long   0
+       .align  4
+       .word   0x12345678
diff --git a/gas/testsuite/gas/aarch64/mapping_6.d b/gas/testsuite/gas/aarch64/mapping_6.d
new file mode 100644 (file)
index 0000000..df6bdaa
--- /dev/null
@@ -0,0 +1,15 @@
+#objdump: --syms --special-syms
+#name: AArch64 Mapping Symbols Test 6
+
+.*: +file format.*aarch64.*
+
+SYMBOL TABLE:
+[0]+00 l    d  .text   [0]+00 .text
+[0]+00 l    d  .data   [0]+00 .data
+[0]+00 l    d  .bss    [0]+00 .bss
+[0]+00 l       .text   [0]+00 \$x
+[0]+04 l       .text   [0]+00 \$d
+[0]+10 l       .text   [0]+00 \$d
+[0]+14 l       .text   [0]+00 \$x
+[0]+09 l       .text   [0]+00 \$d
+[0]+0c l       .text   [0]+00 \$x
diff --git a/gas/testsuite/gas/aarch64/mapping_6.s b/gas/testsuite/gas/aarch64/mapping_6.s
new file mode 100644 (file)
index 0000000..4e0e2c5
--- /dev/null
@@ -0,0 +1,6 @@
+       .text
+       nop
+       .long   0
+       .byte   1
+       .align  4
+       .word   0x12345678