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