Reihenfolge von Sektionen in Elf-File ändern

Gast #1462979
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.