This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: recent arm.h change
- To: Nick Clifton <nickc at cygnus dot com>
- Subject: Re: recent arm.h change
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Wed, 29 Mar 2000 20:40:56 +0100
- Cc: gcc at gcc dot gnu dot org
- Cc: rearnsha at arm dot com
- Organization: ARM Ltd.
- Reply-To: rearnsha at arm dot com
> Hi Richard,
>
> : Your recent change on the branch
> :
> : 2000-03-24 Nick Clifton <nickc@cygnus.com>
> :
> : * config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
> : already defined.
> : (ASM_SPEC): Define if not already defined.
> : (ASM_OUTPUT_DEF_FROM_DECLS): Define.
> :
> : breaks builds on a.out assemblers. These assemblers don't support all the
> : flags that this defines, even in the latest builds. The defines need to
> : be moved to the elf (and maybe coff) SUBTARGET_EXTRA_ASM_SPEC defines. We
> : also need to check that there is at least one official release of GAS that
> : supports these before we can add them at all.
> :
> : I don't believe it is acceptable for gcc to require a development version
> : of gas be used.
>
> I agree with that, but I still ike the idea of simplifying the mess of
> header arm files by unifying the definitionsof ASM_SPEC.
I'm not against simplifying it (if that is possible); but the current
definition is wrong for so many cases that we would have to override it in
almost all cases (which probably makes it even harder to maintain).
> Wouldn't it
> just be simpler to suppress the definition of ASM_SPEC if the host
> asssembler is an a.out assembler ? ie something like:
>
>
> #if !defined ASM_SPEC && !defined AOUT
> #define ASM_SPEC "\
> %{mbig-endian:-EB} \
What if the default is big-endian and we want little-endian?
> %{mcpu=*:-m%*} \
What if we have a default cpu selected (eg by configure)? Does configure
for gas support --with-cpu?
> %{march=*:-m%*} \
likewise (but less so -- I don't think this can be selected by configure).
> %{mapcs-*:-mapcs-%*} \
> %{matpcs:-matpcs} \
This hasn't been decided yet....
> %{mapcs-float:-mfloat} \
This is duplicated by the apcs flag above.
> %{msoft-float:-mno-fpu} \
What if soft-float is the default and we want hard-float?
> %{mthumb-interwork:-mthumb-interwork} \
...
> " SUBTARGET_EXTRA_ASM_SPEC
ANSI concatenation not allowed in GCC sources.
> #endif
>
> [I do not know which cpp symbol will be defined by a.out hosts, so I
> guessed in the example above].
>
We might be able to do something with the EXTRA_SPECS stuff, but I'm not
sure it will be easy, even then.
R.