+2015-05-06  Renlin Li  <renlin.li@arm.com>
+
+       * config/tc-aarch64.c (mapping_state): Recording alignment before exit.
+
 2015-05-05  Renlin Li  <renlin.li@arm.com>
 
        * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping
 
 {
   enum mstate mapstate = seg_info (now_seg)->tc_segment_info_data.mapstate;
 
-  if (mapstate == state)
-    /* The mapping symbol has already been emitted.
-       There is nothing else to do.  */
-    return;
-
   if (state == MAP_INSN)
     /* AArch64 instructions require 4-byte alignment.  When emitting
        instructions into any section, record the appropriate section
        alignment.  */
     record_alignment (now_seg, 2);
 
+  if (mapstate == state)
+    /* The mapping symbol has already been emitted.
+       There is nothing else to do.  */
+    return;
+
 #define TRANSITION(from, to) (mapstate == (from) && state == (to))
   if (TRANSITION (MAP_UNDEFINED, MAP_DATA) && !subseg_text_p (now_seg))
     /* Emit MAP_DATA within executable section in order.  Otherwise, it will be
 
+2015-05-06  Renlin Li  <renlin.li@arm.com>
+
+       * gas/aarch64/codealign_1.s: New.
+       * gas/aarch64/codealign_1.d: New.
+
 2015-05-05  Renlin Li  <renlin.li@arm.com>
 
        * gas/aarch64/mapping_5.d: New.
 
--- /dev/null
+#objdump: --section-headers
+# Minimum code alignment should be set.
+
+.*: +file format.*aarch64.*
+
+Sections:
+Idx Name          Size      VMA               LMA               File off  Algn
+  0 \.text         .*  .*  .*  .*  2\*\*2
+                  .*CODE.*
+  1 \.data         .*  .*  .* .*  2\*\*0
+                  .*DATA.*
+  2 \.bss          .*  .*  .*  .*  2\*\*0
+.*
 
--- /dev/null
+.text
+  .byte 0xf
+  .inst 0xd503201f