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