From c7ad08e6e5ff0768f5f0aeed12864a7bab588386 Mon Sep 17 00:00:00 2001 From: Renlin Li Date: Tue, 5 May 2015 17:48:18 +0100 Subject: [PATCH] [AARCH64] Positively emit symbols for alignment 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. --- gas/ChangeLog | 5 +++++ gas/config/tc-aarch64.c | 27 +++++++++++++-------------- gas/testsuite/ChangeLog | 7 +++++++ gas/testsuite/gas/aarch64/mapping_5.d | 13 +++++++++++++ gas/testsuite/gas/aarch64/mapping_5.s | 5 +++++ gas/testsuite/gas/aarch64/mapping_6.d | 14 ++++++++++++++ gas/testsuite/gas/aarch64/mapping_6.s | 6 ++++++ 7 files changed, 63 insertions(+), 14 deletions(-) create mode 100644 gas/testsuite/gas/aarch64/mapping_5.d create mode 100644 gas/testsuite/gas/aarch64/mapping_5.s create mode 100644 gas/testsuite/gas/aarch64/mapping_6.d create mode 100644 gas/testsuite/gas/aarch64/mapping_6.s diff --git a/gas/ChangeLog b/gas/ChangeLog index 30831ae..c873270 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2015-05-05 Renlin Li + + * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping + symbols. + 2015-05-05 Nick Clifton * config/tc-msp430.c (MAX_OP_LEN): Increase to 4096. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 646deb6..12012de 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -6028,21 +6028,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 e1fda77..29649e1 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +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-05-01 H.J. Lu * gas/i386/i386.exp: Run note. diff --git a/gas/testsuite/gas/aarch64/mapping_5.d b/gas/testsuite/gas/aarch64/mapping_5.d new file mode 100644 index 0000000..4778b3d --- /dev/null +++ b/gas/testsuite/gas/aarch64/mapping_5.d @@ -0,0 +1,13 @@ +#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 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..3a5dfb8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/mapping_6.d @@ -0,0 +1,14 @@ +#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]+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 -- 2.7.4