OVH Cloud OVH Cloud

2 questions sur la migration Intel (endianness et 64 bits)

36 réponses
Avatar
Gilles Vollant
Je me pose deux questions au sujet du portage de MacOS sur processeur Intel

1) Jusqu'à maintenant, les processeurs Macintosh (les 680x0 comme les
PowerPC dans le mode utilisé par macos) sont big endian, et le x86 est
little endian

Cela rend le portage d'application plus complexe. En effet, un source C peut
parfois être dépendant de l'"endianness"

pour plus de détails:
http://www.nationmaster.com/encyclopedia/Endianness

2) Apple utilisera-t-il le mode 64 bits des x86 (EM64T) ? Cela paraiterait
logique, puisque cela éviterais une nouvelle migration à relativement courte
échéance.

10 réponses

1 2 3 4
Avatar
Eric Lévénez
Le 13/06/05 2:40, dans , « Vincent Bernat »
a écrit :

OoO Lors de la soirée naissante du dimanche 12 juin 2005, vers 18:16,
Eric Lévénez disait:

Je ne dis pas qu'ils ne seront pas 64 bits, je dis qu'ils auront dans
un premier temps des programmes 32 bits à se mettre sous la dent.


Mais tu affirmes cela juste parce que le kit de développement d'un système,
a, un an avant la sortie du premier système, que du 32 bits.


Oui. Et a priori la machine et l'OS aussi.


Le kit quoi. Donc tout ce que tu dis découle uniquement du kit actuel ?

Et Apple aura du mal à
mettre à jour la machine à distance.


C'est un prêt d'Apple, pour que les développeurs commencent. Qui dit qu'il
n'y aura pas un autre kit un peu plus tard ?

Donc les premiers programmes qui
tourneront sur Mac OS X/Intel seront 32 bits.


Je refuse ce "donc". On verra bien dans un an.

C'est comme affirmer que les machines utiliseront des CPU monocore juste
parce que le kit actuel est comme cela. C'est pas vraiment sérieux comme
argumentaire.

Mais p'tet qu'Apple a
prévu de mettre à jour l'OS et la machine avant un an gratuitement.


Oui, p'tet :-)

Seulement, ce n'est écrit nulle part, donc ces spéculations viennent
uniquement de toi.


Tout comme il est écrit nulle part que les CPU seront monocores.

[snip]
Tu spécules sur le fait qu'il sortira en 64 bits. Dans le cas
contraire, relis ce que j'ai écrit. Imagine que nous sommes un an plus
tard si nécessaire.


Relis aussi ce que j'ai dit. Je n'ai pas affirmé qu'Apple ne sortira pas de
32 bits, mais j'ai dit qu'Apple pourrait sortir en même temps du 64 bits
voir que du 64 bits contrairement à toi qui affirme qu'Apple ne sortira pas
de 64 bits avant longtemps voir pas du tout.

[snip toolchain]

