This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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