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

Reply via email to