This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Q: ld scripts for multisegment ELF dynamic executables?
- To: Basile STARYNKEVITCH <basile dot starynkevitch at wanadoo dot fr>
- Subject: Re: Q: ld scripts for multisegment ELF dynamic executables?
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Mon, 26 Feb 2001 08:47:02 +1100 (EST)
- cc: binutils at sourceware dot cygnus dot com
On Sun, 25 Feb 2001, Basile STARYNKEVITCH wrote:
> Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
> PHDR 0x000034 0x08048034 0x08048034 0x00100 0x00100 R 0x4
> INTERP 0x000134 0x08048134 0x08048134 0x00013 0x00013 R 0x1
> [Requesting program interpreter: /lib/ld-linux.so.2]
> LOAD 0x000000 0x08048000 0x08048000 0x01d60 0x01d60 R E 0x1000
> LOAD 0x002a00 0x08049a00 0x08049a00 0x00104 0x002c8 RW 0x1000
> DYNAMIC 0x002a60 0x08049c20 0x08049c20 0x000a8 0x000a8 RW 0x4
> NOTE 0x001cc8 0x08049cc8 0x08049cc8 0x00098 0x00098 R 0x4
> LOAD 0x003000 0x60000000 0x60000000 0x00010 0x00010 R E 0x1000
> LOAD 0x004000 0x70000000 0x70000000 0x00004 0x00004 RWE 0x1000
>
> Section to Segment mapping:
> Segment Sections...
> 00
> 01 .interp
> 02 .interp .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.got .rel.bss .rel.plt .init .plt .text .fini .rodata .data .eh_frame .ctors .dtors .got .bss .dynamic .note
> 03 .data .eh_frame .ctors .dtors .got .bss .dynamic
> 04 .dynamic
> 05 .note
> 06 TEXTHEAP
> 07 DATAHEAP
>
> this file still core dumps.
One problem I can see with the above, is that .note.ABI-tag (included with
.note due to your ldscript) is now too far away from the start of the
file. You need this section in the first page of the executable. (*) Try
adding a .note-ABI-tag output section immediately after .interp
in your SECTIONS command.
(*) At least this used to be the case with linux. It's quite possible
that this requirement has changed.
Alan Modra
--
Linuxcare. Support for the Revolution.