mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 12:36:10 +00:00

`clang -fno-integrated-as` doesn't currently work on Solaris: it doesn't even select between 32 and 64-bit objects. Besides, Solaris has both the native assembler (`/usr/bin/as`) and the GNU assembler (`/usr/bin/gas` resp. `/usr/gnu/bin/as`). The native sparc and x86 assemblers aren't compatible with `clang`'s assembler syntax to varying degrees, and the command line options for `as` and `gas` are completely different. Therefore this patch chooses to always use `gas` on Solaris, using `gnutools::Assembler::ConstructJob` to pass the correct options. Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and `x86_64-pc-linux-gnu`.
12 lines
513 B
C
12 lines
513 B
C
/// General tests for assembler invocations on Solaris.
|
|
|
|
/// Test that clang uses gas on Solaris.
|
|
// RUN: %clang -x assembler %s -### -c -fno-integrated-as \
|
|
// RUN: --target=sparc-sun-solaris2.11 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-GAS %s
|
|
// RUN: %clang -x assembler %s -### -c -fno-integrated-as \
|
|
// RUN: --target=sparc-sun-solaris2.11 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-GAS %s
|
|
/// Allow for both "/usr/bin/gas" (native) and "gas" (cross) forms.
|
|
// CHECK-GAS: gas"
|