Forum: Compiler & IDEs objdump - Kompilierbaren Assemblercode erzeugen


von Alexander F. (alexf91)


Lesenswert?

Hi,

ich möchte gerne aus einem *.elf File Assemblercode erzeugen, der sich 
mit gas wieder in das elf-File übersetzen lässt.
Mit objdump -D erhalte ich ja nur eine Ausgabe im Format
1
40000000 <_start>:
2
40000000:  00000000   nop
3
40000004:  3c1c0001   lui  $28,0x1
4
40000008:  279c8290   addiu  $28,$28,-32112
5
4000000c:  241d1000   li  $29,4096
6
40000010:  0c000402   jal  40001008 <main>
ich brauche aber
1
.text
2
start:  nop
3
        lui $28,0x1
4
        addiu $28,$28, -32112
5
        ...

Zum Sinn der Sache: Ich habe einen MIPS-Kern in VHDL geschrieben, bei 
dem ein Testprogramm nicht funktioniert und jetzt würde ich gerne mit 
einem Simulator überprüfen, wo sich dieser vom VHDL Modell 
unterscheidet.

Ich weiß, dass man das eigentlich auf der untersten Ebene mit 
Testbenches verifizieren soll, jedoch weiß ich nicht, wo ich da suchen 
soll.

Ist sowas mit objdump möglich oder muss ich mir da selbst was basteln?

Mfg

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Alexander F. schrieb:
> Ist sowas mit objdump möglich oder muss ich mir da selbst
> was basteln?

Selber basteln, objdump bietet leider keine Möglichkeit, eine Ausgabe zu 
erzeugen, die as gas-Eingabe verwendet werden kann.

I.d.R sind elf-Dateien jedoch aus Quellen entstanden, wie C, C++ oder 
Assembler (z.B. für Startup-Code).

Beim Erzeugen per gcc / g++ kannst du die Assembler-Ausgabe mit 
-save-temps sichern, dies gibt s-Dateien, die gas versteht.

von Alexander F. (alexf91)


Lesenswert?

Danke, damit kann ich was anfangen.

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.