Universal Binary - architecture probleme de parametrage
oash
Membre
Bonjour,
A la recherche d'info sur les compilation UB et suite d'une réponse de Shlum trouvé sur le sujet, j'ai fait un "lipo -detailed_info" curieux sur mon application.
j'ai ça:
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 4096
size 216408
align 2^12 (4096)
architecture ppc7400
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_7400
offset 221184
size 253380
align 2^12 (4096)
Lorsque je fait la meme chose pour iTunes, comme dans l'exemple du forum, je trouve :
architecture ppc
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_ALL
offset 4096
size 12898768
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 12906496
size 12692208
align 2^12 (4096)
dans XCode, j'ai i386 ppc ppc64 ppc7400 ppc970 x86_64 dans Valid Architectures.
Est-ce que le fait que seul le ppc7400 apparaisse peut créer un bogue sur, par exemple un ppc970
Comment puis-je paramètrer pour avoir ppc - POWERPC_ALL ?
Merci.
A la recherche d'info sur les compilation UB et suite d'une réponse de Shlum trouvé sur le sujet, j'ai fait un "lipo -detailed_info" curieux sur mon application.
j'ai ça:
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 4096
size 216408
align 2^12 (4096)
architecture ppc7400
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_7400
offset 221184
size 253380
align 2^12 (4096)
Lorsque je fait la meme chose pour iTunes, comme dans l'exemple du forum, je trouve :
architecture ppc
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_ALL
offset 4096
size 12898768
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 12906496
size 12692208
align 2^12 (4096)
dans XCode, j'ai i386 ppc ppc64 ppc7400 ppc970 x86_64 dans Valid Architectures.
Est-ce que le fait que seul le ppc7400 apparaisse peut créer un bogue sur, par exemple un ppc970
Comment puis-je paramètrer pour avoir ppc - POWERPC_ALL ?
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Maintenant, avec du 7400 ça tournera sur les G5 aussi... Une version 970 permettra juste d'optimiser certains calculs précis que tu n'utilises probablement pas dans ton application.
Mes testeurs m'ayant rapporté que l'appli tourne sur les Intels mais pose problème sur iMac G5, j'en suis arrivé à poser la question précédente. Après quelques fignolages, il semble qu'elle tourne sur certain G5 et pas sur d'autres...
J'avoue ne pas comprendre les mécanismes des processeurs.
A tout hasard et toujours curieux, j'ai changé les paramètres dans XCode sur 32/64.
Mon appli s'est mise à planter sur mon macbook... à l'endroit ou elle plante sur ppc !
Apres retour au parametrage pour 32 bits, l'appli tourne bien.
J'ai essayé de comprendre la doc d'apple correspondant aux différence d'architecture mais j'avoue patauger un peu (et même un peu plus).
Sachant qu'au niveau du problème il y a un chargement de View contenant une table utilisant des polices embarquées, est-ce normal (cà d est-ce que ce type de chose peut changer le comportement de l'appli selon l'architecture ?)
Concernant les différences selon le processeur, elle sont essentiellement entre intel VS ppc (et rarement -pour ne pas dire jamais- entre 2 proc de même modèle mais de sous-type différent).
Les cas classiques entre intel et ppc est le traitement de l'endianness, mais il ne faut pas aussi oublier la division par 0 (qui est une exception crashisante sous intel et pas sous ppc).
Il y a une NSView qui doit remplacer une autre dans une NSBox.
Sur Intel (avec parametrage pour 32 bits) ça tourne et sur PPC (32 ou 64) (ou Intel avec parametrage 64), la vue ne monte pas et donc je ne peux pas continuer car on attends une action sur la vue manquante...
Donc je n'ai pas de log. Le debuggeur considere que tout est OK.
Essaie de nous faire un mini-projet qui reproduit le problème.
J'ai 2 mac, l'un ppc (G5) et l'autre intel.
Pour intel, pas de probleme ni dans XCode ni sur les ordi cibles.
Pour ppc, plusieurs problemes que je ne comprends pas:
1. sur Macbook intel - compilation pour 32/ bits:
pas de probleme.
2. sur Macbook intel - compilation pour 32/64 bits:
le jeu n'avance pas (il s'arrete à un endroit) et la console me renvoie :
[tt]warning: Error while reading dyld shared cache region 62439 of 83886080
warning: Couldn't find minimal symbol for "_sigtramp" - backtraces may be unreliable
(gdb)[/tt]
Si je met un breakpoint pour essayer de trouver ce qui bloque, le programme ne se bloque pas...
3. sur iMac G5
le programme se bloque au même point que lors de la compilation pour 32/64
La console renvoie:
[tt]
17/05/09 14:56:47 BXBeta[54289] Error loading /Library/InputManagers/LiveDictInputManager.inputManager/LiveDictInputManagerLoader.bundle/Contents/MacOS/LiveDictInputManagerLoader: dlopen(/Library/InputManagers/LiveDictInputManager.inputManager/LiveDictInputManagerLoader.bundle/Contents/MacOS/LiveDictInputManagerLoader, 265): no suitable image found. Did find:
/Library/InputManagers/LiveDictInputManager.inputManager/LiveDictInputManagerLoader.bundle/Contents/MacOS/LiveDictInputManagerLoader: GC capability mismatch
17/05/09 14:56:47 BXBeta[54289] Error loading /Library/InputManagers/Safari AdBlock/Safari AdBlock.bundle/Contents/MacOS/Safari AdBlock: dlopen(/Library/InputManagers/Safari AdBlock/Safari AdBlock.bundle/Contents/MacOS/Safari AdBlock, 265): no suitable image found. Did find:
/Library/InputManagers/Safari AdBlock/Safari AdBlock.bundle/Contents/MacOS/Safari AdBlock: GC capability mismatch
17/05/09 14:56:47 BXBeta[54289] Error loading /Library/InputManagers/RapidoWrite/RapidoWrite.bundle/Contents/MacOS/RapidoWrite: dlopen(/Library/InputManagers/RapidoWrite/RapidoWrite.bundle/Contents/MacOS/RapidoWrite, 265): no suitable image found. Did find:
/Library/InputManagers/RapidoWrite/RapidoWrite.bundle/Contents/MacOS/RapidoWrite: GC capability mismatch
17/05/09 14:56:47 BXBeta[54289] Error loading /Library/InputManagers/TabExpose/TabExpose.bundle/Contents/MacOS/TabExpose: dlopen(/Library/InputManagers/TabExpose/TabExpose.bundle/Contents/MacOS/TabExpose, 265): no suitable image found. Did find:
/Library/InputManagers/TabExpose/TabExpose.bundle/Contents/MacOS/TabExpose: GC capability mismatch
17/05/09 14:56:47 BXBeta[54289] Error loading /Library/InputManagers/CosmoPod/CosmoPod.bundle/Contents/MacOS/CosmoPod: dlopen(/Library/InputManagers/CosmoPod/CosmoPod.bundle/Contents/MacOS/CosmoPod, 265): no suitable image found. Did find:
/Library/InputManagers/CosmoPod/CosmoPod.bundle/Contents/MacOS/CosmoPod: GC capability mismatch
17/05/09 14:56:47 BXBeta[54289] Error loading /Library/InputManagers/SafariBlock/SafariBlock.bundle/Contents/MacOS/SafariBlock: dlopen(/Library/InputManagers/SafariBlock/SafariBlock.bundle/Contents/MacOS/SafariBlock, 265): no suitable image found. Did find:
/Library/InputManagers/SafariBlock/SafariBlock.bundle/Contents/MacOS/SafariBlock: GC capability mismatch
17/05/09 14:56:58 com.apple.launchd[74] ([0x0-0x370370].com.ODOTASH.BXBeta[54289]) Exited abnormally: Bus error
[/tt]
De ce que j'ai pou trouver a droite et a gauche, je n'ai pas réussi à comprendre ni le dyld, ni le
_sigtramp. Savez vous ou je peux trouver des infos ?
merci.