llvm-capstone/compiler-rt
Marco Elver 5265adc737 [SanitizerBinaryMetadata] Declare callbacks extern weak
Declare callbacks extern weak (if no existing declaration exists), and
only call if the function address is non-null.

This allows to attach semantic metadata to binaries where no user of
that metadata exists, avoiding to have to link empty stub callbacks.

Once the binary is linked (statically or dynamically) against a tool
runtime that implements the callbacks, the respective callbacks will be
called. This vastly simplifies gradual deployment of tools using the
metadata, esp. avoiding having to recompile large codebases with
different compiler flags (which negatively impacts compiler caches).

Reviewed By: dvyukov, vitalybuka

Differential Revision: https://reviews.llvm.org/D142408
2023-01-24 12:54:20 +01:00
..
cmake [NFC][sanitizers] Add COMPILER_RT_HAS_WTHREAD_SAFETY_*_FLAG 2023-01-18 17:27:10 -08:00
docs [lit] Document the 'target=<triple>' feature 2022-12-21 06:10:48 -08:00
include [MemProf] Collect access density statistics during profiling 2023-01-12 17:53:23 -08:00
lib [HWASAN] Fix PointsIntoChunk to untag pointers. Also added some checks where we know that the pointer should be untagged. 2023-01-24 00:35:17 +00:00
test [SanitizerBinaryMetadata] Declare callbacks extern weak 2023-01-24 12:54:20 +01:00
tools
unittests [Sanitizer][Darwin] Cleanup MaybeReexec() function and usage 2022-07-08 14:31:42 -07:00
utils [compiler-rt] NFC: Fix trivial typo 2021-09-04 14:12:58 +05:30
www Remove references to old mailing lists that have moved to discourse. Replace with links to discourse. 2022-07-22 09:59:03 -07:00
.clang-tidy NFC: .clang-tidy: Inherit configs from parents to improve maintainability 2021-06-08 08:25:59 -07:00
.gitignore
CMakeLists.txt [NFC][sanitizers] Add COMPILER_RT_HAS_WTHREAD_SAFETY_*_FLAG 2023-01-18 17:27:10 -08:00
CODE_OWNERS.TXT [docs] Update compiler-rt/CODE_OWNERS.TXT 2022-10-19 17:28:48 -07:00
CREDITS.TXT
LICENSE.TXT
README.txt

Compiler-RT
================================

This directory and its subdirectories contain source code for the compiler
support routines.

Compiler-RT is open source software. You may freely distribute it under the
terms of the license agreement found in LICENSE.txt.

================================