RFC: ARM: Add comment enumerating emitted .eabi_attribute tags

Nick Clifton nickc@redhat.com
Tue Sep 27 17:17:00 GMT 2011


Hi Ramana,

>> +/* Get the definitions of the ARM EABI Attribute tag values.  */
>> +#define BFD_ARCH_SIZE
>> +#include "elf/arm.h"
>
> Defining BFD_ARCH_SIZE appears to be a bit of a hack. I would also
> ifdef this inclusion on TARGET_AAPCS since we shouldn't really be
> caring about object attributes for non AAPCS configurations.

Hmm, there does not appear to be any compile-time define that I can 
reliably use for this.

> Does elf/arm.h get installed by bfd / binutils in some form as a part
> of it's build process ? Can the compiler find elf/arm.h by default for
> a non-combined-tree arm-linux-gnueabi / arm-eabi cross-build or a
> native boostrap  ?

Err, probably not.  I forgot that the elf/ subdirectory of the include/ 
directory is not shared between gcc and binutils.

> Instead may I suggest rejigging this in a form so that we share this
> header file between gcc and binutils and make sure that this is
> sufficiently documented that one master copy lives in one repository
> while the other is a copy of this is in the other repository  ?

This would be a good idea.

> It
> has the same problems that we have with sharing other files between
> these 2 repositories but causing pain to every single script out there
> to add an include path to a default build sounds wrong to me.

Agreed.

I think that there are two possible ways to go:

  1. Create a new file include/arm-eabi-attrs.h to be shared between gcc 
and binutils and alter include/elf/arm.h to use this file.  The problem 
with this idea is that it adds a target specific file to the include/ 
directory, which really should be target agnostic.  (I know that there 
are some xtensa header files there, but IMHO that was a mistake).

   2. Abandon using a header file at all.  Instead use a configure test 
to see if we are using an assembler that supports textual names in a 
.eabi_attribute directive and if so use the names rather than the numbers.

Any preference ?

Cheers
   Nick






More information about the Gcc-patches mailing list