http://sourceware.org/bugzilla/show_bug.cgi?id=16288
Bug ID: 16288
Summary: Specifying an ISA in a .set directive causes a warning
if "lower" than set from command-line
Product: binutils
Version: 2.25 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: hp at sourceware dot org
Target: mips*-*
Seen with recent master of binutils, for example 310bf259c3524c2954; from
code-inspection likely to be present for 2.24 as well.
The following construct is common with in-lined code (seen in alsa-lib and
userspace-rcu), but gets a warning if the setting is "lower" than one specified
on the command-line.
For a mips-elf target and a file s.s, with the contents:
.set push
.set mips2
nop
.set pop
Observe:
$ gas/as-new s.s
$ gas/as-new -march=34kc s.s
s.s: Assembler messages:
s.s:2: Warning: the `dsp' extension requires MIPS32 revision 2 or greater
s.s:2: Warning: the `mt' extension requires MIPS32 revision 2 or greater
Note that the warning comes from the ".set mips2" directive, regardless of
whether it's followed by code; the test-case can actually be reduced to that
single line. The -march option comes from gcc when specifying the same option
or from the configuration.
The warning is bogus; the .set implementation seems to miss clearing
command-line-specified ASEs when specifying an ISA. I believe that is how it's
intuitively should work; this warning is a regression from, like, 8 months ago.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils