Hi, I just tried to build openbios-qemu.elf, but it is a little too big (1MB + 4 bytes):
Elf file type is EXEC (Executable file) Entry point 0xfff08000 There are 3 program headers, starting at offset 52
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000094 0xfff00000 0xfff00000 0x100000 0x100000 RWE 0x4 LOAD 0x100094 0xfffffffc 0xfffffffc 0x00004 0x00004 R E 0x1 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
Section to Segment mapping: Segment Sections... 00 .text.vectors .text .rodata .data .sdata .bss .sbss 01 .romentry 02
In contrast, the openbios-ppc binary in qemu looks like this:
Elf file type is EXEC (Executable file) Entry point 0xfff08000 There are 2 program headers, starting at offset 52
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000074 0xfff00000 0xfff00000 0x41044 0x4bc44 RWE 0x4 LOAD 0x0410b8 0xfffffffc 0xfffffffc 0x00004 0x00004 R E 0x1
Section to Segment mapping: Segment Sections... 00 .text.vectors .text .rodata .data .sdata .bss .sbss.1 .sbss.2 .sbss.3 .sbss.4 .sbss.5 .sbss.6 .sbss.7 .sbss.8 01 .romentry
I'm building with gcc 4.2.3. Any ideas?
Hi,
Do you use source from SVN head ? Do you have any information in obj-ppc/build.log ?
I use gcc-4.3.2 on my powerPC G4, powerpc-linux-gnu-gcc-4.2.4 on intel T5500 and size is fine.
Regards, Laurent
Le 23 févr. 09 à 20:52, Hollis Blanchard a écrit :
Hi, I just tried to build openbios-qemu.elf, but it is a little too big (1MB + 4 bytes):
Elf file type is EXEC (Executable file) Entry point 0xfff08000 There are 3 program headers, starting at offset 52
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000094 0xfff00000 0xfff00000 0x100000 0x100000 RWE 0x4 LOAD 0x100094 0xfffffffc 0xfffffffc 0x00004 0x00004 R E 0x1 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
Section to Segment mapping: Segment Sections... 00 .text.vectors .text .rodata .data .sdata .bss .sbss 01 .romentry 02
In contrast, the openbios-ppc binary in qemu looks like this:
Elf file type is EXEC (Executable file) Entry point 0xfff08000 There are 2 program headers, starting at offset 52
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000074 0xfff00000 0xfff00000 0x41044 0x4bc44 RWE 0x4 LOAD 0x0410b8 0xfffffffc 0xfffffffc 0x00004 0x00004 R E 0x1
Section to Segment mapping: Segment Sections... 00 .text.vectors .text .rodata .data .sdata .bss .sbss.1 .sbss. 2 .sbss.3 .sbss.4 .sbss.5 .sbss.6 .sbss.7 .sbss.8 01 .romentry
I'm building with gcc 4.2.3. Any ideas?
-- Hollis Blanchard IBM Linux Technology Center
-- OpenBIOS http://openbios.org/ Mailinglist: http://lists.openbios.org/mailman/listinfo Free your System - May the Forth be with you
On Tue, 2009-02-24 at 00:07 +0100, Laurent Vivier wrote:
Hi,
Do you use source from SVN head ?
Yes.
Do you have any information in obj-ppc/build.log ?
This is somewhat interesting:
powerpc-440-linux-gnu-strip openbios-qemu.elf BFD: st4PszLi: warning: allocated section `.bss' not in segment BFD: st4PszLi: warning: allocated section `.sbss' not in segment
The "nostrip" version of openbios-qemu.elf looks much better:
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000094 0xfff00000 0xfff00000 0x42044 0x4bcb4 RWE 0x4 LOAD 0x0420d8 0xfffffffc 0xfffffffc 0x00004 0x00004 R E 0x1 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
Section to Segment mapping: Segment Sections... 00 .text.vectors .text .rodata .data .sdata 01 .romentry 02
So something goes wrong in the strip process.
On 2/23/09, Hollis Blanchard hollisb@us.ibm.com wrote:
Hi, I just tried to build openbios-qemu.elf, but it is a little too big (1MB + 4 bytes):
Elf file type is EXEC (Executable file) Entry point 0xfff08000 There are 3 program headers, starting at offset 52
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000094 0xfff00000 0xfff00000 0x100000 0x100000 RWE 0x4 LOAD 0x100094 0xfffffffc 0xfffffffc 0x00004 0x00004 R E 0x1 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
Section to Segment mapping: Segment Sections... 00 .text.vectors .text .rodata .data .sdata .bss .sbss 01 .romentry 02
In contrast, the openbios-ppc binary in qemu looks like this:
Elf file type is EXEC (Executable file) Entry point 0xfff08000 There are 2 program headers, starting at offset 52
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000074 0xfff00000 0xfff00000 0x41044 0x4bc44 RWE 0x4 LOAD 0x0410b8 0xfffffffc 0xfffffffc 0x00004 0x00004 R E 0x1
Section to Segment mapping: Segment Sections... 00 .text.vectors .text .rodata .data .sdata .bss .sbss.1 .sbss.2 .sbss.3 .sbss.4 .sbss.5 .sbss.6 .sbss.7 .sbss.8 01 .romentry
I'm building with gcc 4.2.3. Any ideas?
The ldscript does not handle sdata and sbss.*?