<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/runtime, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-05-30T19:45:32+00:00</updated>
<entry>
<title>[GWP-ASan] Mutex implementation [2].</title>
<updated>2019-05-30T19:45:32+00:00</updated>
<author>
<name>Mitch Phillips</name>
<email>mitchphillips@outlook.com</email>
</author>
<published>2019-05-30T19:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5f0f4e3ae03afa84034c01ddaac559e0b5cb6532'/>
<id>urn:sha1:5f0f4e3ae03afa84034c01ddaac559e0b5cb6532</id>
<content type='text'>
Summary:
See D60593 for further information.
This patch pulls out the mutex implementation and the required definitions file.

We implement our own mutex for GWP-ASan currently, because:

1. We must be compatible with the sum of the most restrictive elements of the supporting allocator's build system. Current targets for GWP-ASan include Scudo (on Linux and Fuchsia), and bionic (on Android).
2. Scudo specifies `-nostdlib++ -nonodefaultlibs`, meaning we can't use `std::mutex` or `mtx_t`.
3. We can't use `sanitizer_common`'s mutex, as the supporting allocators cannot afford the extra maintenance (Android, Fuchsia) and code size (Fuchsia) overheads that this would incur.

In future, we would like to implement a shared base mutex for GWP-ASan, Scudo and sanitizer_common. This will likely happen when both GWP-ASan and Scudo standalone are not in the development phase, at which point they will have stable requirements.

Reviewers: vlad.tsyrklevich, morehouse, jfb

Reviewed By: morehouse

Subscribers: dexonsmith, srhines, cfe-commits, kubamracek, mgorny, cryptoad, jfb, #sanitizers, llvm-commits, vitalybuka, eugenis

Tags: #sanitizers, #llvm, #clang

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

llvm-svn: 362138
</content>
</entry>
<entry>
<title>[cmake] Change deprecated $&lt;CONFIG&gt; to $&lt;CONFIGURATION&gt;. NFC</title>
<updated>2019-03-30T14:38:51+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2019-03-30T14:38:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7dd1c36cd72cd93f82563c17ef71eb2b881101d3'/>
<id>urn:sha1:7dd1c36cd72cd93f82563c17ef71eb2b881101d3</id>
<content type='text'>
See rL357338 for a similar change. The informational expression
$&lt;CONFIGURATION&gt; has been deprecated since CMake 3.0

llvm-svn: 357348
</content>
</entry>
<entry>
<title>[CMake] External compiler-rt-configure requires LLVMTestingSupport when including tests</title>
<updated>2019-02-01T15:35:25+00:00</updated>
<author>
<name>Stefan Granitz</name>
<email>stefan.graenitz@gmail.com</email>
</author>
<published>2019-02-01T15:35:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f8699965eca3dcc15cadd341e4201a9d44aeaa04'/>
<id>urn:sha1:f8699965eca3dcc15cadd341e4201a9d44aeaa04</id>
<content type='text'>
Summary:
Apparently `LLVMTestingSupport` must be built before `llvm-config` can be asked for it. Symptom with `LLVM_INCLUDE_TESTS=ON` is:
```
$ ./path/to/llvm-build/bin/llvm-config --ldflags --libs testingsupport
-L/path/to/llvm-build/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names
llvm-config: error: component libraries and shared library

llvm-config: error: missing: /path/to/llvm-build/lib/libLLVMTestingSupport.a
```

With `LLVMTestingSupport` as dependency of `compiler-rt-configure` we get the expected behavior:
```
$ ./path/to/llvm-build/bin/llvm-config --ldflags --libs testingsupport
-L/path/to/llvm-build/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names
-lLLVMTestingSupport -lLLVMSupport -lLLVMDemangle
```

Reviewers: ab, beanz

Subscribers: dberris, mgorny, erik.pilkington, llvm-commits, cfe-commits

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

llvm-svn: 352881
</content>
</entry>
<entry>
<title>Fix check-hwasan with LLVM_BUILD_EXTERNAL_COMPILER_RT=ON</title>
<updated>2019-01-03T22:50:45+00:00</updated>
<author>
<name>Evgeniy Stepanov</name>
<email>eugeni.stepanov@gmail.com</email>
</author>
<published>2019-01-03T22:50:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5794028f16c68f065dd8a65ea6ca906200c49d8b'/>
<id>urn:sha1:5794028f16c68f065dd8a65ea6ca906200c49d8b</id>
<content type='text'>
Add a forwarding target for check-hwasan in clang.

