Linking against armlink produced ELF for armv6-m (thumb only) CPU
Matthew Gretton-Dann
matthew.gretton-dann@arm.com
Tue Jul 12 22:33:00 GMT 2011
[Re-including binutils@sourceware.org on cc-list].
On 12/07/11 06:24, Gus Sabina wrote:
> Hello Matthew:
> Thanks for your response. Actually, I didn't not include any
> .ARM.attributes section at all but I'm still getting the "Conflicting
> CPU architectures 0/11" error.
What target was gas configured for? To find this out do:
.../as --version
.ARM.attributes sections are only supported for EABI targets
(arm*-*-*eabi) and not for the older ELF targets (for instance
arm-none-elf).
As you seem to be trying to link against objects which have been
assembled targeting the EABI you should ensure your assembler is using
an EABI target.
> Let me explain what I'm doing. I 'm creating a tool which goal is to
> create some "pattern" which should be located somewhere in memory (where
> the linker decides it). I'm not using a compiler so I'm creating the
> object file directly. So, I'm creating all sections (.emb_text including
> the pattern). The problem is that when I link my object file with the
> embedded system project, I'm getting the above error... It still works
> but I would really like to get rid of this error...
> My question is, should I include an .ARM.attributes to avoid this, and
> if so, which would be the most appropriate?
When targeting EABI targets gas will automatically generate an
.ARM.attributes section. It will 'guess' the values to put in this
section from the command-line options you specify (in particular -mcpu,
-mfpu, -march). You can also specify other attributes by using the
.eabi_attribute directive (see
http://sourceware.org/binutils/docs-2.21/as/ARM-Directives.html#ARM-Directives
for documentation).
A fuller description of attributes is available in the ARM EABI
documentation here:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0045c/index.html
I can't tell you which directives to use. The general guidance is that
they should reflect your intentions as to what CPUs you expect the code
to be run on.
> I'm attaching an example of the object file I'm creating so you can
> inspect it.
> I would really appreciate if you can help me with this issue...
I hope the above helps.
Thanks,
Matt
--
Matthew Gretton-Dann
Principal Engineer, PD Software - Tools, ARM Ltd
More information about the Binutils
mailing list