This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: ia64: add option to suppress warnings about A/B-step errata
Jim Wilson <wilson@specifixinc.com> writes:
> On Sat, 2004-04-10 at 11:48, Zack Weinberg wrote:
>> Unfortunately the assembler does not ignore unrecognized -m options,
>> so there is a compatibility issue if I make GCC 3.4 (say) start
>> passing -mb-step along to the assembler, but it will only affect
>> people who want to use brand new GCC to generate code for these old
>> chips - I think it can be handled with a release note.
>
> This means the linux kernel may be silently miscompiled/misassembled,
> when configured with B-step support, which is not a very good option. I
> think it would be better to have gcc emit the new assembler option, and
> if someone complains, we tell them to update their assembler.
I wasn't clear enough. If I make GCC 3.4 start passing -mb-step along
to the assembler, then if someone uses GCC 3.4 with binutils <=2.14
and provides -mb-step, the assembler will exit unsuccessfully without
printing any error message, which isn't exactly the most helpful
thing, but it won't produce a silent miscompilation either, and
there's nothing that can be done now about this behavior of old
assemblers.
I think this is what you are asking for, and it is what I intended to
do all along. (The release note is to tell people what's going on
when this happens.) If that's not what you were asking for, please
clarify. One thing I do NOT want to do is have gcc give as -mb-step
by default, because the whole point of this exercise is that the
majority of ia64 users don't care about B-step chips so the warnings
are just noise.
>> Comments? Where should this be documented? How do I add test cases?
>
> Document it in gas/doc/c-ia64.texi.
>
> Test cases are added like we do for gcc. You add a file that is similar
> to existing ones. See gas/testsuite/gas/ia64.
Specifically, how do I write a test case that looks for a diagnostic
message when and only when assembled with specific options? I see how
to write an expected-diagnostic test case but not how to run it with
specific options, and it is not clear to me whether an
expected-diagnostic test case must always fail to assemble.
zw