llvm-svn: 350363
</content>
</entry>
<entry>
<title>[cmake] Fix monorepo + LLVM_BUILD_EXTERNAL_COMPILER_RT=ON.</title>
<updated>2019-01-03T22:41:10+00:00</updated>
<author>
<name>Evgeniy Stepanov</name>
<email>eugeni.stepanov@gmail.com</email>
</author>
<published>2019-01-03T22:41:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c78931003d5dfbab0fdc8610368c4f568469a283'/>
<id>urn:sha1:c78931003d5dfbab0fdc8610368c4f568469a283</id>
<content type='text'>
In cmake 3.10.2, if (${VARIABLE_NAME}) seems to always be false no
matter what documentation says (or maybe I just failed at reading).

Anyway, if (VARIABLE_NAME) seems to do what this code intended.

llvm-svn: 350361
</content>
</entry>
<entry>
<title>[CMake] Make bootstrap and compiler-rt depend on cxx-headers.</title>
<updated>2018-06-28T18:35:25+00:00</updated>
<author>
<name>Ahmed Bougacha</name>
<email>ahmed.bougacha@gmail.com</email>
</author>
<published>2018-06-28T18:35:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8b597883a1893c32f5cf89053b7855b9c9322b4c'/>
<id>urn:sha1:8b597883a1893c32f5cf89053b7855b9c9322b4c</id>
<content type='text'>
Since r334468, we no longer always copy the libcxx headers by virtue of
their presence when cmake runs.

This makes some of the later stages (compiler-rt, and the bootstrapped
stages) depend on them being copied, via the cxx-headers target.

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

llvm-svn: 335898
</content>
</entry>
<entry>
<title>[clang] Use add_llvm_install_targets</title>
<updated>2017-11-30T22:35:02+00:00</updated>
<author>
<name>Shoaib Meenai</name>
<email>smeenai@fb.com</email>
</author>
<published>2017-11-30T22:35:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=669cae1f28fee3b02ca536181279cf4bbf2314d2'/>
<id>urn:sha1:669cae1f28fee3b02ca536181279cf4bbf2314d2</id>
<content type='text'>
Use this function to create the install targets rather than doing so
manually, which gains us the `-stripped` install targets to perform
stripped installations.

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

llvm-svn: 319489
</content>
</entry>
<entry>
<title>Allow building libFuzzer tests in two-stage compiler-rt build.</title>
<updated>2017-10-13T23:50:53+00:00</updated>
<author>
<name>George Karpenkov</name>
<email>ekarpenkov@apple.com</email>
</author>
<published>2017-10-13T23:50:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=cb24b14995101e5f3126ac33e911aeb360371297'/>
<id>urn:sha1:cb24b14995101e5f3126ac33e911aeb360371297</id>
<content type='text'>
llvm-svn: 315776
</content>
</entry>
<entry>
<title>Allow building libFuzzer in two-stage compiler-rt build</title>
<updated>2017-10-13T22:03:09+00:00</updated>
<author>
<name>George Karpenkov</name>
<email>ekarpenkov@apple.com</email>
</author>
<published>2017-10-13T22:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a3cd5247b3a15038e1bde0a867b69432531f98de'/>
<id>urn:sha1:a3cd5247b3a15038e1bde0a867b69432531f98de</id>
<content type='text'>
When LLVM_BUILD_EXTERNAL_COMPILER_RT option is set to true,
all of projects in compiler-rt are built with a freshly-built compiler using
a recursive CMake invocation.
(e.g. that's how compiler-rt is used in Swift)

Just now I have noticed that libFuzzer binaries were missing in such a case,
and ninja fuzzer returned "no such target", while ninja asan worked just fine.

To my surprise, the list of allowed targets was actually hardcoded in Clang!
While the current setup is clearly suboptimal, for the lack of a better fix
I'm just adding `fuzzer` to a list of `compiler-rt` targets.

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

llvm-svn: 315771
</content>
</entry>
<entry>
<title>Resubmit "[lit] Force site configs to run before source-tree configs"</title>
<updated>2017-09-15T22:10:46+00:00</updated>
<author>
<name>Zachary Turner</name>
<email>zturner@google.com</email>
</author>
<published>2017-09-15T22:10:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ce92db13ead9a24c767d60375545fa6ad6cb8ce0'/>
<id>urn:sha1:ce92db13ead9a24c767d60375545fa6ad6cb8ce0</id>
<content type='text'>
This is a resubmission of r313270.  It broke standalone builds of
compiler-rt because we were not correctly generating the llvm-lit
script in the standalone build directory.

The fixes incorporated here attempt to find llvm/utils/llvm-lit
from the source tree returned by llvm-config.  If present, it
will generate llvm-lit into the output directory.  Regardless,
the user can specify -DLLVM_EXTERNAL_LIT to point to a specific
lit.py on their file system.  This supports the use case of
someone installing lit via a package manager.  If it cannot find
a source tree, and -DLLVM_EXTERNAL_LIT is either unspecified or
invalid, then we print a warning that tests will not be able
to run.

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

llvm-svn: 313407
</content>
</entry>
</feed>
