Commit Graph

129 Commits

Author SHA1 Message Date
Nico Weber 476155e68e [gn build] reformat all gn files
$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format

(and manually wrap two comments)
2021-04-20 10:34:08 -04:00
Nico Weber 03c41191af [gn build] hook up tsan on macOS too
Mostly just works already.
2021-04-02 19:21:38 -04:00
Nico Weber 8156d899ab [gn build] (manually) port 4c58f333f1 2021-04-02 18:21:37 -04:00
Nico Weber 55978f914e [gn build] add build file for tsan runtime
Linux-only for now. Some mac bits stubbed out, but not tested.

Good enough for the tiny_race.c example at
https://clang.llvm.org/docs/ThreadSanitizer.html :

   $ out/gn/bin/clang -fsanitize=address -g -O1 tiny_race.c
   $ while true; do ./a.out || echo $? ; done

While here, also make `-fsanitize=address` work for .c files.

Differential Revision: https://reviews.llvm.org/D99795
2021-04-02 12:59:14 -04:00
Nico Weber 8315890bdc [gn build] (semi-manually) port 51fa9e0fd9 2021-03-30 06:59:37 -04:00
Nico Weber ab158d35b5 [gn build] rewrap a comment to 80 cols 2021-03-27 12:50:33 -04:00
Nico Weber a431268668 [gn build] (semi-manually) port b136a74efc 2021-03-15 12:51:12 -04:00
Nico Weber 0ec448194e sysroot.py: add support for darwin
This is a tiny bit messy because compiler-rt needs different sysroots for
macOS, iOS, etc. We want sysroot.py to create something that is a hermetic
representation of all build deps, so it needs to create a directory that
contains all needed SDKs, and these subdirectories are then passed to
cmake which passes each of these _subdirectories_ as different -isysroot
flags while building the runtime libraries.

Differential Revision: https://reviews.llvm.org/D96958
2021-02-18 10:48:18 -05:00
Nico Weber 78717f56ba [gn build] Port b4993cf54d 2021-02-11 07:20:21 -05:00
Nico Weber 69f5bd2ec5 [gn build] reformat all gn files
$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
2021-02-08 16:11:01 -05:00
Nico Weber e19d525846 [gn build] fix up arm64 builtin sources a bit
The fp_mode.c removal is done by filter_builtin_sources in the cmake build.
2020-12-10 16:22:48 -05:00
Nico Weber 0e72f1978d [gn build] only build iOS builtins with full Xcode
Commandline tools doesn't include the iOS SDK.
2020-12-10 16:22:31 -05:00
Nico Weber 9935b0fc90 [gn build] (manually) port db61b1844e 2020-12-08 11:45:43 -05:00
Nico Weber da0aaedcd0 [gn build] (manually) port b534beabee 2020-11-25 20:19:46 -05:00
Nico Weber a8d9d0bd8a [gn build] (manually) merge 1fb91fcf9c 2020-11-19 14:24:35 -05:00
Nico Weber c0538938c9 [gn build] (manually) merge e51631ca4c 2020-11-14 10:12:15 -05:00
Nico Weber 5c9d2db42d [gn build] try to port 707d69ff32 2020-11-04 07:00:05 -05:00
Vitaly Buka e86205680e [sanitizer] Remove ANDROID_NDK_VERSION 2020-11-04 01:15:25 -08:00
Peter Collingbourne 19cfe5a6de gn build: Define HWASAN_WITH_INTERCEPTORS=1 for hwasan_new_delete.cpp as well. 2020-10-28 15:42:07 -07:00
Nico Weber db915f296f Revert "Revert "[gn build] (manually) port d09b08919ca""
This reverts commit 6ca3dd9735.
d09b08919c relanded in 53065c543f.
2020-10-20 09:09:30 -04:00
Nico Weber 6ca3dd9735 Revert "[gn build] (manually) port d09b08919ca"
This reverts commit 4d2d287a03.
d09b08919c got reverted in 7ecd60bb70.
2020-10-19 20:01:06 -04:00
Nico Weber 4d2d287a03 [gn build] (manually) port d09b08919c 2020-10-18 12:17:55 -04:00
LLVM GN Syncbot 1c54a91d11 [gn build] Port 3d4bba302d 2020-10-16 18:13:18 +00:00
Nico Weber 98e134f5d0 [gn build] (manually) port 3d4bba302d 2020-10-16 14:12:38 -04:00
Nico Weber 4a96b2e75f [gn build] Add libclang_rt.ios.a, libclang_rt.iossim.a to the build
It's built with just-built clang, like all other compiler-rt parts
in the GN build.

This requires adding some cross build support to the mac toolchain.

Also add explicit mmacosx-version-min and miphoneos-version-min
flags to the build.

ios.a is only built with the arm64 slice, iossim.a only with the
x86_64 slice for now. (The latter should maybe become host_cpu
when Arm Macs become a common iOS development platform.)

With this, it's possible to build chromium/iOS with a GN-built LLVM.

Differential Revision: https://reviews.llvm.org/D89260
2020-10-12 16:21:04 -04:00
Nico Weber 504697e6f4 [gn build] (manually) port c9af34027b 2020-09-17 06:33:24 -04:00
Nico Weber b3d33f5e83 [gn build] make "all" target build
If you want to build everything, building the default target
via just `ninja` is better, but `ninja all` shouldn't give you
compile errors -- this fixes that.
2020-09-16 14:21:48 -04:00
Nico Weber 1426ac0482 [gn build] Fix COMPILER_RT_HAS_* defines for libclang_rt.profile
The cmake build uses COMPILER_RT_TARGET_HAS_* in the CMakeLists.txt
but then translates it to -DCOMPILER_RT_HAS_* flags which the
c++ code checks for. So we need to define the latter, not the former.
2020-09-02 14:29:59 -04:00
Nico Weber 72d0f09489 [gn build] Port 57903cf093 -- https://reviews.llvm.org/rG57903cf0933 2020-08-21 12:02:30 -04:00
Arthur Eubanks a1caa30297 [gn build] Add support for expensive checks
Reviewed By: hans, MaskRay

