binutils 2.19 issue with kernel link

Kumar Gala galak at kernel.crashing.org
Thu Jul 9 12:40:19 EST 2009


On Jul 8, 2009, at 6:39 PM, Alan Modra wrote:

> On Wed, Jul 08, 2009 at 05:41:39PM -0500, Kumar Gala wrote:
>> If we modify the linker script:
>>
>>      _end2 = .;
>>      _end3 = ALIGN(4096);
>>      _end4 = ALIGN(PAGE_SIZE);
>>      . = ALIGN(PAGE_SIZE);
>>      _end = . ;
>>      PROVIDE32 (end = .);
>>
>> and the result is:
>>
>> 00001000 A _end
>> c067f678 A _end2
>> c0680000 A _end3
>> c0680000 A _end4
>
> Possibly some section with a zero vma is being placed before _end.
> Generate a link map to see if this is so.

In the broken (ALIGN) case we have:

  .bss           0x00000000c05d3018        0x0 lib/lib.a(klist.o)
  .bss           0x00000000c05d3018        0x0 lib/lib.a(sha1.o)
  .bss           0x00000000c05d3018        0x0 .tmp_kallsyms3.o
  *(COMMON)
                 0x00000000c05d3018                __bss_stop = .

.PPC.EMB.apuinfo
                 0x0000000000000000       0x24
  .PPC.EMB.apuinfo
                 0x0000000000000000       0x1c arch/powerpc/kernel/ 
head_fsl_booke.o
  .PPC.EMB.apuinfo

In the non-ALIGN case we have:

                 0x00000000c05d3018                _end = .
                 0x00000000c05d3018                PROVIDE (end, .)
LOAD arch/powerpc/kernel/head_fsl_booke.o
LOAD init/built-in.o
START GROUP
LOAD usr/built-in.o
LOAD arch/powerpc/kernel/built-in.o
LOAD arch/powerpc/mm/built-in.o
LOAD arch/powerpc/lib/built-in.o
LOAD arch/powerpc/sysdev/built-in.o
LOAD arch/powerpc/platforms/built-in.o
LOAD arch/powerpc/math-emu/built-in.o
LOAD kernel/built-in.o
LOAD mm/built-in.o
LOAD fs/built-in.o
LOAD ipc/built-in.o
LOAD security/built-in.o
LOAD crypto/built-in.o
LOAD block/built-in.o
LOAD lib/lib.a
LOAD lib/built-in.o
LOAD drivers/built-in.o
LOAD sound/built-in.o
LOAD firmware/built-in.o
LOAD net/built-in.o
END GROUP
LOAD .tmp_kallsyms3.o
OUTPUT(vmlinux elf32-powerpc)

.PPC.EMB.apuinfo
                 0x0000000000000000       0x24
  .PPC.EMB.apuinfo
                 0x0000000000000000       0x1c arch/powerpc/kernel/ 
head_fsl_booke.o



More information about the Linuxppc-dev mailing list