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]

[BUG] LMA in link map versus object file


Hello,

The enclosed test case (boiled down from something vastly more complex) demonstrates a bug where the LMA of a section as printed in the mapfile disagrees with the LMA of the section as it finally appears in the output file.

It fails with x86-linux binutils top of trunk as of this morning. The LMA for secB is 0x4 according to the mapfile, but is actually 0x5 in the elf file.

It isn't clear to me which LMA should win, but at the very least the two should agree. I'm happy to try my hand at a patch if I know what the proper behavior is.

Thanks for any insight,

Sterling


[jaw] bash$ cat lmabug.t PHDRS { aphdr PT_LOAD; }

SECTIONS
{

  secA : AT(asymbol)
  {
    BYTE(0)
  } :aphdr

  secB : AT(LOADADDR(secA) + SIZEOF(secA)) ALIGN(2)
  {
    BYTE(0)
  } :aphdr

  asymbol = .;
}
[jaw] bash$ ld -T lmabug.t empty.o -M | grep secB
secB            0x00000002        0x1 load address 0x00000004
[jaw] bash$ objdump -h a.out | grep secB
  1 secB          00000001  00000002  00000005  00001002  2**1


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