This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: fixup arm ld tests
On Thu, 2010-09-09 at 13:33 +0100, Nathan Sidwell wrote:
> On 09/09/10 13:28, Matthew Gretton-Dann wrote:
> > On Thu, 2010-09-09 at 12:54 +0100, Nathan Sidwell wrote:
> >> This patch fixes up a bunch of arm linker tests that were failing. The tests
> >> are quite sensitive to .plt and .got placement, and the base addresses appear to
> >> have moved due to other linker changes, I guess.
> >>
> >> In several cases I was able to make the test less sensitive, by relaxing regexps
> >> appropriately. for instance we often only care about relative displacement, and
> >> that is captured in the instruction encoding and also symbol name, so the
> >> absolute address can be ignored.
> >>
> >> built and tested for arm-none-linux-gnueabi, ok?
> >
> > I do not see these failures when targetting arm-none-eabi [x86 host] or
> > arm-none-linux-gnueabi [arm-none-linux-gnueabi host] (with current
> > HEAD). Applying your patch causes the tests you modify to fail.
>
> curious.
>
> > What environment are you in when you see the failures?
>
> host is i686-pc-linux, and target is arm-none-linux-gnueabi Can you suggest
> anything else to investigate?
Is the PLT section you are seeing definitely correct? What results do
you get if you target arm-none-eabi? What is the section layout in your
objects?
The sections I get in my linked object is:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg
Lk Inf Al
[ 0] NULL 00000000 000000 000000 00
0 0 0
[ 1] .plt PROGBITS 00008e00 008e00 000020 04 AX
0 0 4
[ 2] .text PROGBITS 00008f00 008f00 000114 00 AX
0 0 8
[ 3] .hash HASH 00000094 000094 000048 04 A
4 0 4
[ 4] .dynsym DYNSYM 000000dc 0000dc 0000d0 10 A
5 2 4
[ 5] .dynstr STRTAB 000001ac 0001ac 000058 00 A
0 0 1
[ 6] .rel.plt REL 00000204 000204 000008 08 A
4 1 4
[ 7] .dynamic DYNAMIC 00011014 009014 000078 08 WA
5 0 4
[ 8] .got PROGBITS 0001108c 00908c 000010 04 WA
0 0 4
[ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00909c 000025 00
0 0 1
[10] .shstrtab STRTAB 00000000 0090c1 00005e 00
0 0 1
[11] .symtab SYMTAB 00000000 009328 0001e0 10
12 19 4
[12] .strtab STRTAB 00000000 009508 000092 00
0 0 1
Key to
Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor
specific)
I think this probably needs an entry in BugZilla so that we can share
the different object files we are getting and work out where the
differences are actually coming from. As you have the failing images do
you mind doing raising the issue?
Thanks,
Matt
--
Matthew Gretton-Dann
Principal Engineer - PDSW Tools
ARM Ltd