AMD64

De Cliss XXI
Révision datée du 26 mai 2008 à 10:34 par imported>SylvainBeucler (Nouvelle page : * Détecter un processeur 64bit: cherche le flag <code>lm</code>: cat /proc/cpuinfo | grep --color -w lm * Compiler en 32bit sous AMD64: <pre> aptitude install lib32gcc1 libc6-dev...)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche
  • Détecter un processeur 64bit: cherche le flag lm:
cat /proc/cpuinfo  | grep --color -w lm
  • Compiler en 32bit sous AMD64:
aptitude install lib32gcc1 libc6-dev-i386
cat <<EOF | gcc -xc -o test32 - -m32
#include <stdio.h>
int main() { printf("sizeof(int) = %d, sizeof(void*) = %d\n", sizeof(int), sizeof(void*)); }
EOF
  • Détecter un exécutable 32 ou 64:
$ file test32
test32:  ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, not stripped
$ file test64
test64:  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, not stripped
  • Exécuter en 32bit sous AMD64: aucune manipulation particulière, mais il faut avoir les dépendances 32bit installées:
$ ./test32
sizeof(int) = 4, sizeof(void*) = 4
$ ./test64
sizeof(int) = 4, sizeof(void*) = 8


  • Détecter un noyau (pas un processeur) 64bit:
$ uname -m
x86_64
  • Simuler un noyau 32bit:
$ aptitude install linux32
$ linux32 uname -m
i686
# mais ça ne fait rien d'autre que ça
  • Lancer un VServer installé en 32bit sous 64bit: aucune manipulation.