x86-64 e rip relative

Hardware & Software
Rispondi
Avatar utente
ale
Mac
Messaggi: 6797
Iscritto il: 27 apr 2001, 20:31
Località: Romanengo
Contatta:

x86-64 e rip relative

Messaggio da ale » 14 lug 2009, 21:03

qualcuno sa dirmi come sistemare queste righe in modo da renderle rip relative?
stiamo parlando di un asm che fa parte di un grosso progetto C++ opensource (pearPC)
sto cercando di compilarlo sul mio Mac Intel.

Codice: Seleziona tutto

add	%rdi, tlb_code_0_eff
...
mov	[curCPU(tlb_code_0_eff) + %rax*4], %ecx
mov	[curCPU(tlb_data_0_eff) + %rax*4], %ecx
mov	[curCPU(tlb_data_8_eff) + %rax*4], %ecx
l'output del compilatore relativo a quelle righe è questo:

Codice: Seleziona tutto

jitc_mmu.S:108:32-bit absolute addressing is not supported for x86-64
jitc_mmu.S:108:cannot do signed 4 byte relocation
jitc_mmu.S:123:32-bit absolute addressing is not supported for x86-64
jitc_mmu.S:123:cannot do signed 4 byte relocation
jitc_mmu.S:124:32-bit absolute addressing is not supported for x86-64
jitc_mmu.S:124:cannot do signed 4 byte relocation
jitc_mmu.S:125:32-bit absolute addressing is not supported for x86-64
jitc_mmu.S:125:cannot do signed 4 byte relocation
leggendo in giro sembra che si possa risolvere usando questo rip relative.
sapete come si fa o magari anche solo cosa significa? credo che si riferisca a quegli indirizzamenti assoluti che sono da rendere relativi. credo.
E pluribus unum

Rispondi