Page 1 of 1
Necessary to cross-compile nasm?
Posted: Sun Nov 04, 2018 7:01 pm
by Bowlslaw
I am, currently, using the cross-compiled GCC tools as shown on the OSDev wiki.
I am using ATT syntax for my assembly files, which is fine. But, I see that most people use Intel syntax with nasm.
If I want to use Intel syntax, is it necessary for me to make a cross-compiled nasm, just like I made a cross compiled i386-elf-as ?
Re: Necessary to cross-compile nasm?
Posted: Sun Nov 04, 2018 7:36 pm
by alexfru
No. Unlike g++, which would generate code according to your OS/CPU, NASM will do what you ask it to, every instruction and every directive.
Re: Necessary to cross-compile nasm?
Posted: Tue Nov 06, 2018 4:15 am
by Love4Boobies
Cross-compilers for OS development aren't about preventing your toolchain from doing OS-specific things as you can generally disable anything you don't want with the appropriate command-line options. It's really about having a non-default configuration that is appropriate for your needs (e.g., support for a different set of features, a different architecture, a different executable file format, etc.). NASM likely has everything you need already but you can consider your requirements and compare them against the configuration options to make sure. Also, we like to encourage people on this forum to build cross-compilers because a lot of them are not self-reliant so at least when they ask questions we can get more predictable outcomes without having to ask them about their toolchains.
Re: Necessary to cross-compile nasm?
Posted: Tue Nov 06, 2018 9:14 am
by Bowlslaw
Thanks for the great answers.
Re: Necessary to cross-compile nasm?
Posted: Wed Nov 07, 2018 2:31 am
by Solar
@Schol-R-Lea:
Note that your first and last statement are a bit contradictory. Yes, you can disable OS-specific things given the "correct" command-line options. But with an appropriate cross-compiler setup you don't have to, which is why we encourage it (so we don't have to go down the "which compiler on which OS are you using" tree).
Also, eventually you will need your own toolchain configuration, to which a "neutral" cross-compiler is the first step, so why not take that step right at the beginning.