objdump sichtbare Sections genau Einstellen

OP (Firma: fritzler-avr.de) #5715504
Lesenswert?
• ▲
▼
Hallo,
ich will jetzt mal den objdump des Spaceage2 Projekt (MIPS CPU in TTL 
Gattern) etwas entrümpeln.

Bisher wird einfach objdump -D auf die elf Datei aufgerufen.
Nur besteht dann die disasm Datei aus 90% Debugsymbolen und <pdr> (ka 
was das überhaupt ist).
Das macht das Suchen und Öffnen der Datei recht lästig, weils dann aus 
bis zu 500k Zeilen besteht.
Selbst ohne -g beim compilen kommt nach der letzten Section ziemlich 
viel Schrott (uarts sind nur 2 Variablen):
1
0040713c <uarts>:
2
  40713c:  ffffff00   0xffffff00
3
  407140:  ffffff20   0xffffff20
4
  407144:  00000000   nop
5
  407148:  3ff921fb   0x3ff921fb
6
  40714c:  54442d18   0x54442d18
7
  407150:  bff921fb   0xbff921fb
8
  407154:  54442d18   0x54442d18
9
  407158:  7e37e43c   0x7e37e43c
10
<es folgen 200k Zeilen MÜLL>

Mit -d guckt er ja nur nach Code in (bekannten) Sections.
Dabei verunfallt er auch bei manchen selbst definierten Linker Sections:
1
Disassembly of section reset:
2

3
00000000 <_start>:
4
   0:  3c 1d 00 80 3c 1c 00 40 08 00 31 3b 27 9c 77 8c     <...<..@..1;'.w.
5

6
Disassembly of section divu:
7

8
00000080 <divu_vec>:
9
  80:  0800a461   j  29184 <divsim_unsign>
10
  84:  00000000   nop
Also in reset hätt ich auch gerne das Ganze als Instruktionen gesehen.

Zudem möchte ich die Daten sehen, also rodata/data/bss/sdata/sbss.
Zum Anzeigen spezieller Sectons gibts ja -j, also den Aufruf erweitert 
um:
-d -j reset -j .rodata -j .data -j .bss -j .sdata -j .sbss

Ja nix is, es sind keine Daten zu sehen und der Resetvektor verunfallt 
auch immernoch.
Interessanterweise gehen auch mittendrinne manche Funktionen kaputt (die 
liegen alle in .text!):
1
00029460 <mulsim_unsigned>:
2
   29460:  23bdffd4 afb00000 afb10004 afb20008     #...............
3
   29470:  afb3000c afb40010 afb50014 afa20018     ................
4
   29480:  afa3001c afa80020 afbf0024 afa10028     ....... ...$...(
5
   29490:  2402fff8 2403fffc 8c420000 8c630000     $...$....B...c..
6
   294a0:  00009021 00009821 0000a021 3c158000     ...!...!...!<...
7
   294b0:  0062082b 10200004 00000000              .b.+. ......
8

9
000294bc <V0gross>:
10
   294bc:  00608021   move  s0,v1
11
   294c0:  0800a534   j  294d0 <Schritt>
12
   294c4:  00408821   move  s1,v0

Hat da wer ne Idee wie ich entweder nur angegebene Sections mit Daten 
sehe oder Sections ausblenden kann?
Wobei das mit dem Ausblenden schwer wird, wenn einfach Müll hinter den 
letzten sinnvollen Zeilen kommt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.