llvm-project/llvm/tools
Fangrui Song 8c6d48baf6 [llvm-readobj] Construct relocation-aware DWARFDataExtractor to decode .eh_frame addresses correctly
In an object file, a "PC Begin" field in a FDE is usually relocated by a
PC-relative relocation. Use a relocation-aware DWARFDataExtractor overload (with
DWARFContext and a reference to its internal .eh_frame representation) to decode
addresses correctly. In an object file, most sections have addresses of zero. So
the displayed addresses are almost always offsets relative to the start of the
associated text section.

DWARFContext::create handles .eh_frame and .rela.eh_frame by itself, so if there
are more than one .eh_frame (technically possible, but almost always erronerous
in practice), this will only handle the first one.  Supporting multiple
.eh_frame is beyond the scope of this patch.

Reviewed By: grimar, jhenderson

Differential Revision: https://reviews.llvm.org/D84106
2020-07-21 08:33:19 -07:00
..
bugpoint SmallPtrSet::find -> SmallPtrSet::count 2020-06-07 22:38:08 +02:00
bugpoint-passes Reverted the remainings of c1c9819ef9 2020-02-11 16:20:06 -08:00
dsymutil [dsymutil] Don't emit N_AST symbol entries in the Mach-O companion file 2020-06-05 08:42:18 -07:00
gold [LLVMgold.so] -plugin-opt=save-temps: save combined module to .lto.o instead of .o 2020-07-20 10:02:56 -07:00
llc Speculative fix for build breakage from D78403 2020-05-14 23:57:22 -04:00
lli [ORC] Rename SearchOrder operations on JITDylib to LinkOrder. 2020-05-04 16:47:52 -07:00
llvm-ar [llvm-ar] Update error messages and tests as per latest preferred style 2020-06-05 10:37:26 -07:00
llvm-as [opt] Remove obsolete --quiet option 2020-07-08 13:21:20 -07:00
llvm-as-fuzzer Fix several places that were calling verifyFunction or verifyModule without checking the return value. 2020-05-18 13:28:46 -07:00
llvm-bcanalyzer Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
llvm-c-test [SVE] Restore broken LLVM-C ABI compatability 2020-05-15 11:50:24 -07:00
llvm-cat
llvm-cfi-verify [llvm] Avoid linking llvm-cfi-verify to duplicate libs 2020-06-17 19:00:26 +02:00
llvm-config Update compiler extension integration into the build system 2020-04-24 09:40:14 +02:00
llvm-cov [llvm-cov gcov] Don't require NUL terminator when reading files 2020-07-19 00:31:52 -07:00
llvm-cvtres
llvm-cxxdump [llvm/Object] - Make ELFObjectFile::getRelocatedSection return Expected<section_iterator> 2019-10-21 11:06:38 +00:00
llvm-cxxfilt Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-cxxmap
llvm-diff llvm-diff: Avoid crash with complex expressions 2020-05-21 17:43:47 -04:00
llvm-dis [llvm-dis] Fix the disable-output flag 2019-11-14 13:35:21 -08:00
llvm-dwarfdump [llvm] Remove full stop frome error message 2020-06-24 09:41:17 -07:00
llvm-dwp llvm-dwp.cpp - fix implicit CommandLine.h dependency. NFC. 2020-06-23 12:29:52 +01:00
llvm-elfabi Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
llvm-exegesis Revert "[llvm-exegesis] Add benchmark latency option on X86 that uses LBR for more precise measurements." 2020-07-17 16:55:17 +02:00
llvm-extract [opt] Remove obsolete --quiet option 2020-07-08 13:21:20 -07:00
llvm-go Reinstate llvm-go to test the go bindings. 2020-02-13 17:24:55 -08:00
llvm-gsymutil Fix GSYM tests to run the yaml files and fix test failures on some machines. 2020-03-04 19:14:08 -08:00
llvm-ifs [llvm][clang][IFS] Enhancing the llvm-ifs yaml format for symbol lists. 2020-04-01 10:49:06 -04:00
llvm-isel-fuzzer llvm-isel-fuzzer.cpp - fix implicit CommandLine.h dependency. NFC. 2020-06-23 12:29:53 +01:00
llvm-itanium-demangle-fuzzer
llvm-jitlink [llvm-jitlink] Add suppport for testing GOT entries and stubs for ELF. 2020-07-17 17:55:30 -07:00
llvm-jitlistener
llvm-libtool-darwin Introducing llvm-libtool-darwin 2020-07-17 08:07:02 -07:00
llvm-link llvm-link: Add support for archive files as inputs 2020-07-14 15:30:59 -04:00
llvm-lipo Suppress a few -Wunreachable-code warnings. 2020-03-25 13:55:42 -04:00
llvm-lto Replace MCTargetOptionsCommandFlags.inc and CommandFlags.inc by runtime registration 2020-03-17 14:01:30 +01:00
llvm-lto2 Enable new passmanager plugin support for LTO. 2020-04-14 15:07:07 -07:00
llvm-mc [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
llvm-mc-assemble-fuzzer Add missing include Host.h in llvm-mc-* fuzzers. NFC. 2020-05-18 02:21:22 +07:00
llvm-mc-disassemble-fuzzer Add missing include Host.h in llvm-mc-* fuzzers. NFC. 2020-05-18 02:21:22 +07:00
llvm-mca Replace MCTargetOptionsCommandFlags.inc and CommandFlags.inc by runtime registration 2020-03-17 14:01:30 +01:00
llvm-microsoft-demangle-fuzzer Give microsoftDemangle() an outparam for how many input bytes were consumed. 2020-05-20 16:17:31 -04:00
llvm-ml Replace MCTargetOptionsCommandFlags.inc and CommandFlags.inc by runtime registration 2020-03-17 14:01:30 +01:00
llvm-modextract
llvm-mt
llvm-nm llvm-nm: Implement --special-syms. 2020-06-22 13:05:47 -07:00
llvm-objcopy [llvm-install-name-tool] Merge install-name options 2020-07-06 20:32:32 -07:00
llvm-objdump [test/Object][llvm-objdump] - llvm-objdump: don't abort() when the e_phoff field is invalid and refine testing. 2020-07-14 14:45:18 +03:00
llvm-opt-fuzzer CommandFlags.h - remove unnecessary includes. NFC. 2020-05-20 09:58:37 +01:00
llvm-opt-report Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-pdbutil [llvm][NFC] Add missing 'override's 2020-07-17 17:35:59 -07:00
llvm-profdata [NFC] Extract the code to write instr profile into function writeInstrProfile 2020-07-09 16:30:28 -07:00
llvm-rc [llvm][NFC] Add missing 'override' 2020-07-19 09:57:14 -07:00
llvm-readobj [llvm-readobj] Construct relocation-aware DWARFDataExtractor to decode .eh_frame addresses correctly 2020-07-21 08:33:19 -07:00
llvm-reduce [Reduce] Argument reduction: don't try to drop terminator instructions 2020-07-21 00:06:03 +03:00
llvm-rtdyld Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
llvm-shlib Add option LLVM_NM to allow specifying the location of the llvm-nm tool 2020-07-06 13:27:56 -07:00
llvm-size [llvm-size] Output REL, RELA and STRTAB sections when allocatable 2020-07-01 12:02:32 +01:00
llvm-special-case-list-fuzzer
llvm-split Fix several places that were calling verifyFunction or verifyModule without checking the return value. 2020-05-18 13:28:46 -07:00
llvm-stress [SVE] Eliminate calls to default-false VectorType::get() from llvm-stress 2020-06-08 11:32:37 -07:00
llvm-strings
llvm-symbolizer [NativeSession] Implement NativeSession::findSymbolByAddress. 2020-05-13 09:39:25 -07:00
llvm-undname Give microsoftDemangle() an outparam for how many input bytes were consumed. 2020-05-20 16:17:31 -04:00
llvm-xray [XRay] Change Sled.Function to PC-relative for sled version 2 and make llvm-xray support sled version 2 addresses 2020-04-24 14:41:56 -07:00
llvm-yaml-numeric-parser-fuzzer
lto [LTO] Use StringRef instead of C-style strings in setCodeGenDebugOptions 2020-06-22 11:22:18 +01:00
msbuild
obj2yaml [yaml2obj] - Rename FileHeader::SH* fields. 2020-07-15 12:47:31 +03:00
opt [NFC][Debugify] Rename OptCustomPassManager into DebugifyCustomPassManager 2020-07-21 12:16:07 +02:00
opt-viewer Convert old python3 cgi method into the new html one 2020-03-25 22:38:55 +01:00
remarks-shlib [Remarks] Add parser for bitstream remarks 2019-09-09 17:43:50 +00:00
sancov Re-land "Migrate the rest of COFFObjectFile to Error" 2020-06-11 14:46:16 -07:00
sanstats
verify-uselistorder
vfabi-demangle-fuzzer [llvm][VectorUtils] Tweak VFShape for scalable vector functions. 2020-01-30 05:53:56 +00:00
xcode-toolchain
yaml2obj [yaml2obj] - Add a way to set default values for macros used in a YAML. 2020-06-30 12:05:30 +03:00
CMakeLists.txt [Flang] add flang as a new subproject in cmake 2020-04-09 16:13:18 +01:00
LLVMBuild.txt