codice:
void _start (float *i, float *o, float *m)
{
    i[0] = m[0] + 3.0f;
}
Questo codice compilato in questo modo mi da

codice:
gcc -O3 -c code.c
objdump -d code.o

code.o:     formato del file elf64-x86-64


Disassemblamento della sezione .text:

0000000000000000 <_start>:
   0:   f3 0f 10 05 00 00 00    movss  0x0(%rip),%xmm0        # 8 <_start+0x8>
   7:   00 
   8:   f3 0f 58 02             addss  (%rdx),%xmm0
   c:   f3 0f 11 07             movss  %xmm0,(%rdi)
  10:   c3                      retq
Come posso evitare che gcc mi generi codice con il "RIP-relative" addressing? (succede soltanto quando nel sorgente c'è un floating-point literal)
Non dovrebbe essere necessario.. si può fare come qui http://stackoverflow.com/questions/6...nline-assembly ?

Mi servirebbe soltanto per rendere il codice "position-independent"