Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

32 bits... 64 bits

19 réponses
Avatar
Dominique MICOLLET
Bonjour,

En me bagarrant avec une installation du java runtime environment, je viens
de me rendre compte de quelque chose qui m'échappe.

Ma machine a un processeur 64 bit, et mon noyau est un noyau 64 bit.
La distribution est une Debian standard.

Il semble que les applications que je j'importe via aptitude sont des
applications 32 bits si j'en juge par la réponse d'un file sur n'importe
quel exécutable.

Si je me compile un hello_world, le binaire est aussi un 32 bits.

J'ai donc loupé quelque chose.

Quelqu'un aurait-il un pointeur à me recommander pour m'éclaircir les idées
sur ces loufoqueries ?

Cordialement.

--
Dominique MICOLLET
Adresse email : enlever deux francs

9 réponses

1 2
Avatar
Nicolas George
Rémi Moyen
, dans le message <i7j45b$rd4$, a écrit :
Enfin, pour être plus clair, je sais que gcc a les options -m32 et -m64
pour générer du code 32 ou 64 bits, mais je crois (sans certitude) que
même sur une vraie machine 64 bits, ne rien mettre implique -m32, pas -m64.



Non, ce n'est pas le cas.
Avatar
Fabien LE LEZ
On Fri, 24 Sep 2010 22:11:06 +0100, Rémi Moyen
<r.moyen+:

Je ne suis pas sûr, mais je me demande si il ne faut pas donner des
options spécifiques à gcc pour qu'il compile en 64 bits (même avec une
vraie installation 64 bits et non pas 32, comme ce que tu as apparemment).



Debian Lenny "pure AMD64" :

| $ gcc temp.c
| $ file a.out
| a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped
Avatar
Rémi Moyen
Le 25/09/2010 00:57, Fabien LE LEZ a écrit :

Je ne suis pas sûr, mais je me demande si il ne faut pas donner des
options spécifiques à gcc pour qu'il compile en 64 bits (même avec une
vraie installation 64 bits et non pas 32, comme ce que tu as apparemment).



Debian Lenny "pure AMD64" :

| $ gcc temp.c
| $ file a.out
| a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped




Ah bon, ben je me suis planté.

Il n'empêche, étant donné que l'installation de Dominique est en 32
bits, si j'ai bien suivi le reste de la discussion, peut-être que chez
lui il faut explicitement mettre le -m64 pour obtenir des exécutables 64
bits ?
--
Rémi Moyen
Avatar
Fabien LE LEZ
On Sun, 26 Sep 2010 12:22:57 +0100, Rémi Moyen
<r.moyen+:

peut-être que chez
lui il faut explicitement mettre le -m64 pour obtenir des exécutables 64
bits ?



Probablement, effectivement. Mais l'histoire de la compilation
32 bits par défaut, c'était le symptôme, pas le problème.
Avatar
Dominique MICOLLET
Rémi Moyen wrote:

Il n'empêche, étant donné que l'installation de Dominique est en 32
bits, si j'ai bien suivi le reste de la discussion, peut-être que chez
lui il faut explicitement mettre le -m64 pour obtenir des exécutables 64
bits ?



Effectivement, il faut l'option. Elle provoque une erreur parce que les
bibliothèques ah hoc ne sont pas installées.
En fin de compte, tout cela est tout à fait cohérent.

Comme je l'ai écrit plus haut, je peux sans difficulté réinstaller la
machine. Dans un premier temps, je vais "m'amuser" à tenter un basculement
à la main de i386 à Amd64, histoire d'acquérir une expérience qui peut être
utile un jour, et, dans un second temps, je réinstallerai la machine
proprement.

Incidemment, pourquoi la version 64 bits s'appelle-t'elle amd64, et non pas
x64 ou quelque chose du genre ? C'est historique ?

Quoiqu'il en soit, merci de vous être penché sur mon problème.

Cordialement.
--
Dominique MICOLLET
Adresse email : enlever deux francs
Avatar
Sergio
Le 27/09/2010 08:25, Dominique MICOLLET a écrit :

Incidemment, pourquoi la version 64 bits s'appelle-t'elle amd64, et non pas
x64 ou quelque chose du genre ? C'est historique ?



Je suppose, pour des raisons historiques.

Au départ AMD a été le premier à proposer ce jeux d'instructions, avec la "compatibilité" Intel 32 bits.. Parallèlement, Intel avait
développé l'architecture IA-64 (processeurs "Itanium"), incompatible avec le jeux 32 bits.

Finalement, Intel s'est rangé derrière AMD, et ses processeurs sont maintenant compatibles AMD-64... Pour une fois, c'est Intel qui
a fait du "compatible AMD"...

http://fr.wikipedia.org/wiki/AMD64
http://fr.wikipedia.org/wiki/IA-64

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
Vivien MOREAU
On 2010-09-27, Dominique MICOLLET wrote:

Incidemment, pourquoi la version 64 bits s'appelle-t'elle amd64, et non pas
x64 ou quelque chose du genre ? C'est historique ?



Oui, parce que AMD a été la première boîte à utiliser cette
architecture, suivie par Intel ( sous le nom d'EM64T, mais
ça n'est pas vraiment resté). :-)

--
Vivien MOREAU
Avatar
Dominique MICOLLET
Sergio wrote:

Je suppose, pour des raisons historiques.


...
http://fr.wikipedia.org/wiki/AMD64
http://fr.wikipedia.org/wiki/IA-64



OK. Merci.

Il faut décidément que je réactualise mes connaissances dans le domaine :-)

--
Dominique MICOLLET
Adresse email : enlever deux francs
Avatar
Hugues
Ce cher Sergio a posté :

Le 27/09/2010 08:25, Dominique MICOLLET a écrit :

Incidemment, pourquoi la version 64 bits s'appelle-t'elle amd64, et non pas
x64 ou quelque chose du genre ? C'est historique ?



Je suppose, pour des raisons historiques.

Au départ AMD a été le premier à proposer ce jeux d'instructions, avec
la "compatibilité" Intel 32 bits.. Parallèlement, Intel avait
développé l'architecture IA-64 (processeurs "Itanium"), incompatible
avec le jeux 32 bits.

Finalement, Intel s'est rangé derrière AMD, et ses processeurs sont
maintenant compatibles AMD-64... Pour une fois, c'est Intel qui a fait
du "compatible AMD"...



Merci pour ces explications !
Je me suis rendu compte qu'il y avait anguille sous roche quand mon CD
de debian ia64 a refusé de booter sur mon Intel i7 ... =)

Maintenant, j'ai aussi l'explication du pourquoi "amd"64 :)

--
Hugues Hiegel [http://www.hiegel.fr/~hugues/]
1 2