la génération d'un.hors format de fichier avec gcc
Comment puis-je générer.hors format de fichier avec gcc sur les architectures x86 ?
Avec msna je peux le faire facilement avec l'option-f, par exemple:
[user@host]$ nasm -f aout start.asm
[user@host]$ objdump -a start.o
start.o: file format a.out-i386-linux
start.o
[user@host]$
Sur linux, compilation .c fichiers produit un objet elf. Comment puis-je produire une.les fichiers avec gcc ?
Quel système utilisez-vous? Je ne pense pas que Linux prend en charge un.hors des exécutables plus. Je ne sais pas à propos de fichiers d'objets intermédiaires.
Je crois que le noyau peut être configuré avec un.le support, mais qu'elle est désactivée par défaut. Il a été un moment depuis que j'ai compilé un noyau, qui risquent de ne plus être le cas.
Linux prend en charge si
Je crois que le noyau peut être configuré avec un.le support, mais qu'elle est désactivée par défaut. Il a été un moment depuis que j'ai compilé un noyau, qui risquent de ne plus être le cas.
Linux prend en charge si
CONFIG_BINFMT_AOUT
est activée au moment de la compilation.
OriginalL'auteur Nulik | 2011-11-28
Vous devez vous connecter pour publier un commentaire.
Pour générer le un.format de sortie avec gcc, votre éditeur de liens doit être dit de le faire. Vous pouvez le faire en passant des drapeaux de gcc grâce à la
-Wl
drapeau.Ici est ce que vous feriez pour l'un.format de sortie:
Vous pouvez également afficher tous les formats supporté en tapant:
J'ai trouvé la solution à la ci-dessus, avec -fno-ident option .section commentaire n'était pas généré, j'ai démarré mon un.hors du noyau fine avec grub. merci
Désolé j'ai raté votre premier commentaire, et content que vous avez trouvé le correctif vous-même 🙂
OriginalL'auteur Quentin Casasnovas
Il y a deux réponses à cette question. La première est que vous aurez besoin de compiler une nouvelle GCC aout avec comme cible; il n'est pas aussi simple que d'appuyer sur un commutateur de ligne de commande. L'autre réponse est une question: pourquoi avez-vous réellement besoin? Je ne peux pas immédiatement penser à une raison valable.
OriginalL'auteur goldfire
Selon ce post
http://gcc.gnu.org/ml/gcc-help/2006-04/msg00262.html
vous avez besoin pour construire gcc pour une cible différente (i386-aout). Semble plausible qu'un.est obsolète depuis des années (+de 10).
OriginalL'auteur MK.