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