This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Binutils branch 2.20 (done!)
On Sat, Sep 05, 2009 at 08:39:26PM +0800, Jie Zhang wrote:
>> bfin-elf/log0:FAIL: flow2
>> bfin-elf/log0:FAIL: loop
>> bfin-elf/log0:FAIL: loop2
>> bfin-elf/log0:FAIL: loop3
>
> I don't see these 4 FAILs here.
bfin happened to trigger a bug in an alternative fix in my tree for
http://lists.gnu.org/archive/html/bug-binutils/2008-11/msg00023.html
Sorry for the false alarm.
> Index: gas/doc/as.texinfo
> ===================================================================
> RCS file: /cvs/src/src/gas/doc/as.texinfo,v
> retrieving revision 1.208
> diff -u -r1.208 as.texinfo
> --- gas/doc/as.texinfo 4 Sep 2009 02:31:44 -0000 1.208
> +++ gas/doc/as.texinfo 5 Sep 2009 12:33:06 -0000
> @@ -3272,6 +3272,13 @@
> equals sign @samp{=}@samp{=} here represents an equivalent of the
> @code{.eqv} directive. @xref{Eqv,,@code{.eqv}}.
>
> +Blackfin has an algebra assembly syntax.
> +Assigning value to a register has the form @code{REG = VALUE}.
> +If there is typo of @code{REG}, this will become @code{SYMBOL = VALUE}.
> +That error is not easy to notice. So it's better to let Blackfin GAS
> +reject @code{SYMBOL = VALUE} to detect such error.
> +@code{.set} can be used if user want to set value to a symbol.
> +
This should be inside @ifset Blackfin, @end ifset. Also, I would not
justify your design decision here.
@ifset Blackfin
Blackfin does not support symbol assignment with @samp{=} or
@samp{=}@samp{=}.
@end ifset
> Index: ld/testsuite/ld-elf/sec64k.exp
> ===================================================================
> RCS file: /cvs/src/src/ld/testsuite/ld-elf/sec64k.exp,v
> retrieving revision 1.16
> diff -u -r1.16 sec64k.exp
> --- ld/testsuite/ld-elf/sec64k.exp 2 Sep 2009 07:25:39 -0000 1.16
> +++ ld/testsuite/ld-elf/sec64k.exp 5 Sep 2009 12:33:07 -0000
> @@ -77,9 +77,9 @@
> puts $ofd "bar_\\secn:"
> puts $ofd " .dc.a bar_\\secn"
> puts $ofd " .endm"
> - puts $ofd " secn = [expr $i * $secs_per_file]"
> + puts $ofd " .set secn, [expr $i * $secs_per_file]"
> puts $ofd " .rept $secs_per_file"
> - puts $ofd " secn = secn + 1"
> + puts $ofd " .set secn, secn + 1"
> puts $ofd " sec %(secn), %(secn-1)"
> puts $ofd " .endr"
>
No, that would break other architectures that use .set for something
other than symbol assignment, eg. alpha. Using .equ won't work
either, since hppa has a different .equ syntax. You should just
disable the test for bfin, or better
if { [istarget "bfin-*-*"] } then {
puts $ofd " .set secn, [expr $i * $secs_per_file]"
} else {
puts $ofd " secn = [expr $i * $secs_per_file]"
}
etc.
--
Alan Modra
Australia Development Lab, IBM