I have some nasm code I'm porting to 64 bits.
Most I've managed to sort, however there's one bit that has me stumped.
I have a declaration
coeffs_0 dd <four floating point values>
then later a line
movaps xmm0, [coeffs_0]
Now this assembles fine with macho32 as the output format, and has worked perfectly for years
However when I try to compile it for macho64 I get
"Macho-O 64-bit does not support 32 bit absolute addresses"
I've tried every permutation of prefixes, bracketing, etc that I can think of, and nothing works.
I did find that if I do
movaps xmm0, 
it compiles fine, so it seems that nasm is deciding that the label is a 32 bit address.
Anyone know the answer to this? I've been googling for hours!
|^||Joined: 01 Apr 2003 Member: #6570|
No idea about nasm syntax (I've only ever written gas syntax directly) but as a work-around you could load the address into a register and use that for the load? Probably there's a way to convince NASM to do 64-bit immediates too, though.
<- my plugins | my music -> @Soundcloud
|^||Joined: 11 Feb 2006 Member: #97939 Location: Helsinki, Finland|
Disclaimer: All communications made available as part of this forum and any opinions, advice, statements, views or other information expressed in this forum are solely provided by, and the responsibility of, the person posting such communication and not of kvraudio.com (unless kvraudio.com is specifically identified as the author of the communication).
Powered by phpBB © phpBB Group