From: Jiong Wang Date: Thu, 18 Jun 2015 11:32:19 +0000 (+0100) Subject: [AArch64][GAS] Backport "Positively emit symbols for alignment" X-Git-Tag: binutils-2_25_1~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a70a60181615087e1bd97770bf256bdeebceab4f;p=thirdparty%2Fbinutils-gdb.git [AArch64][GAS] Backport "Positively emit symbols for alignment" 2015-06-17 Renlin Li Applied from master. 2015-05-05 Renlin Li 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. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 1195d98d01e..7b947cdab2f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2015-06-17 Renlin Li + + Applied from master. + 2015-05-05 Renlin Li + + * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping + symbols. + 2015-06-04 Matthew Wahab * config/tc-aarch64.c (mapping_state): Set minimum alignment for code diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 10b1b740fa2..2a94fe008f0 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -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; } } diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index bc581b9e8cc..e5a946cff72 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2015-06-17 Renlin Li + + Applied from master. + 2015-05-05 Renlin Li + + * 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 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 index 00000000000..8a8503827cf --- /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 00000000000..2cb95ed791c --- /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 00000000000..df6bdaa2663 --- /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 00000000000..4e0e2c58cce --- /dev/null +++ b/gas/testsuite/gas/aarch64/mapping_6.s @@ -0,0 +1,6 @@ + .text + nop + .long 0 + .byte 1 + .align 4 + .word 0x12345678