Oui, si Mac OS X ne tourne pas en 64 bits sur PC, c'est effectivement
une limitation. Mais si Apple compte (comme tu sembles vouloir
l'indiquer) le sortir en 64 bits dans un an,


Oui, c'est ce que j'espère comme beaucoup, et je ne me fie pas uniquement au
kit de développement actuel.

on devra y faire tourner
des programmes 32 bits et ce sera donc un système mixte.


Pourquoi "on devra" ? Si Apple sort directement en 64, alors "on n'aura pas
besoin".

Parce qu'il
n'y a aucune raison que les développeurs aillent plus vite que Apple
pour effectuer sur leurs applications le passage en 64 bits.


Bien sûr que si. Si actuellement le portage PPC vers x86 se fait en un clic
de souris, ce n'est pas grâce aux développeurs, c'est uniquement grâce à
NeXT/Apple. Apple a fait tout le travail, les développeurs utilisent ce
travail. Le portage de l'application du développeur, c'est trivial si le
développeur a bien conçu son programme et isolé les parties non portables,
comme cela doit être enseigné dans toute école d'info.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.



Avatar
Vincent Bernat
OoO Lors de la soirée naissante du lundi 13 juin 2005, vers 18:47,
Eric Lévénez disait:

Oui. Et a priori la machine et l'OS aussi.


Le kit quoi. Donc tout ce que tu dis découle uniquement du kit
actuel ?


Tout à fait. Et la documentation de Apple qui ne mentionne rien du
tout à ce sujet. Cela fait toujours beaucoup plus que tes spéculations
sur des suppositions.

Relis aussi ce que j'ai dit. Je n'ai pas affirmé qu'Apple ne sortira pas de
32 bits, mais j'ai dit qu'Apple pourrait sortir en même temps du 64 bits
voir que du 64 bits contrairement à toi qui affirme qu'Apple ne sortira pas
de 64 bits avant longtemps voir pas du tout.


Tu déformes ce que je dis. Je pense que Apple va sortir du 32 bits
dans un premier temps puis du 64 bits peu de temps après, ce qui va
obliger à deux migrations consécutives et de garder la compatibilité
avec le 32 bits.

Bien sûr que si. Si actuellement le portage PPC vers x86 se fait en
un clic de souris, ce n'est pas grâce aux développeurs, c'est
uniquement grâce à NeXT/Apple. Apple a fait tout le travail, les
développeurs utilisent ce travail. Le portage de l'application du
développeur, c'est trivial si le développeur a bien conçu son
programme et isolé les parties non portables, comme cela doit être
enseigné dans toute école d'info.


Oui et il y a tout un gouffre entre la théorie et la pratique. Cf ma
réponse au message suivant.
--
MUD IS NOT ONE OF THE 4 FOOD GROUPS
MUD IS NOT ONE OF THE 4 FOOD GROUPS
MUD IS NOT ONE OF THE 4 FOOD GROUPS
-+- Bart Simpson on chalkboard in episode 9F15


Avatar
Vincent Bernat
OoO Pendant le journal télévisé du lundi 13 juin 2005, vers 20:53,
(Benoit Leraillez) disait:

Je sais qu'il y a des applications utilisées par certains participant
sur fcsm, fcomx & Co qui ont été portées lors de la WWDC. Un des
développeurs français avec lesquels j'ai déjeuné a terminé le
portage en moins d'une heure. Il y a donc des codes bien écrits qui
sont vite adaptés parce qu'on i) trouve rapidement les parties à
modifier et ii) elles ne sont pas trop complexes à réécrire*.


Je serai intéressé par un pointeur sur les portages réalisés. La seule
grosse application portée sur place dont j'ai eu vent est Firefox, qui
tourne déjà sur au moins 12 architectures différentes. On peut sans
doute trouver plus difficile à porter.
--
I WILL NOT AIM FOR THE HEAD
I WILL NOT AIM FOR THE HEAD
I WILL NOT AIM FOR THE HEAD
-+- Bart Simpson on chalkboard in episode 8F13

Avatar
nospam
Vincent Bernat wrote:

On peut sans
doute trouver plus difficile à porter.


Wow, Mathematica et toutes les applis que les développeurs ont portés
dans les labs pendant 5 jours sans pour autant que nous sachions quels
sont ces applications et quels sont ces développeurs... Ça fait un bon
paquet.

--
Jacques

Avatar
Vincent Bernat
OoO En cette fin de nuit blanche du mardi 14 juin 2005, vers 06:00,
(Jacques) disait:

On peut sans doute trouver plus difficile à porter.


Wow, Mathematica et toutes les applis que les développeurs ont portés
dans les labs pendant 5 jours sans pour autant que nous sachions quels
sont ces applications et quels sont ces développeurs... Ça fait un bon
paquet.


Hum, hum, en effet, on ne sait pas. Mathematica existe également déjà
sur un certain nombre de plateformes et donc son code doit être
relativement dépourvu de problèmes liés à l'architecture. Sans compter
qu'il y avait les ingénieurs d'Apple pour aider rapidement en cas de
problèmes.
--
TEACHER IS NOT A LEPER
TEACHER IS NOT A LEPER
TEACHER IS NOT A LEPER
-+- Bart Simpson on chalkboard in episode 9F08


Avatar
Franck
Eric Lévénez wrote:
C'est un prêt d'Apple, pour que les développeurs commencent. Qui dit qu'il
n'y aura pas un autre kit un peu plus tard ?


Un prêt à 999$ tout de même ;-)

Il faudra rendre le kit développeur lorsque les vraies machines seront
sorties. Je doute qu'à ce moment là Apple rende les 999 $ :-p

