| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Now that D71894 has landed, we're able to run libc++abi tests remotely.
For that we can use the same CMake command as before. The tests can be run using `ninja check-cxxabi`.
Reviewers: andreil99, vvereschaka, aorlov
Reviewed By: vvereschaka, aorlov
Subscribers: mgorny, kristof.beyls, ldionne, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72459
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D72188
|
|
|
|
|
|
|
| |
We would like to use clang-scan-deps in Fuchsia build so include it
in the toolchain distribution.
Differential Revision: https://reviews.llvm.org/D72113
|
|
|
|
|
|
|
|
|
|
|
|
| |
cache file.
Added two confguration argument to provide a host name and SSH user name
to run the tests on the remote target host.
* REMOTE_TEST_HOST - remote host name or address.
* REMOTE_TEST_USER - passwordless SSH account name.
Differential Revision: https://reviews.llvm.org/D71625
|
|
|
|
|
|
|
|
| |
We don't have a full sysroot yet, so for now we only include compiler
support and compiler-rt builtins, the rest of the runtimes will get
enabled later.
Differential Revision: https://reviews.llvm.org/D70477
|
|
|
|
|
|
|
|
| |
The comment was slightly misleading.
Behalf: broadwaylamb (Sergej Jaskiewicz)
Differential Revision: https://reviews.llvm.org/D70499
|
|
|
|
|
|
|
| |
This cache file can be used to build a cross Windows to ARM Linux
toolchain.
Differential Revision: https://reviews.llvm.org/D69651
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes several changes to our toolchain build:
- Switch from RelWithDebInfo to Release as we don't currently use the
debug info and therefore don't need to produce it.
- Disable unwind tables since we don't need them.
- Disable Clang static analyzer and ARCMT since we don't use it.
- Disable Go tests since we don't distribute Go bindings.
- Set the deployment target for macOS to 10.7 to make the toolchain
usable on older systems.
- Restrict the targets we build runtimes for on Darwin only the ones
we actually need.
- Drop llc and opt from the distribution since we don't need them.
Differential Revision: https://reviews.llvm.org/D69415
|
|
|
|
|
|
|
|
| |
We plan on using experimental new pass manager for Fuchsia toolchain.
Differential Revision: https://reviews.llvm.org/D58214
llvm-svn: 370421
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using noexcept multilib with -fno-exceptions can lead to significant
space savings when statically linking libc++abi because we don't need
all the unwinding and demangling code.
When compiling with ASan, we already get a lot of overhead from the
instrumentation itself, when statically linking libc++abi, that overhead
is even larger.
Having the noexcept variant for ASan can help significantly, we've seen
more than 50% size reduction in our system image, which offsets the cost
of having to build another multilib.
Differential Revision: https://reviews.llvm.org/D64140
llvm-svn: 365994
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to preserve debug info in our runtimes to aid symbolization and
debugging; for shared libraries this will be stripped away during
install-stripped step and distributed via .build-id, for static archives
it's part of the archive and it's a responsibility of the consumer to
strip it away in the final binary if not needed.
Differential Revision: https://reviews.llvm.org/D64605
llvm-svn: 365845
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In DistributionExample.cmake be sure we use a LTO
capable linker, the easiest to choose is lld.
Reviewers: beanz
Reviewed By: beanz
Patch By: winksaville
Subscribers: mgorny, mehdi_amini, inglorion, dexonsmith, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D62279
llvm-svn: 362624
|
|
|
|
|
|
| |
This also unifies flags between macOS and Linux builds.
llvm-svn: 362585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMake always uses absolute file paths in the generated compiler
invocation which results in absolute file paths being embedded in debug
info. This is undesirable when building a toolchain e.g. on bots as the
debug info may embed the bot source checkout path which is meaningless
anywhere else.
This change introduces the LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO which uses
-fdebug-prefix-map (where supported) options to rewrite paths embedded
into debug info with relative ones. Additionally, LLVM_SOURCE_PREFIX can
be used to override the path to source directory with a different one.
Differential Revision: https://reviews.llvm.org/D62622
llvm-svn: 362185
|
|
|
|
|
|
|
|
|
| |
Since we share headers between host and target builds, we need to use
the same version for both.
Differential Revision: https://reviews.llvm.org/D62712
llvm-svn: 362181
|
|
|
|
|
|
|
|
|
|
| |
This ensures that whether the user uses short or cannonical version
of the triple, Clang will still find the runtimes under the cannonical
triple name.
Differential Revision: https://reviews.llvm.org/D52132
llvm-svn: 361456
|
|
|
|
|
|
| |
This just updates the DistributionExamples from my 2016 Dev Meeting talk to work more seamlessly with the monorepo.
llvm-svn: 361184
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a more generic solution; while the sanitizer support can be used
only for sanitizer instrumented builds, the multilib support can be used
to build other variants such as noexcept which is what we would like to use
in Fuchsia.
The name CMake target name uses the target name, same as for the regular
runtimes build and the name of the multilib, concatenated with '+'. The
libraries are installed in a subdirectory named after the multilib.
Differential Revision: https://reviews.llvm.org/D60926
llvm-svn: 358935
|
|
|
|
|
|
|
|
|
| |
bootstrap
This is not necessary in stage2 because we don't even build libc++.dylib
there.
llvm-svn: 358582
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D5997
llvm-svn: 357275
|
|
|
|
|
|
|
|
|
| |
We want to distribute only a single archive so -lc++ does the right
thing and users don't have to explicitly link -lc++abi and -lunwind.
Differential Revision: https://reviews.llvm.org/D59803
llvm-svn: 356970
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: beanz, arphaman, EricWF
Subscribers: dberris, mgorny, jkorous, dexonsmith, jdoerfert, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D58921
llvm-svn: 355927
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When installing runtimes with install-runtimes-stripped, we don't want
to just strip them, we also want to preserve the debugging information
for potential debugging. To make it possible to later find the stripped
debugging information, we want to use the .build-id layout:
https://fedoraproject.org/wiki/RolandMcGrath/BuildID#Find_files_by_build_ID
That is, for libfoo.so with build ID abcdef1234, the debugging information
will be installed into lib/debug/.build-id/ab/cdef1234. llvm-objcopy
already has support for stripping files and linking the debugging
stripped output into the right location. However, CMake doesn't support
customizing strip invocation for the *-stripped targets. So instead, we
replace CMAKE_STRIP with a custom script that invokes llvm-objcopy with
the right command line flags.
Differential Revision: https://reviews.llvm.org/D59127
llvm-svn: 355765
|
|
|
|
|
|
|
| |
Add this in the Apple-stage2.cmake to ship the remark tooling library
with the compiler.
llvm-svn: 355440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The current install-clang-headers target installs clang's resource
directory headers. This is different from the install-llvm-headers
target, which installs LLVM's API headers. We want to introduce the
corresponding target to clang, and the natural name for that new target
would be install-clang-headers. Rename the existing target to
install-clang-resource-headers to free up the install-clang-headers name
for the new target, following the discussion on cfe-dev [1].
I didn't find any bots on zorg referencing install-clang-headers. I'll
send out another PSA to cfe-dev to accompany this rename.
[1] http://lists.llvm.org/pipermail/cfe-dev/2019-February/061365.html
Reviewers: beanz, phosek, tstellar, rnk, dim, serge-sans-paille
Subscribers: mgorny, javed.absar, jdoerfert, #sanitizers, openmp-commits, lldb-commits, cfe-commits, llvm-commits
Tags: #clang, #sanitizers, #lldb, #openmp, #llvm
Differential Revision: https://reviews.llvm.org/D58791
llvm-svn: 355340
|
|
|
|
|
|
|
| |
We're using static libc++ for the second stage which requires explicitly
linking -ldl and -lpthread.
llvm-svn: 353853
|
|
|
|
|
|
| |
This is no longer needed now that all users have switched to clangd.
llvm-svn: 353658
|
|
|
|
|
|
|
|
| |
Turned out this is used by Flutter which uses Fuchsia Clang toolchain.
Differential Revision: https://reviews.llvm.org/D57432
llvm-svn: 352586
|
|
|
|
|
|
|
|
|
| |
In addition to libc++abi and libc++, we also want to use hermetic
static libunwind on Fuchsia.
Differential Revision: https://reviews.llvm.org/D57431
llvm-svn: 352584
|
|
|
|
|
|
| |
This is breaking some of builders, disable modules until it's resolved.
llvm-svn: 352449
|
|
|
|
|
|
|
|
| |
Similarly to libc++, we want to use hermetic static libc++abi.
Differential Revision: https://reviews.llvm.org/D57136
llvm-svn: 352018
|
|
|
|
|
|
|
|
|
| |
-DNDEBUG is no longer needed now that we don't enable assertions,
modules should improve build times for the second stage.
Differential Revision: https://reviews.llvm.org/D56972
llvm-svn: 351709
|
|
|
|
|
|
|
|
| |
This made the toolchain build 50% slower.
Differential Revision: https://reviews.llvm.org/D56825
llvm-svn: 351415
|
|
|
|
|
|
|
|
|
|
|
| |
This reorders options between the first and second stage builds to make
them better lined up. The change also re-enables tests for first stage
which is useful e.g. for cross-compiling when we cannot run tests for
second stage directly (i.e. without emulation).
Differential Revision: https://reviews.llvm.org/D56652
llvm-svn: 351145
|
|
|
|
|
|
|
|
| |
This is enables the use of libc++ in contexts such as device drivers.
Differential Revision: https://reviews.llvm.org/D55405
llvm-svn: 350491
|
|
|
|
|
|
|
|
| |
We want these to be used for the second stage compiler as well.
Differential Revision: https://reviews.llvm.org/D56359
llvm-svn: 350486
|
|
|
|
|
|
| |
This reverts commit r350461 as it causes many of the Clang tests to fail.
llvm-svn: 350484
|
|
|
|
|
|
|
|
| |
This change enableds experimental new pass manager.
Differential Revision: https://reviews.llvm.org/D56350
llvm-svn: 350461
|
|
|
|
|
|
|
|
|
|
|
| |
This enables x86 relaxation by default. This depends on a linker new
enough to support the new reloc types but since we default to lld we
don't worry about host system linkers that might be too old to support
the new reloc types.
Differential Revision: https://reviews.llvm.org/D56349
llvm-svn: 350460
|
|
|
|
|
|
|
|
| |
This enables passing --build-id to linker by default.
Differential Revision: https://reviews.llvm.org/D56348
llvm-svn: 350459
|
|
|
|
|
|
|
|
| |
This allows running lld tests when doing 2-stage toolchain build.
Differential Revision: https://reviews.llvm.org/D56181
llvm-svn: 350202
|
|
|
|
|
|
|
|
| |
This enables support for XRay in Fuchsia Clang driver.
Differential Revision: https://reviews.llvm.org/D52160
llvm-svn: 347444
|
|
|
|
|
|
|
|
|
|
|
| |
When cross-compiling the second stage to a different target, we need to
make sure that the first-stage compiler can produce binaries for that
target. Using lld and llvm-objcopy as the default linker and objcopy
tool eliminates some of the dependencies on the host toolchain.
Differential Revision: https://reviews.llvm.org/D54655
llvm-svn: 347108
|
|
|
|
|
|
|
|
|
|
| |
When second stage is being cross-compiled for a different platform
we need to build enough of first stage runtimes to get a working
compiler.
Differential Revision: https://reviews.llvm.org/D54463
llvm-svn: 347026
|
|
|
|
|
|
|
|
| |
We need to explicitly specify the architecture version.
Differential Revision: https://reviews.llvm.org/D54613
llvm-svn: 347021
|
|
|
|
|
|
|
|
|
| |
Not all Linux targets use the ${arch}-linux-gnu spelling, so instead
specify the list of Linux explicitly.
Differential Revision: https://reviews.llvm.org/D54598
llvm-svn: 346997
|
|
|
|
|
|
|
|
| |
This is needed for run-clang-tidy.py.
Differential Revision: https://reviews.llvm.org/D54505
llvm-svn: 346827
|
|
|
|
|
|
|
|
|
|
| |
We set lld as the default linker on non-Darwin platforms, but we still
need to set -fuse-ld=lld explicitly in to support cross-compiling Linux
runtimes on Darwin.
Differential Revision: https://reviews.llvm.org/D54026
llvm-svn: 346056
|
|
|
|
|
|
|
|
|
| |
This allows building Linux runtimes on any platform if the correct
sysroot is provided via CMake option.
Differential Revision: https://reviews.llvm.org/D53970
llvm-svn: 345889
|
|
|
|
|
|
|
|
|
| |
Now that libc++ uses __exclude_from_explicit_instantiation__ attribute,
this is no longer needed.
Differential Revision: https://reviews.llvm.org/D53839
llvm-svn: 345552
|