On Tue, Aug 20, 2024 at 11:09 AM Bruno Haible <br...@clisp.org> wrote: > > A note regarding portability: > > The assembler, 'as', is no longer a required program on developer machines. > > FreeBSD 14.0 ships with clang as default compiler, and clang has an > embedded assembler. Yes, one can install the 'binutils' package and then > gets a /usr/local/bin/as program, but it is not part of the default > installation. > > For a long time already, it was easier to invoke > $CC -c foo.s > or > $CC -c -x none foo.s > rather than > as -c foo.s > because the compiler front end took over the jobs of > - determining the location of the assembler (not necessarily in /usr/bin), > - determining the ABI and CPU related flags to pass to the assembler. > > Now, 'as' can be gone entirely. > > 'clang -print-prog-name=as' still prints 'as', even when there is no 'as' > any more. > > clang has an option '-no-integrated-as', to force the use of a separate > assembler instead of the embedded one. But when there is no 'as' any more, > a command with that option fails.
The Clang assembler has problems. LLVM's integrated assembler still can't consume the same programs that GNU's `as` can. Jeff