Avatar
Vincent Bernat
OoO En ce doux début de matinée du mardi 14 juin 2005, vers 08:42,
Stephane Madrau disait:

Je serai intéressé par un pointeur sur les portages réalisés.


Pour le peu que ça puisse représenter, même si c'est insignifiant, j'ai
porté mon shareware (une 150aine de milliers de lignes de code), depuis
CW8 vers XCode, en bossant 1 à 2 heures les soirs depuis lundi dernier:
je n'aurai jamais pensé que ce soit si simple (le plus dur a été à
supporter les crashs incessants sans raison de XCode).

Maintenant je fais quoi ? Je déactive la compilation i386, je sais que
je suis prêt, pour le jour venu où je pourrai le tester (je n'ai pas
$999 à mettre maintenant là dedans), et surtout en attendant le jour où
on saura ce que sera vraiment la vraie plateforme de déploiement.


Merci pour ce témoignage. Cependant, il te faudra encore tester ton
code sur x86, car a priori, d'après ce que tu dis, il compile
juste. Ce qui est déjà pas mal.
--
panic("huh?n");
2.2.16 /usr/src/linux/arch/i386/kernel/smp.c


Avatar
Vincent Bernat
OoO En ce doux début de matinée du mardi 14 juin 2005, vers 08:37,
Stephane Madrau disait:

Tu déformes ce que je dis. Je pense que Apple va sortir du 32 bits
dans un premier temps puis du 64 bits peu de temps après, ce qui va
obliger à deux migrations consécutives et de garder la compatibilité
avec le 32 bits.


Je pense que c'est bien le passage 1->2 architectures qui sera le plus
difficile, bien plus que 2->3 ou 3->4.


Au niveau compilation, le passage 1->2 est plus simple car
généralement, il y a des chances que ça compile. Au niveau de
l'exécution, c'est l'inverse à cause des problèmes d'endianess ou du
fait qu'un caractère soit signé ou non par défaut. Cela dépend aussi
bien entendu de l'application. Une appli qui ne manipule pas de
données externes aura plus de chances de fonctionner correctement
après la compilation.
--
si c bien le k
-+-YT in GNU: mon clavier est kc -+-


Avatar
Vincent Bernat
OoO En ce doux début de matinée du mardi 14 juin 2005, vers 08:33,
Franck <franck+ disait:

C'est un prêt d'Apple, pour que les développeurs commencent. Qui dit qu'il
n'y aura pas un autre kit un peu plus tard ?


Un prêt à 999$ tout de même ;-)

Il faudra rendre le kit développeur lorsque les vraies machines seront
sorties. Je doute qu'à ce moment là Apple rende les 999 $ :-p


Ce qui peut effectivement laisser penser qu'Apple peut mettre à jour
le prêt, mais je pense que dans ce cas, Apple l'aurait dit pour ne pas
trop mécontenter les petits développeurs.
--
/* Identify the flock of penguins. */
2.2.16 /usr/src/linux/arch/alpha/kernel/setup.c


Avatar
Vincent Bernat
OoO En ce doux début de matinée du mardi 14 juin 2005, vers 08:42,
Stephane Madrau disait:

Je serai intéressé par un pointeur sur les portages réalisés.


Pour le peu que ça puisse représenter, même si c'est insignifiant, j'ai
porté mon shareware (une 150aine de milliers de lignes de code), depuis
CW8 vers XCode, en bossant 1 à 2 heures les soirs depuis lundi dernier:
je n'aurai jamais pensé que ce soit si simple (le plus dur a été à
supporter les crashs incessants sans raison de XCode).

Maintenant je fais quoi ? Je déactive la compilation i386, je sais que
je suis prêt, pour le jour venu où je pourrai le tester (je n'ai pas
$999 à mettre maintenant là dedans), et surtout en attendant le jour où
on saura ce que sera vraiment la vraie plateforme de déploiement.


Merci pour ce témoignage. Cependant, il te faudra encore tester ton
code sur x86, car a priori, d'après ce que tu dis, il compile
juste. Ce qui est déjà pas mal.

Pour info, quel shareware développes-tu ? Et quelles sont les
difficultées que tu as rencontrées ?
--
panic("huh?n");
2.2.16 /usr/src/linux/arch/i386/kernel/smp.c


1 2 3 4