mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 07:53:51 +08:00
gas/ChangeLog:
* read.c (s_weakref): Do not permit redefinitions. * symbols.c (colon): Do not permit redefinitions of equated symbols. gas/testsuite/ChangeLog: * gas/all/gas.exp: Remove weakref xfail. Run weakref4.s. * gas/all/weakref1.s: Move redefinition bits to... * gas/all/weakref4.s: ... new file. * gas/all/weakref1.d: Remove command moved to weakref1u. Adjust remaining command for leading tabs. Regenerate. * gas/all/weakref1l.d: Regenerate. * gas/all/weakref1u.d: Likewise. * gas/all/wealref1w.d: Likewise.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2005-11-04 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* read.c (s_weakref): Do not permit redefinitions.
|
||||
* symbols.c (colon): Do not permit redefinitions of equated
|
||||
symbols.
|
||||
|
||||
2005-11-01 Thiemo Seufer <ths@networkno.de>
|
||||
|
||||
PR gas/1299
|
||||
|
@ -3178,6 +3178,14 @@ s_weakref (int ignore ATTRIBUTE_UNUSED)
|
||||
|
||||
symbolP = symbol_find_or_make (name);
|
||||
|
||||
if (S_IS_DEFINED (symbolP) || symbol_equated_p (symbolP))
|
||||
{
|
||||
as_bad (_("symbol `%s' is already defined"), name);
|
||||
*end_name = delim;
|
||||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
|
||||
*end_name = delim;
|
||||
|
||||
SKIP_WHITESPACE ();
|
||||
|
@ -332,7 +332,8 @@ colon (/* Just seen "x:" - rattle symbols & frags. */
|
||||
local_symbol_set_frag (locsym, frag_now);
|
||||
locsym->lsy_value = frag_now_fix ();
|
||||
}
|
||||
else if (!S_IS_DEFINED (symbolP) || S_IS_COMMON (symbolP))
|
||||
else if (!(S_IS_DEFINED (symbolP) || symbol_equated_p (symbolP))
|
||||
|| S_IS_COMMON (symbolP))
|
||||
{
|
||||
if (S_GET_VALUE (symbolP) == 0)
|
||||
{
|
||||
|
@ -1,3 +1,14 @@
|
||||
2005-11-04 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* gas/all/gas.exp: Remove weakref xfail. Run weakref4.s.
|
||||
* gas/all/weakref1.s: Move redefinition bits to...
|
||||
* gas/all/weakref4.s: ... new file.
|
||||
* gas/all/weakref1.d: Remove command moved to weakref1u. Adjust
|
||||
remaining command for leading tabs. Regenerate.
|
||||
* gas/all/weakref1l.d: Regenerate.
|
||||
* gas/all/weakref1u.d: Likewise.
|
||||
* gas/all/wealref1w.d: Likewise.
|
||||
|
||||
2005-11-04 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* gas/all/gas.exp: xfail weakref dump tests for all targets.
|
||||
|
@ -256,20 +256,16 @@ if { ![istarget "i960-*-*"] } {
|
||||
case $target_triplet in {
|
||||
{ z80-*-* } { }
|
||||
default {
|
||||
setup_xfail *-*-*
|
||||
run_dump_test weakref1
|
||||
setup_xfail *-*-*
|
||||
run_dump_test weakref1g
|
||||
setup_xfail *-*-*
|
||||
run_dump_test weakref1l
|
||||
setup_xfail *-*-*
|
||||
run_dump_test weakref1u
|
||||
setup_xfail *-*-*
|
||||
run_dump_test weakref1w
|
||||
}
|
||||
}
|
||||
gas_test_error "weakref2.s" "" "e: would close weakref loop: e => a => b => c => d => e"
|
||||
gas_test_error "weakref3.s" "" "a: would close weakref loop: a => b => c => d => e => a"
|
||||
gas_test_error "weakref4.s" "" "is already defined"
|
||||
|
||||
load_lib gas-dg.exp
|
||||
dg-init
|
||||
|
@ -11,9 +11,7 @@ OFFSET +TYPE +VALUE *
|
||||
# the rest of this file is generated with the following script:
|
||||
# # script begin
|
||||
# echo \#...
|
||||
# sed -n 's:^\.weakref .*, \(\(u\|\(w\)\).*\)$:.*( \3 |\(sec 0\)).* \1:p' weakref1.s | uniq | while read line; do echo "$line"; echo "#..."; done
|
||||
|
||||
# sed -n 's:^\.long \(W\|\)\(.*[^a-z]\)[a-z]*\(\| - .*\)$:\2:p' weakref1.s | sed -e 's,^[lg].*,(&|\\.text)(\\+0x[0-9a-f]+)?,' | sed 's,^,[0-9a-f]+ [^ ]* +,'
|
||||
# sed -n 's:^[ ]*\.long \(W\|\)\(.*[^a-z]\)[a-z]*\(\| - .*\)$:\2:p' weakref1.s | sed -e 's,^[lg].*,(&|\\.text)(\\+0x[0-9a-f]+)?,' | sed 's,^,[0-9a-f]+ [^ ]* +,'
|
||||
# # script output:
|
||||
#...
|
||||
[0-9a-f]+ [^ ]* +wa1
|
||||
@ -71,8 +69,6 @@ OFFSET +TYPE +VALUE *
|
||||
[0-9a-f]+ [^ ]* +ww9
|
||||
[0-9a-f]+ [^ ]* +ww10
|
||||
[0-9a-f]+ [^ ]* +ww10
|
||||
[0-9a-f]+ [^ ]* +um2
|
||||
[0-9a-f]+ [^ ]* +wm3
|
||||
[0-9a-f]+ [^ ]* +um5
|
||||
[0-9a-f]+ [^ ]* +wm6
|
||||
[0-9a-f]+ [^ ]* +wm7
|
||||
@ -87,18 +83,6 @@ OFFSET +TYPE +VALUE *
|
||||
[0-9a-f]+ [^ ]* +uh8
|
||||
[0-9a-f]+ [^ ]* +uh9
|
||||
[0-9a-f]+ [^ ]* +uh9
|
||||
[0-9a-f]+ [^ ]* +(lr1|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +(lr1|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +(lr2|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +(lr2|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +wr3
|
||||
[0-9a-f]+ [^ ]* +wr3
|
||||
[0-9a-f]+ [^ ]* +wr4
|
||||
[0-9a-f]+ [^ ]* +wr5
|
||||
[0-9a-f]+ [^ ]* +(lr6|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +ur6
|
||||
[0-9a-f]+ [^ ]* +(lr7|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +(lr7|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +(ld1|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +(ld2|\.text)(\+0x[0-9a-f]+)?
|
||||
[0-9a-f]+ [^ ]* +(ld3|\.text)(\+0x[0-9a-f]+)?
|
||||
|
@ -126,17 +126,6 @@ l:
|
||||
.weak ww10
|
||||
|
||||
/* m# test multiple weakrefs */
|
||||
.weakref Wnm1, nm1
|
||||
.weakref Wnm1, nm1
|
||||
|
||||
.weakref Wum2, um2
|
||||
.weakref Wum2, um2
|
||||
.long um2
|
||||
|
||||
.weakref Wwm3, wm3
|
||||
.weakref Wwm3, wm3
|
||||
.long Wwm3
|
||||
|
||||
.weakref Wnm4a, nm4
|
||||
.weakref Wnm4b, nm4
|
||||
|
||||
@ -197,40 +186,6 @@ l:
|
||||
.weakref Wuh9a, uh9
|
||||
.long uh9
|
||||
|
||||
/* r# weakref redefinitions, to and from */
|
||||
.weakref lr1, nr1
|
||||
.long lr1
|
||||
.set lr1, l
|
||||
.long lr1
|
||||
|
||||
.long lr2
|
||||
.weakref lr2, nr2
|
||||
.set lr2, l
|
||||
.long lr2
|
||||
|
||||
.set Wwr3, l
|
||||
.long Wwr3
|
||||
.weakref Wwr3, wr3
|
||||
.long Wwr3
|
||||
|
||||
.set Wwr4, l
|
||||
.weakref Wwr4, wr4
|
||||
.long Wwr4
|
||||
|
||||
.set Wwr5, l
|
||||
.long Wwr5
|
||||
.weakref Wwr5, wr5
|
||||
|
||||
.weakref lr6, ur6
|
||||
.long lr6
|
||||
.set lr6, l
|
||||
.long ur6
|
||||
|
||||
.weakref lr7, nr7
|
||||
.long lr7
|
||||
lr7:
|
||||
.long lr7
|
||||
|
||||
/* d# target symbol definitions */
|
||||
.weakref Wld1, ld1
|
||||
.long Wld1
|
||||
|
@ -13,14 +13,6 @@
|
||||
#...
|
||||
.* t l
|
||||
#...
|
||||
.* t lr1
|
||||
#...
|
||||
.* t lr2
|
||||
#...
|
||||
.* t lr6
|
||||
#...
|
||||
.* t lr7
|
||||
#...
|
||||
.* t ld1
|
||||
#...
|
||||
.* t ld2
|
||||
|
@ -39,15 +39,11 @@
|
||||
#...
|
||||
.* U uc9
|
||||
#...
|
||||
.* U um2
|
||||
#...
|
||||
.* U um5
|
||||
#...
|
||||
.* U uh8
|
||||
#...
|
||||
.* U uh9
|
||||
#...
|
||||
.* U ur6
|
||||
#...
|
||||
.* U ud5
|
||||
#pass
|
||||
|
@ -36,8 +36,6 @@
|
||||
#...
|
||||
.* w ww10
|
||||
#...
|
||||
.* w wm3
|
||||
#...
|
||||
.* w wm6
|
||||
#...
|
||||
.* w wm7
|
||||
@ -55,10 +53,4 @@
|
||||
.* w wh6
|
||||
#...
|
||||
.* w wh7
|
||||
#...
|
||||
.* w wr3
|
||||
#...
|
||||
.* w wr4
|
||||
#...
|
||||
.* w wr5
|
||||
#pass
|
||||
|
45
gas/testsuite/gas/all/weakref4.s
Normal file
45
gas/testsuite/gas/all/weakref4.s
Normal file
@ -0,0 +1,45 @@
|
||||
/* m# test multiple weakrefs */
|
||||
.weakref Wnm1, nm1
|
||||
.weakref Wnm1, nm1
|
||||
|
||||
.weakref Wum2, um2
|
||||
.weakref Wum2, um2
|
||||
.long um2
|
||||
|
||||
.weakref Wwm3, wm3
|
||||
.weakref Wwm3, wm3
|
||||
.long Wwm3
|
||||
|
||||
/* r# weakref redefinitions, to and from */
|
||||
.weakref lr1, nr1
|
||||
.long lr1
|
||||
.set lr1, l
|
||||
.long lr1
|
||||
|
||||
.long lr2
|
||||
.weakref lr2, nr2
|
||||
.set lr2, l
|
||||
.long lr2
|
||||
|
||||
.set Wwr3, l
|
||||
.long Wwr3
|
||||
.weakref Wwr3, wr3
|
||||
.long Wwr3
|
||||
|
||||
.set Wwr4, l
|
||||
.weakref Wwr4, wr4
|
||||
.long Wwr4
|
||||
|
||||
.set Wwr5, l
|
||||
.long Wwr5
|
||||
.weakref Wwr5, wr5
|
||||
|
||||
.weakref lr6, ur6
|
||||
.long lr6
|
||||
.set lr6, l
|
||||
.long ur6
|
||||
|
||||
.weakref lr7, nr7
|
||||
.long lr7
|
||||
lr7:
|
||||
.long lr7
|
Reference in New Issue
Block a user