GCC & Nasm [ erledigt ]
-
Nachdem ich jetzt min. 6h heute damit verbracht habe FAQ, ASM Seiten und Google zu durchforsten, poste ich mal hier
- hoffe es kann mir einer helfen.
Die vorherigen Threads dazu haben mir leider auch nicht wirklich weiterhelfen können.Die C++ Files habe ich Compiled, soweit sogut.
Das Nasm file wurde mit
nasm -f elf xtime.asm -o ../bin/xtime_asm.o
erstellt. Coff hat mir auch nichts geholfen - ok - ist ja auch Linux, da ist elf binary standard.
Bis hierher hat auch alles super geklappt.Dann Linke ich mit
gcc -o ../bin/DbgSuite ../bin/main.o ../bin/xtime_asm.o ... /* more binarys here */ -lefenceWas passiert: undefined reference to 'CanRDTSC'
Hier der Nasm Code
BITS 32 GLOBAL CanCPUID GLOBAL CanRDTSC SECTION .text CanCPUID ... CanRDTSC call CanCPUID ; Check if CPUID is aviable cmp eax, 1 ; Check return value je ok ; CPUID works mov eax, 0 ; Set return value = false ret ok: mov eax, 01h ; Processor Info CPUID ; Get Info ; Is RDTSC aviable? shr edx, 4 ; and edx, 1 ; check stepping mov edx, eax ; Set return value ret ; CanRDTSC
Der dazugehörige C Code
extern "C" { extern int CanRDTSC(void); } ... blabla ... int res = CanRDTSC(); ...
Kann mir bitte einer sagen, wie ich das behebe?
Danke
Sven
-
Sorry Leute - hab wohl nur eine halbe Stunde Abstand gebraucht. Hätte vielleicht nicht 6h durch nach dem Fehler suchen sollen
Der Fehler ist erledigt
-
Verrätst du trotzdem was es war? *neugier*