Commit Graph

80 Commits

Author SHA1 Message Date
Nico Weber 717d7e3f44 [gn build] try removing a duplicate include dir 2020-03-25 13:23:47 -04:00
LLVM GN Syncbot c2273883e2 [gn build] Port ba1f4405c6 2020-03-25 03:27:56 +00:00
Nico Weber 9ca6334c33 [gn build] (manually) port 8140f6bcde better 2020-03-24 12:39:49 -04:00
Nico Weber e322108667 [gn build] (manually) port 8140f6bcde 2020-03-24 12:38:25 -04:00
Peter Collingbourne 8140f6bcde scudo: Create a public include directory. NFCI.
For MTE error reporting we will need to expose interfaces for crash handlers
to use to interpret scudo headers and metadata. The intent is that these
interfaces will live in scudo/interface.h.

Move the existing interface.h into an include/scudo directory and make it
independent of the internal headers, so that we will be able to add the
interfaces there.

Differential Revision: https://reviews.llvm.org/D76648
2020-03-23 18:23:29 -07:00
Hans Wennborg 93c73d4834 Revert "Reland "[gn build] (manually) merge 68a235d07f9e70""
This reverts commit 94d4ca9004.

I reverted 68a235d07f again in
916be8fd6a.
2020-03-03 11:21:11 +01:00
Nico Weber cfbe889af5 [gn build] re-"gn format" all gn files 2020-02-26 08:38:34 -05:00
Nico Weber 711caee533 [gn build] (manually) port fc69967a4b 2020-02-18 13:29:13 -05:00
Peter Collingbourne 76d6bce629 gn build: Make scudo cflags more consistent with the cmake build. 2020-02-11 10:05:48 -08:00
Nico Weber fac4bd26c3 [gn build] unbreak mac build after 133a31cef6 2020-01-31 21:25:56 -05:00
Nico Weber 133a31cef6 [gn build] add asan runtime on linux and mac
This produces a seemingly-working dynamic (x64-only) asan dylib on macOS
and static libraries on Linux.

I've had this sitting in a branch for a long time and wanted to get
check-asan working before landing it, but smaller patches and fewer
local branches is probably better.
2020-01-31 21:23:43 -05:00
Nico Weber 776937c3e8 [gn build] (manually) port 90a10f00ff 2020-01-28 16:00:54 -05:00
Nico Weber 8d35c798f1 [gn build] (manually) merge 81b700e302 2020-01-24 21:40:26 -05:00
Nico Weber 8f21acbf52 [gn build] reformat all build files again
Run `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`
after recent fixes to formatting of comments after single-element
lists.
2020-01-22 14:04:20 -05:00
LLVM GN Syncbot 49dc3a9467 [gn build] Port d3db13af7e 2020-01-17 23:26:29 +00:00
Nico Weber 527281a843 [gn build] re-run "gn format" with trunk gn 2020-01-15 13:37:38 -05:00
Nico Weber eadc28274b [gn build] add multi-line forcing comments in more places 2020-01-15 13:36:42 -05:00
Nico Weber aed52fd483 [gn build] make "gn format" comment slightly more concise 2020-01-15 13:36:42 -05:00
Nico Weber 082962dec8 [gn build] Reformat all build files
Ran `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`.
The motivation is to reformat them with trunk gn again right after.
Trunk gn changed formatting of some single-element lists.
2020-01-15 12:59:45 -05:00
Nico Weber 94d4ca9004 Reland "[gn build] (manually) merge 68a235d07f9e70"
This reverts commit 70342641b3.

68a235d relanded in abb0075306, so this relands the gn port of it.
2020-01-02 14:39:17 -05:00
Nico Weber 70342641b3 Revert "[gn build] (manually) merge 68a235d07f9e70"
This reverts commit 6ff6d32ebf,
because 68a235d07f was reverted in e406cca5f9.
2020-01-02 11:07:31 -05:00
Nico Weber 6ff6d32ebf [gn build] (manually) merge 68a235d07f 2020-01-01 22:06:48 -05:00
Peter Collingbourne 71b26f1d19 gn build: Silence mismatched-new-delete warning in scudo C++ wrapper tests.
These tests are deliberately mismatching new and delete, so the warnings
are just noise.

Differential Revision: https://reviews.llvm.org/D71783
2019-12-20 16:53:13 -08:00
Peter Collingbourne 29f0a65671 scudo: Add a basic malloc/free benchmark.
Differential Revision: https://reviews.llvm.org/D71104
2019-12-09 10:10:19 -08:00
Peter Collingbourne 3131249204 gn build: Change scudo's list of supported platforms to a whitelist.
Scudo only supports building for android/linux/fuchsia, so require target_os to
be one of linux/fuchsia to do a stage2_unix scudo build. Android is already
covered by the stage2_android* toolchains below.

