cling/lib/Interpreter
Jonas Hahnfeld d47b49c3ee Reset function sections before JITting (#12069)
This makes all functions end up in the same text section, which is
important for TCling on macOS to catch exceptions from constructors:
Stack unwinding requires information about program addresses to find
out which objects to destroy and what code should be called to handle
the exception. These addresses are relocated against a single __text
section when loading the produced MachO binary, which breaks if the
call sites of global constructors end up in a separate init section.

Fixes ROOT-10703 and ROOT-10962

(cherry picked from commit 028fcca0fa76111877751df876cf13968be602f9)
2023-01-24 10:29:05 +01:00
..
ASTTransformer.cpp Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
ASTTransformer.h Only disable ptr checker, not all AST transformers! 2017-09-13 13:14:06 +02:00
AutoloadCallback.cpp Rebase better to llvm13 to the FileEntryRef and FileEntry. 2022-12-20 08:59:05 +01:00
AutoSynthesizer.cpp Fix AutoSynthesizer on CXXTryStmt (#9691) 2022-01-26 14:44:08 +01:00
AutoSynthesizer.h Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
BackendPasses.cpp For MSVC weak symbols, re-use even small funcs: 2023-01-17 16:59:06 +01:00
BackendPasses.h Reuse existing weak symbols, also from JIT: 2023-01-17 16:59:06 +01:00
CheckEmptyTransactionTransformer.cpp Simplify invocation of DeclUnloader::UnloadDecl(). 2016-06-26 18:59:08 +02:00
CheckEmptyTransactionTransformer.h Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
CIFactory.cpp Remove explicit setting of COFF binary format on Windows 2023-01-20 08:44:02 +01:00
ClangInternalState.cpp ContentCache::getRawBuffer is replaced with getBufferDataIfLoaded 2022-12-09 08:44:16 +01:00
ClingCodeCompleteConsumer.cpp Refactor 2016-07-18 14:29:14 +02:00
ClingPragmas.cpp llvm::StringRef does not support automatic conversion to string anymore. 2022-12-09 08:44:16 +01:00
ClingPragmas.h Add a cling pragma handler. For now implement #pragma cling load(file) 2015-02-18 14:51:21 +01:00
ClingUtils.h Remove code duplication 2015-04-17 02:50:36 +02:00
CMakeLists.txt Re-enable support for profiling/debugging interpreted/JITted code 2022-12-15 10:29:03 +01:00
DeclCollector.cpp Reimplement HandleInvalidTagDeclDefinition without clang support. 2021-05-03 19:29:03 +02:00
DeclCollector.h Reimplement HandleInvalidTagDeclDefinition without clang support. 2021-05-03 19:29:03 +02:00
DeclExtractor.cpp Explicitly create FunctionDecl in DeclExtractor 2023-01-23 18:44:07 +01:00
DeclExtractor.h Remove unused parameters. Fixes -Wunused-parameter. 2021-02-25 20:44:18 +01:00
DeclUnloader.cpp The StoredDeclsList is reworked and more user-friendly. 2022-12-09 08:44:17 +01:00
DeclUnloader.h removeRedeclFromChain is a template static. Fixes osx warning. 2021-02-25 20:44:19 +01:00
DefinitionShadower.cpp The StoredDeclsList is reworked and more user-friendly. 2022-12-09 08:44:17 +01:00
DefinitionShadower.h Diagnose shadowing of decls in the std namespace 2022-02-11 01:59:05 +01:00
DeviceKernelInliner.cpp Changes for Pull Request #284 2019-11-07 19:29:15 +01:00
DeviceKernelInliner.h Changes for Pull Request #284 2019-11-07 19:29:15 +01:00
DynamicExprInfo.cpp llvm::StringRef does not support automatic conversion to string anymore. 2022-12-09 08:44:16 +01:00
DynamicLibraryManager.cpp Pass libCling handle at construction time, resolve from it: 2022-12-09 08:44:20 +01:00
DynamicLibraryManagerSymbol.cpp Try fixing the multicore 2022-12-09 08:44:19 +01:00
DynamicLookup.cpp VK_RValue -> VK_PRValue 2022-12-09 08:44:17 +01:00
DynamicLookup.h Also escape array subscript (ROOT-7718). 2017-07-03 14:47:57 +02:00
EnterUserCodeRAII.h RAII, not RTTI: rename class and #includes. 2017-09-18 14:29:05 +02:00
Exception.cpp Do not throw CompilationExceptions on Apple M1 (#10561) 2022-05-11 14:14:04 +02:00
ExternalInterpreterSource.cpp Fix wrong asserts. 2021-02-25 20:44:17 +01:00
ExternalInterpreterSource.h Remove unused member variable in ExternalInterpreterSource. 2017-01-25 12:14:06 +01:00
ForwardDeclPrinter.cpp Move Autoload annotation after scope keyword 2022-12-09 08:44:19 +01:00
ForwardDeclPrinter.h Also fwd decl underlying type of using decls: 2021-06-23 10:14:05 +02:00
IncrementalCUDADeviceCompiler.cpp Fixed bug in symbol linking for CUDA kernel registration with LLVM 13. 2022-12-09 08:44:19 +01:00
IncrementalExecutor.cpp Reuse existing weak symbols, also from JIT: 2023-01-17 16:59:06 +01:00
IncrementalExecutor.h Remove unused data members. 2022-12-09 08:44:20 +01:00
IncrementalJIT.cpp Reset function sections before JITting (#12069) 2023-01-24 10:29:05 +01:00
IncrementalJIT.h JIT: find existing weak symbol without materializer: 2023-01-17 16:59:06 +01:00
IncrementalParser.cpp Create non-empty source file 2022-12-13 09:59:05 +01:00
IncrementalParser.h Increase initial offset into virtual file 2022-12-13 09:59:05 +01:00
Interpreter.cpp Add an absolute symbol pointing to _CxxThrowException on Windows 2022-12-09 08:44:20 +01:00
InterpreterCallbacks.cpp Use AnnotateAttr::CreateImplicit function which is now available. 2022-12-09 08:44:18 +01:00
InvocationOptions.cpp Fix bug in handling EXTRA_CLING_ARGS: 2022-12-09 08:44:20 +01:00
LookupHelper.cpp ParseUnqualifiedId has new set of params. 2022-12-09 08:44:17 +01:00
MultiplexInterpreterCallbacks.h Add override keyword and InclusionDirective callback takes extra arg. 2021-02-25 20:44:16 +01:00
NullDerefProtectionTransformer.cpp Complain about __cling__ptrcheck not being on or off. 2022-01-11 18:29:04 +01:00
NullDerefProtectionTransformer.h Only check pointers for Decls from writable dirs (ROOT-9377). 2018-06-25 12:59:56 +02:00
PerfJITEventListener.cpp Re-enable support for profiling/debugging interpreted/JITted code 2022-12-15 10:29:03 +01:00
RequiredSymbols.cpp Remove symbols explicitly exported through CLING_EXPORT. 2021-05-25 16:29:06 +02:00
Threading.h Coding conventions 2015-03-16 13:12:47 +01:00
Transaction.cpp Assert that no nested attaches to unloading Transaction. 2021-04-06 00:14:05 +02:00
TransactionPool.h Assert released transaction is != last in pool: 2021-04-06 00:14:05 +02:00
TransactionUnloader.cpp Delete globals before JIT deletes the module: 2022-12-09 08:44:20 +01:00
TransactionUnloader.h Try moving cling to the new orc jit api. 2021-02-25 20:44:17 +01:00
Value.cpp Add LLVM_FALLTHROUGH to silence warnings. 2021-02-25 20:44:17 +01:00
ValueExtractionSynthesizer.cpp VK_RValue -> VK_PRValue 2022-12-09 08:44:17 +01:00
ValueExtractionSynthesizer.h Report ValueExtractionSynthesizer errors with DiagnosticsEngine. 2020-08-20 09:44:06 +02:00
ValuePrinter.cpp Print default template arguments 2022-12-09 08:44:19 +01:00
ValuePrinterSynthesizer.cpp Create new CompoundStmt instead of replacing children 2021-04-23 09:29:06 +02:00
ValuePrinterSynthesizer.h Create new CompoundStmt instead of replacing children 2021-04-23 09:29:06 +02:00