Hallo,
wenn ich mir den Aufbau von Elf32-Objektdateien anschaue, dann ist die
Dateistruktur oft so, dass nach dem Elf-Header erst .text, dann die
Section Header Table, dann .rela.text, .data, .bss, .shstrtab, .symtab
und schließlich die .strtab folgt.
Diese Reihenfolge ist für meine Anwendung ungünstig und ich möchte sie
gern so ändern, dass nach dem Elf-Header erst die Section Header Table,
dann die Symboltabelle, Relokationsinformationen und schließlich erst
.text und .data und dergleichen kommen.
Mein erster Gedanke war, mit objcopy zu arbeiten, etwa so:
1 | msp430-objcopy -F elf32-msp430 Unordered.o Ordered.o -j .shstrtab -j .symtab -j strtab -j .rela.text -j .text -j .data
|
Das wird aber mit der Fehlermeldung quittiert, dass ein Symbol nicht
gefunden wird (symbol xy required, but not present... Ordered.o: no
symbols). Es handelt sich dabei um ein nicht in diesem Object File
definiertes Symbol, was objcopy aber meinem Verständnis nach gar nicht
zu interessieren hat.
Kann objcopy überhaupt so etwas tun oder kann man den Linker
entsprechend anweisen? Im Linkerscript lässt sich ja kein Einfluss auf
die Reihenfolge der Sektionen im Elf-File nehmen, nur auf die
Ladeadressen.
Vielen Dank schon mal
Richard