ABI conformance and the ARM AXD debugger
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ABI conformance and the ARM AXD debugger
- To: arm-gnu@xxxxxxxxxxxxxxxx
- Subject: ABI conformance and the ARM AXD debugger
- From: Jim Van Vorst <jim@xxxxxxxxx>
- Date: Wed, 27 Jul 2005 13:35:38 -0700
Hi All,
We're trying use the CodeSourcery tools to build an image which is
compatible with the ARM developer tools. If I download the prebuilt
binaries for Linux and compile a test file and run ARM's fromelf utility
I get:
** ELF Header Information
File Name: test2.o
Machine class: ELFCLASS32 (32-bit)
Data encoding: ELFDATA2LSB (Little endian)
Header version: EV_CURRENT (Current version)
Operating System ABI: none
ABI Version: 0
File Type: ET_REL (Relocatable object) (1)
Machine: EM_ARM (ARM)
Entry offset (in SHF_ENTRYSECT section): 0x00000000
Flags: None (0x04000000)
ABI conformance : RVCT2.1
Built with
GCC: (GNU) 3.4.3 (release) (CodeSourcery ARM Q1B 2005)
Header size: 52 bytes (0x34)
Program header entry size: 0 bytes (0x0)
Section header entry size: 40 bytes (0x28)
Program header entries: 0
Section header entries: 8
Program header offset: 0 (0x00000000)
Section header offset: 192 (0x000000c0)
Section header string table index: 5
If I compile a file with the version we built from source and targeted
to our platform I get:
** ELF Header Information
File Name: serport.o
Machine class: ELFCLASS32 (32-bit)
Data encoding: ELFDATA2LSB (Little endian)
Header version: EV_CURRENT (Current version)
Operating System ABI: GNU unknown ARM ABI
ABI Version: 0
File Type: ET_REL (Relocatable object) (1)
Machine: EM_ARM (ARM)
Entry offset (in SHF_ENTRYSECT section): 0x00000000
Flags: None (0x00000200)
ABI conformance : SDT
Built with
GCC: (GNU) 3.4.3 (release) (CodeSourcery ARM Q1B 2005)
Header size: 52 bytes (0x34)
Program header entry size: 0 bytes (0x0)
Section header entry size: 40 bytes (0x28)
Program header entries: 0
Section header entries: 23
Program header offset: 0 (0x00000000)
Section header offset: 26132 (0x00006614)
Section header string table index: 20
The big difference I see is the "ABI conformance." If I compile with
ARM tools I get RVCT2.1 as well. So I'm assuming that this is what's
preventing their debugger from liking our image file. It gives me a
file format error if I try to load it up.
So what is the magic incantation to get the RVCT action? Is this
something in the compiler build or a switch I can throw when compiling
my code?
Thanks,
Jim