Differential Revision: https://reviews.llvm.org/D86007
2020-08-18 09:53:39 -07:00
Petr Hosek 31e5f7120b [CMake] Simplify CMake handling for zlib
Rather than handling zlib handling manually, use find_package from CMake
to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB,
HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is
set to YES, which requires the distributor to explicitly select whether
zlib is enabled or not. This simplifies the CMake handling and usage in
the rest of the tooling.

This is a reland of abb0075 with all followup changes and fixes that
should address issues that were reported in PR44780.

Differential Revision: https://reviews.llvm.org/D79219
2020-08-11 20:22:11 -07:00
Petr Hosek a4d78d23c5 Revert "[CMake] Simplify CMake handling for zlib"
This reverts commit ccbc1485b5 which
is still failing on the Windows MLIR bots.
2020-08-08 17:08:23 -07:00
Petr Hosek ccbc1485b5 [CMake] Simplify CMake handling for zlib
Rather than handling zlib handling manually, use find_package from CMake
to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB,
HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is
set to YES, which requires the distributor to explicitly select whether
zlib is enabled or not. This simplifies the CMake handling and usage in
the rest of the tooling.

This is a reland of abb0075 with all followup changes and fixes that
should address issues that were reported in PR44780.

Differential Revision: https://reviews.llvm.org/D79219
2020-08-08 16:44:08 -07:00
Christian Kühnel f3cc4df51d Revert "[CMake] Simplify CMake handling for zlib"
This reverts commit 1adc494bce.
This patch broke the Windows compilation on buildbot and pre-merge testing:
http://lab.llvm.org:8011/builders/mlir-windows/builds/5945
https://buildkite.com/llvm-project/llvm-master-build/builds/780
2020-08-07 09:36:49 +02:00
Petr Hosek 1adc494bce [CMake] Simplify CMake handling for zlib
Rather than handling zlib handling manually, use find_package from CMake
to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB,
HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is
set to YES, which requires the distributor to explicitly select whether
zlib is enabled or not. This simplifies the CMake handling and usage in
the rest of the tooling.

This is a reland of abb0075 with all followup changes and fixes that
should address issues that were reported in PR44780.

Differential Revision: https://reviews.llvm.org/D79219
2020-08-05 16:07:11 -07:00
Nico Weber cc26121858 [gn build] (manually) merge 3ab01550b
This reverts commit 0bbaacc8ca and
2ad56119f5 which merged 10b1b4a23
(and follow-ups), since that change was reverted in 3ab01550b.
2020-08-05 08:56:14 -04:00
Nico Weber 0bbaacc8ca [gn build] (manually) port 10b1b4a23 more 2020-07-24 08:48:14 -04:00
Nico Weber d074749423 [gn build] (manually) port 746b5fad5b 2020-07-22 14:10:17 -04:00
Nico Weber 1afd889d0b [gn build] Make sync_source_lists_from_cmake handle one-line sources lines
sync_source_lists_from_cmake now also looks for source files in
`sources += [ "foo.cc" ]` lines, which allows us to remove most
`# Make `gn format` not collapse this` comments.

(sync_source_lists_from_cmake doesn't look for `foo_headers += [...]`
still, so the comment is still needed in two places for that.)

No intentional behavior change.
2020-07-17 11:53:42 -04:00
LLVM GN Syncbot 75e2040e93 [gn build] Port 0f6220ddd6 2020-07-16 23:07:45 +00:00
Nico Weber fe13ee875b [gn build] Port baca8f977e 2020-07-07 22:29:19 -04:00
Mitch Phillips e26b25f8b1 [HWASan] Add sizeof(global) in report even if symbols missing.
Summary: Refactor the current global header iteration to be callback-based, and add a feature that reports the size of the global variable during reporting. This allows binaries without symbols to still report the size of the global variable, which is always available in the HWASan globals PT_NOTE metadata.

Reviewers: eugenis, pcc

Reviewed By: pcc

Subscribers: mgorny, llvm-commits, #sanitizers

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D80599
2020-06-09 13:02:13 -07:00
Nico Weber 4f0eba28eb [gn build] (manually) port dedaf3a2ac 2020-05-27 12:31:59 -04:00
Nico Weber b51df268eb [gn build] (manually) port bba38de50c 2020-05-11 13:46:21 -04:00
Nico Weber f0019cdc47 [gn build] fix typo 2020-04-28 20:52:51 -04:00
Nico Weber 854a7db46c Revert "[gn build] (manually) merge c4c3883"
This reverts commit cbaa74a098.
The Py3 change got (mostly, except compiler-rt) reverted again.
2020-04-28 20:48:29 -04:00
Reid Kleckner cbaa74a098 [gn build] (manually) merge c4c3883
PYTHON_EXECUTABLE changed to Python3_EXECUTABLE in the lit test suite.

Committing without review, since the gn build is currently broken. Going
forward, more gn build changes may be necessary to get gn to find Python
3 instead of Python 2.
2020-04-28 10:24:11 -07:00
Nico Weber 825f583c86 [gn build] (manually) merge cd84bfb814 more precisely 2020-04-27 21:55:02 -04:00
Nico Weber 45417ecbc1 [gn build] (manually) merge cd84bfb814 2020-04-27 21:45:58 -04:00
Nico Weber 717d7e3f44 [gn build] try removing a duplicate include dir 2020-03-25 13:23:47 -04:00