Differential Revision: https://reviews.llvm.org/D71131
2019-12-06 15:53:54 -08:00
Nico Weber 133a92f87c gn build: Unbreak mac build after 4066591 2019-12-06 09:09:25 -05:00
Peter Collingbourne 4066591841 gn build: Add support for building scudo and its unit tests.
Differential Revision: https://reviews.llvm.org/D71081
2019-12-05 18:12:36 -08:00
Nico Weber ba47a3c945 gn build: (manually) merge ad871e4295 2019-12-03 19:37:10 -05:00
Nico Weber 601cc29a57 Revert "Revert "gn build: (manually) try to merge 1689ad27af""
This reverts commit 88276ddbfe.
The original change relanded.
2019-11-27 21:12:46 -05:00
Nico Weber 94daffdfc6 gn build: (manually) merge 9e676d9c7e 2019-11-25 18:48:10 -05:00
Petr Hosek f35032e03d Reland "[CMake] Support installation of InstrProfData.inc"
This header fragment is useful on its own for any consumer that wants
to use custom instruction profile runtime with the LLVM instrumentation.
The concrete use case is in Fuchsia's kernel where we want to use
instruction profile instrumentation, but we cannot use the compiler-rt
runtime because it's not designed for use in the kernel environment.
This change allows installing this header as part of compiler-rt.

Differential Revision: https://reviews.llvm.org/D64532
2019-11-22 14:09:46 -08:00
Nico Weber 88276ddbfe Revert "gn build: (manually) try to merge 1689ad27af"
This reverts commit e4ec2ecf6d.
1689ad27af was reverted as well.
2019-11-19 04:40:10 -05:00
Nico Weber e4ec2ecf6d gn build: (manually) try to merge 1689ad27af 2019-11-18 18:33:04 -05:00
Peter Collingbourne 7c86c70f26 gn build: Add support for cross-compiling the builtins and profile runtimes for Android aarch64 and arm.
Differential Revision: https://reviews.llvm.org/D69681
2019-10-31 15:47:20 -07:00
Peter Collingbourne d47133adad gn build: s/target_/current_/g in compiler-rt/lib/{builtins,profile}.
Fixes stage2 cross compilation.

Differential Revision: https://reviews.llvm.org/D69680
2019-10-31 14:03:39 -07:00
Nico Weber 37e10c2929 gn build: (manually) merge 67474c60d3 2019-10-30 11:23:54 -04:00
Nico Weber e7e8b51b03 gn build: pacify "gn format" after 371102
llvm-svn: 371858
2019-09-13 14:35:20 +00:00
Nico Weber 902e553359 gn build: Merge r371822
llvm-svn: 371848
2019-09-13 12:58:58 +00:00
Nico Weber 1465a40cf8 gn build: (manually) merge r358706
llvm-svn: 371102
2019-09-05 18:03:18 +00:00
Nico Weber ce7a37291d gn build: (manually) merge r371003
llvm-svn: 371091
2019-09-05 17:22:55 +00:00
Peter Collingbourne 21a1814417 hwasan: Untag unwound stack frames by wrapping personality functions.
One problem with untagging memory in landing pads is that it only works
correctly if the function that catches the exception is instrumented.
If the function is uninstrumented, we have no opportunity to untag the
memory.

To address this, replace landing pad instrumentation with personality function
wrapping. Each function with an instrumented stack has its personality function
replaced with a wrapper provided by the runtime. Functions that did not have
a personality function to begin with also get wrappers if they may be unwound
past. As the unwinder calls personality functions during stack unwinding,
the original personality function is called and the function's stack frame is
untagged by the wrapper if the personality function instructs the unwinder
to keep unwinding. If unwinding stops at a landing pad, the function is
still responsible for untagging its stack frame if it resumes unwinding.

The old landing pad mechanism is preserved for compatibility with old runtimes.

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

llvm-svn: 369721
2019-08-23 01:28:44 +00:00
Peter Collingbourne 01048033d2 gn build: Merge r368331.
llvm-svn: 368333
2019-08-08 20:11:23 +00:00
Peter Collingbourne bd3d6677bc gn build: Merge r368054.
llvm-svn: 368097
2019-08-06 21:47:46 +00:00
Nico Weber 139fb5d478 gn build: Merge r367917
llvm-svn: 367970
2019-08-06 02:17:05 +00:00
Nico Weber 1a7f03e716 gn build: Merge r367463
llvm-svn: 367464
2019-07-31 18:56:49 +00:00
Nico Weber 62a0585530 compiler-rt: Rename .cc file in lib/profile to .cpp
See https://reviews.llvm.org/D58620 for discussion.

Note how the comment in the file already said ".cpp" :)

llvm-svn: 367460
2019-07-31 18:21:08 +00:00
Nico Weber cf0a646d3c gn build: Merge r367456
llvm-svn: 367457
2019-07-31 18:04:03 +00:00
Nico Weber 14ebf72315 gn build: Merge r367452 and add standalone sources
llvm-svn: 367454
2019-07-31 17:56:45 +00:00
Nico Weber b206c3e3e4 gn build: Add build files for compiler-rt/lib/profile
Differential Revision: https://reviews.llvm.org/D65518

llvm-svn: 367450
2019-07-31 17:15:32 +00:00
Nico Weber f3014984cf gn build: Make builtin library build on macOS
For now, it only builds the x86_64 slice.

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

llvm-svn: 367449
2019-07-31 17:12:33 +00:00