Vlozeni souboru do ELF
Miloslav Trmac
mitr na post.cz
Čtvrtek Říjen 29 00:42:20 CET 1998
Dobry den,
nevite prosim nekdo, jak vlozit obsah souboru (vlastne je to ELF soubor
zkonvertovany na binary s objcopy) do jineho ELF souboru? Predstavoval
bych si pouziti ld scriptu asi takto (vkladany soubor se jmenuje init):
---------------------
OUTPUT_FORMAT ("elf32-i386")
OUTPUT_ARCH (i386)
ENTRY (start_32)
SECTIONS
{
. = 0xC0001000;
.text :
{
*(.text)
} = 0x9090
. = ALIGN (16);
.rodata :
{
*(.rodata)
} = 0
. = ALIGN (16);
.data :
{
*(.data)
} = 0
. = ALIGN (16);
__bss_start = .;
.bss :
{
*(.bss)
}
. = ALIGN (4);
__bss_sizel = (. - __bss_start) / 4;
. = ALIGN (4096);
__end = .;
__initstart = .;
.init :
{
init(.data)
}
__initend = .;
}
------------------------------
Povedlo se mi dostat obsah souboru init mezi ostatni .data pouzitim
lt -b binary init -b elf32-i386 <ostatni> -T <skript>
Ale ja bych opravdu potreboval ten init oddelit. (Musi byt zarovnany na
samostatne strance a ten vnejsi program by mel vedet jeho umisteni a
velikost). Jeste jsem zkousel z init zpetne udelat ELF pomoci
objcopy -I binary -O elf32-i386 init init.o
ale to hlasi chybu
Warning: Output file cannot represent architecture UNKNOWN!
a vysledny soubor je nepouzitelny:
$ file out
out: ELF 32-bit LSB relocatable, no machine, version 1, not stripped
^^^^^^^^^^
$ objdump out --disassemble-all
objdump: out: File format not recognized
ld hlasi podobnou hlasku. Nevite nekdo, jak to provest? Moc by mi to
pomohlo.
Mirek
Další informace o konferenci Linux