IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[GCC]Problème de compilation PowerPC


Sujet :

C

  1. #1
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut [GCC]Problème de compilation PowerPC
    Bonjour à tous et toutes !
    Je suis désolé pour le titre, je ne savais pas comment décrire mon problème.

    A la compilation d'un fichier C (parmi des centaines) j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /tmp/cc42RfzW.s: Assembler messages:
    /tmp/cc42RfzW.s:21: Error: syntax error; found `
    /tmp/cc42RfzW.s:63: Error: syntax error; found `
    make[1]: *** [obj/root.o] Erreur 1
    Lorsque j'ajoute l'option -S à gcc, afin d'éviter l'appelle à l'assembleur, j'ai un fichier assembleur (pour PowerPC je précise):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    15         .file 1 "root.c"
      16         .loc 1 478 0
      17         .loc 1 489 0
      18 #APP
      19          stwu  r1,-0x10(r1)
      20         .loc 1 490 0
      21          stw   r8,(r1)
      22         .loc 1 491 0
      23          stw   r9,4(r1)
    Comme vous pouvez le voir, la ligne 21 ne contient pas de signe "`".
    Je ne comprends pas cette erreur, et je ne vois pas ce qui peut la provoquer.

    Si vous avez des idées, merci d'avance !!

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Salut

    oui mais la ligne 21 et 63 du C, elles correspondent à quoi ??

    Comment ça se fait que tu aies "assembler messages" ??

    Tu compiles avec -lang=assembler ??

  3. #3
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    La ligne 21 du C contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //  02/07 : Retrait de la structure ROOT_RAM_TAMPON
    Je lance un gcc "classique" et j'ai une erreur de type assembleur, car j'imagine que GCC fait une compilation, génère le fichier asm, puis assemble ce fichier pour générer le fichier objet.

    La ligne de compilation est en gros la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ppc_6xx-gcc -I. -I../../include -g -O -Wall -c root.c -o obj/root.o

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    les commentaires // ne sont acceptés que avec C99.......

    Sinon c'est /* .... */

    OR il me semble que par défaut gcc ne compile pas en C99...

  5. #5
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    J'ai d'autres fichiers C avec ce type de commentaires, et ils ne posent pas de soucis de compilation.

  6. #6
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    D'ailleurs, gcc a été compilé avec l'option --enable-c99.

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    alors je ne vois que 2 choses :

    • soit une édition malencontreuse ayant laissé un caractère de contrôle quelque part avant.

    • soit une mauvaise inclusion, une accolade mal fermée, quelque chose qui ne va pas dans les 20 lignes précédentes...


    A mon avis, la solution la plus simple pour voir :

    tu entoures ce que tu peux autour de cette ligne de #ifdef 0 pour que le précompilo le saute, et tu regardes ce que ça donne.

    ou

    tu retapes manuellement chacune des lignes..

  8. #8
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Ca ne fait pas partie des lignes du fichier C je pense. Ou alors, pas aux lignes indiquées.
    J'ai essayé d'entourer par un #if 0 et ça ne change rien du tout.
    Mais la ligne indiquée est bien dans le code assembleur, pas dans le code C.

  9. #9
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Si tu assembles a la main le fichier genere avec -s, que se passe-t'il?

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par progfou Voir le message
    Ca ne fait pas partie des lignes du fichier C je pense. Ou alors, pas aux lignes indiquées.
    J'ai essayé d'entourer par un #if 0 et ça ne change rien du tout.
    Mais la ligne indiquée est bien dans le code assembleur, pas dans le code C.
    je disais remonte de plus en plus ton #ifdef pour voir à quel moment ça coince...

  11. #11
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Désolé Jean-Marc, mais je ne comprends pas ce que tu veux dire ?
    Je ne vais pas taper un gcc -s root.o ?

  12. #12
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par progfou Voir le message
    Désolé Jean-Marc, mais je ne comprends pas ce que tu veux dire ?
    Je ne vais pas taper un gcc -s root.o ?
    gcc -c root.s

  13. #13
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    linker input file unused because linking not done

  14. #14
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    je disais remonte de plus en plus ton #ifdef pour voir à quel moment ça coince...
    Si j'entoure la ligne 21, et juste elle, j'ai déjà l'erreur.

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par progfou Voir le message
    Si j'entoure la ligne 21, et juste elle, j'ai déjà l'erreur.
    bien sûr, je te dis de remonter le #ifdef ligne à ligne.. (j'ai dit que je pensais que l'erreur était avant)

    tu laisses le #endif après la ligne 21...

  16. #16
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    J'ai remonté progressivement jusqu'en haut, ça n'a rien changé.
    J'ai aussi essaye de supprimer les lignes, carrément, et ça n'a rien changé non plus.

  17. #17
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Bizarre, il ne considere pas un .s comme un fichier a assembler? Ceci passe bien ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ gcc -S progfou.c
    $ gcc -c progfou.s
    $ gcc progfou.o
    (Tu peux aussi passer -v a gcc pour avoir plus d'info sur ce qu'il fait.)

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par progfou Voir le message
    J'ai remonté progressivement jusqu'en haut, ça n'a rien changé.
    J'ai aussi essaye de supprimer les lignes, carrément, et ça n'a rien changé non plus.
    à ce compte-là, j'ai un doute qu'il prenne le bon fichier...

  19. #19
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Il était nommé .o et non .s.
    En le nommant .s, j'arrive à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    root.s: Assembler messages:
    root.s:21: Error: syntax error; found `
    root.s:63: Error: syntax error; found `
    Le -v donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    as -mppc -V -Qy -o root.o root.s
    Et pas beaucoup d'info à part cela.

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    ecoute, je serais toi, d'abord je commencerai par juste compiler avec l'option préprocesseur seulement, en verbose. Et en faisant sortir l'output dans un fichier.

    Si ça ça passe, après vérification de tout, tu passes à la suite...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [gcc] Problème de compilation 32/64bits
    Par yann_m dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 28/08/2008, 14h50
  2. Réponses: 3
    Dernier message: 12/07/2006, 22h21
  3. Problème pour compiler avec gcc
    Par Mick.Zen dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 28/06/2006, 14h05
  4. [libcroco & gcc] Problème de compilation
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 25/05/2006, 23h08
  5. Réponses: 5
    Dernier message: 09/04/2006, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo