Forum: Compiler & IDEs objdump sichtbare Sections genau Einstellen


von Mw E. (Firma: fritzler-avr.de) (fritzler)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.