* config/tc-arm.c (make_mapping_symbol): Hanle the case

that two mapping symbols have the same value.

	testsuite/
	* gas/arm/mapmisc.s: Add the test case for two mapping
	symbols having the same value.
	* gas/arm/mapmisc.d: Likewise.
This commit is contained in:
Jie Zhang 2010-03-19 14:43:09 +00:00
parent 860deac3a2
commit 0f020cefaa
5 changed files with 24 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2010-03-19 Jie Zhang <jie@codesourcery.com>
* config/tc-arm.c (make_mapping_symbol): Hanle the case
that two mapping symbols have the same value.
2010-03-18 Daniel Jacobowitz <dan@codesourcery.com>
* doc/c-arm.texi (.setfp): Correct example.

View File

@ -2500,7 +2500,15 @@ make_mapping_symbol (enum mstate state, valueT value, fragS *frag)
frag->tc_frag_data.first_map = symbolP;
}
if (frag->tc_frag_data.last_map != NULL)
know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP));
{
know (S_GET_VALUE (frag->tc_frag_data.last_map) <= S_GET_VALUE (symbolP));
/* If .fill or other data filling directive generates zero sized data,
the mapping symbol for the following code will have the same value
as the one generated for the data filling directive. In this case,
we replace the old symbol with the new one at the same address. */
if (S_GET_VALUE (frag->tc_frag_data.last_map) == S_GET_VALUE (symbolP))
symbol_remove (frag->tc_frag_data.last_map, &symbol_rootP, &symbol_lastP);
}
frag->tc_frag_data.last_map = symbolP;
}

View File

@ -1,3 +1,9 @@
2010-03-19 Jie Zhang <jie@codesourcery.com>
* gas/arm/mapmisc.s: Add the test case for two mapping
symbols having the same value.
* gas/arm/mapmisc.d: Likewise.
2010-03-18 Wei Guozhi <carrot@google.com>
PR gas/11323

View File

@ -46,6 +46,7 @@ SYMBOL TABLE:
0+9c l .text 00000000 \$a
0+a0 l .text 00000000 \$d
0+a4 l .text 00000000 \$a
0+a8 l .text 00000000 \$a
0+00 l d .ARM.attributes 00000000 .ARM.attributes
@ -93,3 +94,4 @@ Disassembly of section .text:
9c: e1a00000 nop ; \(mov r0, r0\)
a0: 7778797a .word 0x7778797a
a4: e1a00000 nop ; \(mov r0, r0\)
a8: e1a00000 nop ; \(mov r0, r0\)

View File

@ -34,3 +34,5 @@ foo:
nop
.incbin "mapmisc.dat"
nop
.fill 0, 0, 0
nop