double word ordering on little endian
Christopher Taylor
chtaylo3 at gmail.com
Thu Jun 5 21:06:57 UTC 2008
ok here's a test program:
#include <stdio.h>
#include <stdint.h>
void printBytes( unsigned char* ptr1, uint8_t bytes){
int i=0;
unsigned char* ptr = ptr1;
for(i=0; i< bytes; i++){
printf(" %x ", *ptr);
ptr++;
}
}
int main(){
double myDouble = 2.048;
int k=0;
printf(" myDouble: %f myDouble: %llx myDouble:",myDouble,myDouble);
printBytes((unsigned char*)&myDouble, sizeof(double));
printf("\n");
return(0);
}
I buit this against a known VFP, a known FPA and the old
toolchain(which I don't know what it is). I built both dynamically
and statically.
I then ran it against the new kernel which was FPA and against the old kernel.
I got incorrect answers for printf %f when
I ran VFP dynamically linked code on the new FPA kernel
I ran FPA dynamically linked code on the old unknown kernel
I ran unknown (from the old tool chain) dynamically linked code on
the new kernel
all other printf's were as expected for their respective FPA/VFP settings.
This leads me to conclude that the old toolchain was VFP.
The question I have for everyone listening is .... any suggestion on
which way to go? VFP/FPA?
Thank you so much for the help Khem!
-Chris
More information about the uClibc
mailing list