Code:
#include <stdio.h>
int main(){
printf("%i", sizeof(int));
return 0;
}
Code:
fab@moloch-03:~$ cc -m64 bla.c
fab@moloch-03:~$ ./a.out
4
fab@moloch-03:~$ uname -a
Linux moloch-03 2.6.11.6 #6 Sun Oct 23 02:40:14 CEST 2005 sparc64 GNU/Linux
fab@moloch-03:~$ file a.out
a.out: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV), for GNU/Linux 2.4.18, dynamically linked (uses shared libs), not stripped
@Thorsten: Hast du die 64Bit-Version der libc zusätzlich installiert? Unter Debian und Gentoo sind das zusätzliche Pakete, die zu installieren sind. Wie hemicuda schon sagte, ist das Userland unter Linux Sparc32 (bzw. Sparc), nur der Kernel ist wirklich Sparc64. Ob es auch so unter Solaris aussieht weiß ich nicht. Ab Solaris 10 könnte ich es mir jedenfalls vorstellen, da mit Solaris 10 keine normalen Sparcs mehr unterstützt werden, sondern nur noch UltraSparcs (also 64-bittig, sprich SPARCv9).
Unter Debian sind verschiedene Pakete vorhanden. libc6-sparc64, libc6-dev-sparc64 (Die hatte ich gerade vergessen. Ohne die wirds natürlich nichts mit dem Kompilieren. ), libc-sparcv9 und für ganz moderne US-CPUs auch noch libc6-sparcv9b.
Lesezeichen