commit 262a89bcf8dd349e065d46896965c49054c8a034 Author: Renlin Li Date: Wed Jun 3 16:34:10 2015 +0100 aarch64 backport Change-Id: Ie8d550c3518a25de0094fe7dc7bcfecd1ac77356 diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 62a1a3f..015b0b7 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -5914,21 +5914,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; } } diff --git a/gas/testsuite/gas/aarch64/mapping_5.d b/gas/testsuite/gas/aarch64/mapping_5.d new file mode 100644 index 0000000..8a85038 --- /dev/null +++ b/gas/testsuite/gas/aarch64/mapping_5.d @@ -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 index 0000000..2cb95ed --- /dev/null +++ b/gas/testsuite/gas/aarch64/mapping_5.s @@ -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 index 0000000..df6bdaa --- /dev/null +++ b/gas/testsuite/gas/aarch64/mapping_6.d @@ -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 index 0000000..4e0e2c5 --- /dev/null +++ b/gas/testsuite/gas/aarch64/mapping_6.s @@ -0,0 +1,6 @@ + .text + nop + .long 0 + .byte 1 + .align 4 + .word 0x12345678