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


Renato Golin <renato.golin@linaro.org> writes:
> On 20 August 2014 20:14, Peter Bergner <bergner@vnet.ibm.com> wrote:
> > Looking at the ARM directives:
> >
> >   https://sourceware.org/binutils/docs-2.24/as/ARM-Directives.html#ARM-
> Directives
> >
> > they don't seem to allow push and pop as values, but they don't preclude
> > resetting the value somewhere within the assembler file either.
> 
> That's the question, should we be explicit about this intention, maybe
> hinting about IFUNC?

In case it is of interest... The MIPS assembler has the concept of a file
level setting and then region level settings. This pre-dates ifunc but
one important use of region level settings is ifunc. Such regions do not
have any impact on how the overall module is annotated. The true reason
for the feature appears to be that programmers generally need get-out
clauses in case they need to violate the normal rules. I.e. we shouldn't
presume to know or enforce exactly how an assembler is used but that doesnât
mean it has to be easy to get non-standard behaviour.

In recent work for MIPS I split the directives into a '.set' which is
(almost) exclusively region specific and '.module' which is module specific
and cannot be used once a code or data directive has been seen.

I guess the question for ARM is whether the .fpu directive changes the
annotation on the object file and if it does, does it do it every time it
is seen or just the first time. If it changes the overall module each time
then that sounds like a source of weird and had-to-find problems.

Hope that is useful.

Thanks,
Matthew

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