This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GAS .fpu directive


On 20 August 2014 16:44, Nicholas Clifton <nickc@redhat.com> wrote:
> Right.  Basically such an sceanario is theoretically possible, but it is
> unlikely that it will ever turn up in real code.

Unfortunately, it did.

http://llvm.org/bugs/show_bug.cgi?id=20447

There's also an .arch_extension that has the same semantics, and
Chromium guys are assuming it's intentional because GAS supports it.

I'd really like to add the extra code to make sure we only parse it in
the header and fail if seen anywhere else, and your reply will help me
do it. Can I use it as some sort of "binutils statement" that this
should not happen?


> The real reason why the
> directive is accepted anywhere is that it was just too much bother to write
> additional code to make sure that it is only used once, and then only in an
> appropriate place.  Much easier to just let it be accepted anywhere and to
> rely upon the assembler programmer or the compiler to only generate one
> instance of the directive.

I understand, but people abuse of so many things... Inline asm is
another for of abuse and we've seen so many things that cannot be
unseen... (most LLVMLinux talks/slides will show you some).

Our mission in the LLVM inline assembler is to make those hard
choices, so I'd be glad to be the naughty one to revoke that "feature"
and ask the developer to stop doing that in their sources, if we're in
sync that that's really a bad idea.

For us is just a case of splitting the parseDirective containing a big
switch into two header/body functions, and splitting the parsing into
two loops, so not a big deal.

Thanks,
--renato


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]