summaryrefslogtreecommitdiffstats
path: root/llvm/utils/gn
Commit message (Collapse)AuthorAgeFilesLines
...
* gn build: Add build files for clang-docNico Weber2019-03-143-0/+46
| | | | | | Differential Revision: https://reviews.llvm.org/D59379 llvm-svn: 356199
* gn build: Merge r356080Hans Wennborg2019-03-142-0/+3
| | | | llvm-svn: 356139
* gn build: Merge r356082Hans Wennborg2019-03-142-2/+0
| | | | llvm-svn: 356128
* Remove ASan asm instrumentation.Evgeniy Stepanov2019-03-111-1/+0
| | | | | | | | | | | | | | Summary: It is incomplete and has no users AFAIK. Reviewers: pcc, vitalybuka Subscribers: srhines, kubamracek, mgorny, krytarowski, eraman, hiraditya, jdoerfert, #sanitizers, llvm-commits, thakis Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D59154 llvm-svn: 355870
* Remove esan.Nico Weber2019-03-113-5/+0
| | | | | | | | | | | It hasn't seen active development in years, and it hasn't reached a state where it was useful. Remove the code until someone is interested in working on it again. Differential Revision: https://reviews.llvm.org/D59133 llvm-svn: 355862
* gn build: Merge r355777Nico Weber2019-03-115-2/+19
| | | | llvm-svn: 355857
* gn build: Merge r355835Nico Weber2019-03-111-0/+1
| | | | llvm-svn: 355856
* gn build: Merge r355834Nico Weber2019-03-112-1/+1
| | | | llvm-svn: 355855
* [HWASan] Save + print registers when tag mismatch occurs in AArch64.Mitch Phillips2019-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This change change the instrumentation to allow users to view the registers at the point at which tag mismatch occured. Most of the heavy lifting is done in the runtime library, where we save the registers to the stack and emit unwind information. This allows us to reduce the overhead, as very little additional work needs to be done in each __hwasan_check instance. In this implementation, the fast path of __hwasan_check is unmodified. There are an additional 4 instructions (16B) emitted in the slow path in every __hwasan_check instance. This may increase binary size somewhat, but as most of the work is done in the runtime library, it's manageable. The failure trace now contains a list of registers at the point of which the failure occured, in a format similar to that of Android's tombstones. It currently has the following format: Registers where the failure occurred (pc 0x0055555561b4): x0 0000000000000014 x1 0000007ffffff6c0 x2 1100007ffffff6d0 x3 12000056ffffe025 x4 0000007fff800000 x5 0000000000000014 x6 0000007fff800000 x7 0000000000000001 x8 12000056ffffe020 x9 0200007700000000 x10 0200007700000000 x11 0000000000000000 x12 0000007fffffdde0 x13 0000000000000000 x14 02b65b01f7a97490 x15 0000000000000000 x16 0000007fb77376b8 x17 0000000000000012 x18 0000007fb7ed6000 x19 0000005555556078 x20 0000007ffffff768 x21 0000007ffffff778 x22 0000000000000001 x23 0000000000000000 x24 0000000000000000 x25 0000000000000000 x26 0000000000000000 x27 0000000000000000 x28 0000000000000000 x29 0000007ffffff6f0 x30 00000055555561b4 ... and prints after the dump of memory tags around the buggy address. Every register is saved exactly as it was at the point where the tag mismatch occurs, with the exception of x16/x17. These registers are used in the tag mismatch calculation as scratch registers during __hwasan_check, and cannot be saved without affecting the fast path. As these registers are designated as scratch registers for linking, there should be no important information in them that could aid in debugging. Reviewers: pcc, eugenis Reviewed By: pcc, eugenis Subscribers: srhines, kubamracek, mgorny, javed.absar, krytarowski, kristof.beyls, hiraditya, jdoerfert, llvm-commits, #sanitizers Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58857 llvm-svn: 355738
* [GN] Merge 355720.Mitch Phillips2019-03-081-0/+1
| | | | llvm-svn: 355734
* gn build: Merge r355685Nico Weber2019-03-081-0/+1
| | | | llvm-svn: 355695
* gn build: Unbreak finding a working `gn` on $PATH on Unix after r355645Nico Weber2019-03-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From the Python subprocess docs: If shell is True, it is recommended to pass args as a string rather than as a sequence. [...] If args is a sequence, the first item specifies the command string, and any additional items will be treated as additional arguments to the shell itself. Prior to this change, the `--version` would be passed to the shell, not to a potential gn binary on $PATH, and running `gn` without any arguments makes it exit with an exit code != 0, so the script would think that there wasn't a working gn binary on $PATH. Fix this by following the documentation's recommendation of using a string now that we pass shell=True. I tested this on macOS and Windows, each with the three cases of - no gn on PATH (should run gn downloaded by get.py if present, else suggest running get.py) - broken gn wrapper on PATH (should behave like the previous item) - working gn on PATH (should use gn on PATH) llvm-svn: 355694
* gn build: Unbreak get.py and gn.py on WindowsNico Weber2019-03-082-3/+5
| | | | | | | | | | | `os.uname()` doesn't exist on Windows, so use `platform.machine()` which returns `os.uname()[4]` on non-Win and (on 64-bit systems) "AMD64" on Windows. Also use `sys.platform` instead of `platform` to check for Windows-ness for the file extension in gn.py (get.py got this right). Differential Revision: https://reviews.llvm.org/D59115 llvm-svn: 355693
* [GN] Locate prebuilt binaries correctly.Mitch Phillips2019-03-071-1/+2
| | | | | | Use the system shell to see if we can find a 'gn' binary on $PATH. This solves the error wherein subprocess.call fails ungracefully if the binary doesn't exist. llvm-svn: 355645
* [GN] Remove DataLayoutTest.cpp from IR Unittests.Mitch Phillips2019-03-071-1/+0
| | | | | | Merge of GN files to fit with rL355616. llvm-svn: 355626
* Delete x86_64 ShadowCallStack supportVlad Tsyrklevich2019-03-071-1/+0
| | | | | | | | | | | | | | | | | | | | | Summary: ShadowCallStack on x86_64 suffered from the same racy security issues as Return Flow Guard and had performance overhead as high as 13% depending on the benchmark. x86_64 ShadowCallStack was always an experimental feature and never shipped a runtime required to support it, as such there are no expected downstream users. Reviewers: pcc Reviewed By: pcc Subscribers: mgorny, javed.absar, hiraditya, jdoerfert, cfe-commits, #sanitizers, llvm-commits Tags: #clang, #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D59034 llvm-svn: 355624
* [Sanitizer] Add 'dispatch' feature to be used in compiler-rt testsJulian Lettner2019-03-071-0/+1
| | | | | | | | Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D59037 llvm-svn: 355617
* gn build: Port r342002Nico Weber2019-03-071-0/+7
| | | | | | | | | | I had hoped we could remove the dependency on shell32.lib from lib/Support (there isn't much depending on it), but looks like this will take a while. So for now, port this over. Differential Revision: https://reviews.llvm.org/D58925 llvm-svn: 355604
* gn build: Merge r355522Nico Weber2019-03-071-0/+1
| | | | llvm-svn: 355603
* gn build: Merge r355514.Peter Collingbourne2019-03-061-0/+1
| | | | llvm-svn: 355552
* gn build: Merge r355439.Peter Collingbourne2019-03-065-15/+15
| | | | llvm-svn: 355480
* gn build: Add 32-bit Linux support.Peter Collingbourne2019-03-063-2/+12
| | | | | | Differential Revision: https://reviews.llvm.org/D58839 llvm-svn: 355467
* gn build: Add a cfi/sources target.Nico Weber2019-03-021-0/+8
| | | | | | | | This build target is currently unused, but after r355144 the sync script started complaining about cfi.cpp not being listed, and this makes the script happy again. llvm-svn: 355275
* ELF: Change FileSize back to a uint64_t.Peter Collingbourne2019-03-011-0/+6
| | | | | | | | | This lets us detect file size overflows when creating a 64-bit binary on a 32-bit machine. Differential Revision: https://reviews.llvm.org/D58840 llvm-svn: 355218
* gn build: Merge r355133.Peter Collingbourne2019-02-281-0/+1
| | | | llvm-svn: 355147
* gn build: Merge r355035Nico Weber2019-02-281-0/+1
| | | | llvm-svn: 355146
* gn build: Merge r355024Nico Weber2019-02-281-0/+1
| | | | llvm-svn: 355145
* [hwasan, asan] Intercept vfork.Evgeniy Stepanov2019-02-271-0/+1
| | | | | | | | | | | | | | | Summary: Intercept vfork on arm, aarch64, i386 and x86_64. Reviewers: pcc, vitalybuka Subscribers: kubamracek, mgorny, javed.absar, krytarowski, kristof.beyls, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58533 llvm-svn: 355030
* gn build: Merge r354989Nico Weber2019-02-271-11/+11
| | | | llvm-svn: 354991
* gn build: Merge r354692Nico Weber2019-02-271-0/+2
| | | | llvm-svn: 354987
* [GN] Updated build file to allow GN builds to succeed at ToT.Mitch Phillips2019-02-221-0/+1
| | | | llvm-svn: 354683
* [gn] Add LLVM_BUILD_EXAMPLES.Evgeniy Stepanov2019-02-211-0/+1
| | | | llvm-svn: 354636
* Revert "[asan] Fix vfork handling.", +1Evgeniy Stepanov2019-02-211-1/+0
| | | | | | Revert r354625, r354627 - multiple build failures. llvm-svn: 354629
* [hwasan,asan] Intercept vfork.Evgeniy Stepanov2019-02-211-0/+1
| | | | | | | | | | | | | | Summary: AArch64 only for now. Reviewers: vitalybuka, pcc Subscribers: srhines, kubamracek, mgorny, javed.absar, krytarowski, kristof.beyls, jdoerfert, #sanitizers, llvm-commits, kcc Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58313 llvm-svn: 354625
* [gn] Add target flags to asmflags.Evgeniy Stepanov2019-02-211-0/+1
| | | | | | | | | | | | Reviewers: pcc, thakis Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58483 llvm-svn: 354618
* gn build: Merge r354365 moreNico Weber2019-02-201-0/+3
| | | | llvm-svn: 354413
* gn build: Merge r354365Nico Weber2019-02-201-0/+1
| | | | llvm-svn: 354411
* gn build: Merge r354156Nico Weber2019-02-182-0/+2
| | | | llvm-svn: 354242
* gn build: Merge r353957.Peter Collingbourne2019-02-131-0/+7
| | | | llvm-svn: 353980
* [gn build] Separate debug and optimization settingsDavid Major2019-02-122-3/+12
| | | | | | | | | | This patch adds an `is_optimized` variable, orthogonal to `is_debug`, to allow for a gn analogue to `RelWithDebInfo` builds. As part of this we'll want to explicitly enable GC+ICF, for the sake of `is_debug && is_optimized` builds. The flags normally default to true except that if you pass `/DEBUG` they default to false. Differential Revision: https://reviews.llvm.org/D58075 llvm-svn: 353888
* gn build: Fix clang-tidy dep on ClangSACheckers.Nico Weber2019-02-111-4/+1
| | | | | | | | Patch by Mirko Bonadei <mbonadei@webrtc.org>! Differential Revision: https://reviews.llvm.org/D57998 llvm-svn: 353657
* gn build: Merge r353590Nico Weber2019-02-095-7/+6
| | | | llvm-svn: 353621
* gn build: Merge r353566Nico Weber2019-02-091-0/+1
| | | | llvm-svn: 353585
* gn build: Merge r353471, r353373.Nico Weber2019-02-086-6/+8
| | | | llvm-svn: 353518
* gn build: Make check-{clang,lld,llvm} pass on FreeBSD.Peter Collingbourne2019-02-0713-37/+43
| | | | | | | | | Mostly achieved by assuming that anything that isn't Win or Mac is ELF, which seems reasonable enough for now. Differential Revision: https://reviews.llvm.org/D57870 llvm-svn: 353470
* gn build: Merge the test part of r353237.Peter Collingbourne2019-02-071-0/+1
| | | | llvm-svn: 353369
* build: Remove the cmake check for malloc.h.Peter Collingbourne2019-02-061-2/+0
| | | | | | | | | | | As far as I can tell, malloc.h is only being used here to provide a definition of mallinfo (malloc itself is declared in stdlib.h via cstdlib). We already have a macro for whether mallinfo is available, so switch to using that instead. Differential Revision: https://reviews.llvm.org/D57807 llvm-svn: 353329
* gn build: Merge r353265, r353237Nico Weber2019-02-065-2/+3
| | | | llvm-svn: 353298
* gn build: Fix clang-tidy buildNico Weber2019-02-051-8/+6
| | | | | | | | | | | | | | | | | | Not depending on //clang/lib/StaticAnalyzer/Core and //clang/lib/StaticAnalyzer/Frontend causes a linker error even if ClangSACheckers are not supported. Undefined symbols for architecture x86_64: "clang::ento::CreateAnalysisConsumer(clang::CompilerInstance&)", referenced from: clang::tidy::ClangTidyASTConsumerFactory::CreateASTConsumer( clang::CompilerInstance&, llvm::StringRef) in libclangTidy.a(libclangTidy.ClangTidy.o) Patch from Mirko Bonadei <mbonadei@webrtc.org>! Differential Revision: https://reviews.llvm.org/D57777 llvm-svn: 353244
* gn build: BUILD.gn files for clang-tidy and clang-apply-replacementsNico Weber2019-02-0526-1/+731
| | | | | | | | Patch from Mirko Bonadei <mbonadei@webrtc.org>! Differential Revision: https://reviews.llvm.org/D57329 llvm-svn: 353177
OpenPOWER on IntegriCloud