This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


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

Re: recent arm.h change


> 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.



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