History log of /llvm-project/clang/lib/Driver/ToolChains/Solaris.cpp (Results 1 – 25 of 52)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6
# 50046221 15-Dec-2024 Nico Weber <thakis@chromium.org>

Revert "[Driver] Cache SanitizerArgs (NFC) (#119442)"

This reverts commit bae383ba6b53b0d8257c83f99ceecdd751d0a378.
Prerequisite to reverting #119071.


# bae383ba 12-Dec-2024 Aaron Puchert <aaron.puchert@sap.com>

[Driver] Cache SanitizerArgs (NFC) (#119442)

The name getSanitizerArgs seems to mislead callers that this is a cheap
function, but it extracts the SanitizerArgs each time it is called.

So we try

[Driver] Cache SanitizerArgs (NFC) (#119442)

The name getSanitizerArgs seems to mislead callers that this is a cheap
function, but it extracts the SanitizerArgs each time it is called.

So we try to reuse it a bit more.

show more ...


Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1
# d01e3363 25-Sep-2024 Rainer Orth <ro@gcc.gnu.org>

[Driver] Enable ASan on Solaris/SPARC (#107403)

Once PR #107223 lands, ASan can be enabled on Solaris/SPARC. This patch
does just that. As on Solaris/x86, the dynamic ASan runtime lib needs to
be

[Driver] Enable ASan on Solaris/SPARC (#107403)

Once PR #107223 lands, ASan can be enabled on Solaris/SPARC. This patch
does just that. As on Solaris/x86, the dynamic ASan runtime lib needs to
be linked with `-z now` to avoid an `AsanInitInternal` cycle.

Tested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.

show more ...


# 1c0958bd 17-Sep-2024 Tarun Prabhu <tarun@lanl.gov>

[flang][Driver] Support -nostdlib and -nodefaultlibs (#108868)

This partially addresses some requests in #89888


Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# 540fd42c 29-Jun-2024 David CARLIER <devnexen@gmail.com>

[compiler-rt] adding safestack support for sunos platforms. (#95648)


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3
# f2a87b07 01-Apr-2024 Joseph Huber <huberjn@outlook.com>

[OpenMP] Use loaded offloading toolchains to add libraries (#87108)

Summary:
We want to pass these GPU libraries by default if a certain offloading
toolchain is loaded for OpenMP. Previously I parse

[OpenMP] Use loaded offloading toolchains to add libraries (#87108)

Summary:
We want to pass these GPU libraries by default if a certain offloading
toolchain is loaded for OpenMP. Previously I parsed this from the
arguments because it's only available in the compilation. This doesn't
really work for `native` and it's extra effort, so this patch just
passes in the `Compilation` as an extr argument and uses that. Tests
should be unaffected.

show more ...


Revision tags: llvmorg-18.1.2, llvmorg-18.1.1
# d5f77e11 03-Mar-2024 Brad Smith <brad@comstyle.com>

[Driver] Remove duplicate -r flag usage when linking (#82715)

Bug #82010


Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# 0871c4be 01-Jan-2024 Brad Smith <brad@comstyle.com>

[Driver][Solaris] Remove reachable llvm_unreachable (#76645)

Remove the llvm_unreachable from getSolarisLibSuffix(). The code path is
reachable. In the case of an unsupported architecture we're not

[Driver][Solaris] Remove reachable llvm_unreachable (#76645)

Remove the llvm_unreachable from getSolarisLibSuffix(). The code path is
reachable. In the case of an unsupported architecture we're not worrying
about trying to actually find the library paths, and I don't think it
makes sense for the Driver to crash.

Fixes #58334

show more ...


# f3dcc235 13-Dec-2023 Kazu Hirata <kazu@google.com>

[clang] Use StringRef::{starts,ends}_with (NFC) (#75149)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}:

[clang] Use StringRef::{starts,ends}_with (NFC) (#75149)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.

show more ...


# 17feb330 28-Nov-2023 Michael Klemm <michael.klemm@amd.com>

[flang][Driver] Let the linker fail on multiple definitions of main() (#73124)

The flang driver was silently ignoring the `main()` function in
`Fortran_main.a` for entry into the Fortran program un

[flang][Driver] Let the linker fail on multiple definitions of main() (#73124)

The flang driver was silently ignoring the `main()` function in
`Fortran_main.a` for entry into the Fortran program unit if an external
`main()` as supplied (e.g., via cross-language linkage with Fortran and
C/C++). This PR fixes this by making sure that the linker always pulls
in the `main()` definition from `Fortran_main.a` and consequently fails
due to multiple definitions of the same symbol if another object file
also has a definition of `main()`.

show more ...


Revision tags: llvmorg-17.0.6
# 0bc7cd4d 23-Nov-2023 David Truby <david.truby@arm.com>

[flang] Add runtimes using --dependent-lib on MSVC targets (#72519)

This patch uses the added --dependent-lib support to add the relevant
runtimes on MSVC targets as `/DEFAULTLIB:` sections in the

[flang] Add runtimes using --dependent-lib on MSVC targets (#72519)

This patch uses the added --dependent-lib support to add the relevant
runtimes on MSVC targets as `/DEFAULTLIB:` sections in the object file
rather than on the link line. This should help CMake support for flang
on Windows.

Fixes #63741
Fixes #68017

show more ...


# cac82e26 21-Nov-2023 Fangrui Song <i@maskray.me>

[Driver] Make ELF -nopie specific to OpenBSD (#72578)

-no-pie[1]/-nopie is rarely used and among the rare uses almost
everwhere uses -no-pie, since GCC does not recognize -nopie.
However, OpenBSD

[Driver] Make ELF -nopie specific to OpenBSD (#72578)

-no-pie[1]/-nopie is rarely used and among the rare uses almost
everwhere uses -no-pie, since GCC does not recognize -nopie.
However, OpenBSD seems to use -nopie. Therefore, make -nopie specific
to OpenBSD to prevent newer ToolChains (Solaris, SerenityOS) from cargo
culting and copying -nopie.

[1]: https://reviews.llvm.org/D35462

show more ...


Revision tags: llvmorg-17.0.5
# cf1e3420 10-Nov-2023 David Truby <david.truby@arm.com>

[flang][windows] Add option to link against specific MSVC CRT (#70833)

Currently flang's runtime libraries are only built for the specific CRT
that LLVM itself was built against. This patch adds th

[flang][windows] Add option to link against specific MSVC CRT (#70833)

Currently flang's runtime libraries are only built for the specific CRT
that LLVM itself was built against. This patch adds the cmake logic for
building a separate runtime for each CRT configuration and adds a flag
for selecting a CRT configuration to link against.

show more ...


# 8103ae66 05-Nov-2023 Brad Smith <brad@comstyle.com>

[Driver][Solaris][NFC] A little bit of clean up (#69867)


# b5b251aa 03-Nov-2023 Brad Smith <brad@comstyle.com>

[OpenMP] Add support for Solaris/x86_64 (#70593)

Tested on `amd64-pc-solaris2.11`.


# 760658c1 01-Nov-2023 Brad Smith <brad@comstyle.com>

[Driver] Silence stdlib warning when linking C on *BSD / Solaris / Haiku (#70434)

Same as 12b87f6ef720080fab1e2d48ca2d8c5ba478ee5d and the addition to Gnu.


Revision tags: llvmorg-17.0.4
# 3ea0022b 27-Oct-2023 Brad Smith <brad@comstyle.com>

[Driver][NFC] Make use of auto (#70400)


# 183158b4 26-Oct-2023 Rainer Orth <ro@gcc.gnu.org>

[Driver] Fix -r handling on Solaris (#70322)

As discussed in [[Driver] Link Flang runtime on Solaris](https://github.com/llvm/llvm-project/pull/65644), `clang -r`
incorrectly passes both `-Bdynamic

[Driver] Fix -r handling on Solaris (#70322)

As discussed in [[Driver] Link Flang runtime on Solaris](https://github.com/llvm/llvm-project/pull/65644), `clang -r`
incorrectly passes both `-Bdynamic` and `-e _start` to `ld` which lets the linker choke.

This patch fixes this, omitting `-Bdynamic` completely which is the linker default.

Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.

show more ...


# cf1bde9a 18-Oct-2023 Rainer Orth <ro@gcc.gnu.org>

[Driver] Link Flang runtime on Solaris (#65644)

I noticed that `flang-new` cannot link Fortran executables on Solaris since the runtime libs are missing.

This patch fixes this, following `Gnu.cpp

[Driver] Link Flang runtime on Solaris (#65644)

I noticed that `flang-new` cannot link Fortran executables on Solaris since the runtime libs are missing.

This patch fixes this, following `Gnu.cpp`. The `linker-flags.f90` testcase is augmented to test for this,
renaming the `GNU` label to `UNIX` so it can be reused. Also use the current form `--target=` in the tests
and join the `-l` lines in the test for readibility.

Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and
`x86_64-pc-linux-gnu`.

show more ...


Revision tags: llvmorg-17.0.3
# 4eecfda5 11-Oct-2023 Fangrui Song <i@maskray.me>

[Driver] Rename AddAllArgs (initialization list overload) to addAllArgs

Most ArgList member functions use the modern functionName style while some like
AddAllArgs use the legacy FunctionName style.

[Driver] Rename AddAllArgs (initialization list overload) to addAllArgs

Most ArgList member functions use the modern functionName style while some like
AddAllArgs use the legacy FunctionName style. These uses are mostly linker
options which have been modified recently to fix duplicate -e issues, so just
update these call sites.

show more ...


Revision tags: llvmorg-17.0.2
# 8a4b9e99 26-Sep-2023 Brad Smith <brad@comstyle.com>

[Driver] Move assertion check before checking Output.isFilename (#67210)


Revision tags: llvmorg-17.0.1, llvmorg-17.0.0
# 1e6b0df3 07-Sep-2023 Rainer Orth <ro@gcc.gnu.org>

[Driver] Fix linking with -lm on Solaris (#65632)

As noticed in D158846, the Solaris driver deviates from other targets in
that it links every executable with `-lm`, but doesn't for shared
objects

[Driver] Fix linking with -lm on Solaris (#65632)

As noticed in D158846, the Solaris driver deviates from other targets in
that it links every executable with `-lm`, but doesn't for shared
objects. For C code, this is unnecessary, while for C++ `libm` is always
needed, even for shared objects.

This patch fixes this by following the `Gnu.cpp` precedent. It adjusts
the `solaris-ld.c` test accordingly, adding some more tests.

Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and
`x86_64-pc-linux-gnu`.

show more ...


# 77e0863e 07-Sep-2023 Rainer Orth <ro@gcc.gnu.org>

[Driver] Always use gas with -fno-integrated-as on Solaris (#65489)

`clang -fno-integrated-as` doesn't currently work on Solaris: it doesn't
even select between 32 and 64-bit objects. Besides, Sola

[Driver] Always use gas with -fno-integrated-as on Solaris (#65489)

`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`.

show more ...


# b084d10c 06-Sep-2023 rorth <ro@gcc.gnu.org>

[Driver] Wrap -lgcc_s in -z ignore/-z record on Solaris (#65487)

`clang` currently links `libgcc_s` unconditionally on Solaris, which is
unnecessary.

This patch wraps it in `-z ignore`/`-z recor

[Driver] Wrap -lgcc_s in -z ignore/-z record on Solaris (#65487)

`clang` currently links `libgcc_s` unconditionally on Solaris, which is
unnecessary.

This patch wraps it in `-z ignore`/`-z record` instead.

Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.

show more ...


Revision tags: llvmorg-17.0.0-rc4
# d39a9e3b 01-Sep-2023 Rainer Orth <ro@gcc.gnu.org>

[Driver] Support GNU ld on Solaris

This patch supports GNU ld on Solaris in addition to Solaris ld, the
default.

- Linker selection is dynamic: one can switch between Solaris ld and GNU ld
at run

[Driver] Support GNU ld on Solaris

This patch supports GNU ld on Solaris in addition to Solaris ld, the
default.

- Linker selection is dynamic: one can switch between Solaris ld and GNU ld
at runtime, with the default selectable with `-DCLANG_DEFAULT_LINKER`.

- Testcases have been adjusted to test both variants in case there are
differences.

- The `compiler-rt/cmake/config-ix.cmake` and
`llvm/cmake/modules/AddLLVM.cmake` changes to restrict the tests to
Solaris ld are necessary because GNU accepts unknown `-z` options, but
warns every time they are used, creating a lot of noise. Since there
seems to be no way to check for those warnings in
`llvm_check_compiler_linker_flag` or `llvm_check_compiler_linker_flag`, I
restrict the cmake tests to Solaris ld in the first place.

- The changes to `clang/test/Driver/hip-link-bundle-archive.hip` and
`flang/test/Driver/linker-flags.f90` are required when LLVM is built with
`-DCLANG_DEFAULT_LINKER=gld` on Solaris: `MSVC.cpp`
`visualstudio::Linker::ConstructJob` ultimately calls
`GetProgramPath("gld")`, resulting in a search for `gld`, which exists in
`/usr/bin/gld` on Solaris. With `-fuse-ld=`, this doesn't happen and the
expected `link` is returned.

- `compiler-rt/test/asan/TestCases/global-location-nodebug.cpp` needs to
enforce the Solaris ld, otherwise the test would `XPASS` with GNU ld
which has the `-S` semantics expected by the test.

Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11` with both
`-DCLANG_DEFAULT_LINKER=gld` and the default, and `x86_64-pc-linux-gnu`.
No regressions in either case.

Differential Revision: https://reviews.llvm.org/D85309

show more ...


123