2016-11-28 5 views
0

Je PORTAGE xv6 de GCC à Clang, et rencontré le message d'erreur suivant:option `-Wa, -divide` dans Clang ou LLVM

clang -m32 -gdwarf-2 -Wa,-divide -c -o swtch.o swtch.S 
clang-3.8: error: unsupported argument '-divide' to option 'Wa,' 

Notez que -Wa est utilisé pour transmettre des arguments à l'assembleur, et je ne pouvais pas savoir quelle est l'option -divide. En tant que correctif, actuellement, j'ai désactivé l'assembleur intégré en passant l'option no-integrated-as à Clang. Mais je veux utiliser le membre intégré de Clang. Est-il prudent d'ignorer cette option? Ou existe-t-il une autre façon de donner cette option à Clang?

Répondre

1

Le manuel de gaz documentation for --divide dit:

Sur les plateformes SVR4 dérivées, le caractère /' is treated as a comment character, which means that it cannot be used in expressions. The --divide « option active /' into a normal character. This does not disable/» au début d'une ligne de départ un commentaire, ou affecter en utilisant `# » pour commencer un commentaire.

Sur mon ordinateur de bureau Linux, --divide ne fait rien: as assemble mov $(15/2), %eax très bien avec ou sans --divide.

Donc, vous devriez être bien pour le sortir. Si c'est un problème et que le clang traite / comme un caractère de commentaire sur certaines plates-formes, cela devrait généralement entraîner un échec au moment de la construction, et non des binaires avec des bogues cachés.


Et oui, -divide ne semble la même chose que --divide. Mais vous pouvez essayer --divide dans le cas où l'assembleur de clang ne prend en charge que le formulaire double standard -.