llvm-capstone/llvm/tools
Alex Richardson 7dc3136033 [llvm-readobj] Add support for decoding FreeBSD ELF notes
The current support only printed coredump notes, but most binaries also
contain notes. This change adds names for four FreeBSD-specific notes and
pretty-prints three of them:

NT_FREEBSD_ABI_TAG:
This note holds a 32-bit (decimal) integer containing the value of the
__FreeBSD_version macro, which is defined in crt1.o and will hold a value
such as 1300076 for a binary build on a FreeBSD 13 system.

NT_FREEBSD_ARCH_TAG:
A string containing the value of the build-time MACHINE_ARCH

NT_FREEBSD_FEATURE_CTL: A 32-bit flag that indicates to the kernel that
the binary wants certain bevahiour. Examples include setting
NT_FREEBSD_FCTL_ASLR_DISABLE which tells the kernel to disable ASLR.

After this change llvm-readobj also no longer decodes coredump-only
FreeBSD notes in non-coredump files. I've also converted the
note-freebsd.s test to use yaml2obj instead of llvm-mc.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D74393
2021-02-09 16:59:22 +00:00
..
bugpoint [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
bugpoint-passes
dsymutil [llvm] Drop unnecessary const from return types (NFC) 2021-01-31 10:23:43 -08:00
gold [LTO] Prevent devirtualization for symbols dynamically exported 2021-01-27 15:54:13 -08:00
llc Revert "[Codegen][ReplaceWithVecLib] add pass to replace vector intrinsics with calls to vector library" 2021-02-05 15:10:11 -05:00
lli [ORC] Move Orc RPC code into Shared, rename some RPC types. 2020-12-30 12:48:20 +11:00
llvm-ar llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-as llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-as-fuzzer
llvm-bcanalyzer llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-c-test Fixes warning 'enumeration value not handled in switch'. 2020-12-30 06:56:29 -08:00
llvm-cat [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-cfi-verify Renovate CMake file for the llvm-cfi-verify tool 2021-02-08 18:20:38 -05:00
llvm-config
llvm-cov [llvm] Use append_range (NFC) 2021-01-29 23:23:34 -08:00
llvm-cvtres [llvm] Don't include StringSwitch.h where unnecessary (NFC) 2021-01-21 19:59:48 -08:00
llvm-cxxdump llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-cxxfilt
llvm-cxxmap llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-diff Switch from llvm::is_trivially_copyable to std::is_trivially_copyable 2020-12-02 22:02:48 -08:00
llvm-dis llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-dwarfdump [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-dwp [llvm-dwp] Automatically set the target triple 2021-01-25 11:58:54 +01:00
llvm-elfabi [llvm-elfabi] Add flag to preserve timestamp when output is the same 2020-12-29 20:27:06 -08:00
llvm-exegesis Revert "Renovate CMake files in the llvm-exegesis tool." 2021-02-08 19:12:08 -05:00
llvm-extract llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-go
llvm-gsymutil [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-ifs [llvm] Remove redundant string initialization (NFC) 2021-01-12 21:43:46 -08:00
llvm-isel-fuzzer [AIX] Turn -fdata-sections on by default in Clang 2020-10-14 15:58:31 +00:00
llvm-itanium-demangle-fuzzer
llvm-jitlink [llvm-jitlink] Replace use of deprecated gethostbyname by getaddrinfo. 2021-01-29 03:11:16 -06:00
llvm-jitlistener [MCJIT] Profile the code generated by MCJIT engine using Intel VTune profiler 2020-11-16 19:28:14 +11:00
llvm-libtool-darwin llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-link [llvm-link] Improve link time for bitcode archives [NFC] 2021-01-19 16:41:28 -08:00
llvm-lipo [Target] Use llvm::any_of (NFC) 2020-12-24 19:43:26 -08:00
llvm-lto Revert "[LTO] Use lto::backend for code generation." 2021-02-03 22:49:30 +00:00
llvm-lto2 [LTO] Add support for existing Config::Freestanding option. 2021-01-22 13:45:39 +00:00
llvm-mc [llvm][clang][mlir] Add checks for the return values from Target::createXXX to prevent protential null deref 2020-11-21 21:04:12 -08:00
llvm-mc-assemble-fuzzer
llvm-mc-disassemble-fuzzer
llvm-mca [NFC][llvm-mca] Fix compiler warning 2021-02-04 09:44:36 -08:00
llvm-microsoft-demangle-fuzzer
llvm-ml [ms] [llvm-ml] Support command-line defines 2020-12-01 18:06:05 -05:00
llvm-modextract llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-mt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-nm [NFC][llvm-nm] Fix unused variable warning 2021-01-29 11:42:23 +08:00
llvm-objcopy [llvm-objcopy] -O binary: consider SHT_NOBITS sections to be empty 2021-02-01 15:01:25 -08:00
llvm-objdump [llvm-objdump] Fix missing first line of license in header file 2021-02-05 08:45:50 +00:00
llvm-opt-fuzzer [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
llvm-opt-report
llvm-pdbutil [llvm] Remove redundant return and continue statements (NFC) 2021-01-14 20:30:34 -08:00
llvm-profdata [CSSPGO] Support of CS profiles in extended binary format. 2021-01-27 21:29:46 -08:00
llvm-profgen [CSSPGO][llvm-profgen] Fix bug with parsing hybrid sample trace line 2021-02-04 16:15:05 -08:00
llvm-rc [llvm-rc] Handle driveless absolute windows paths when loading external files 2020-12-10 14:11:06 +02:00
llvm-readobj [llvm-readobj] Add support for decoding FreeBSD ELF notes 2021-02-09 16:59:22 +00:00
llvm-reduce [llvm-reduce] ReduceGlobalVarInitializers delta pass: fix handling of globals w/ comdat/non-external linkage 2021-01-07 18:05:03 +03:00
llvm-rtdyld [llvm][clang][mlir] Add checks for the return values from Target::createXXX to prevent protential null deref 2020-11-21 21:04:12 -08:00
llvm-shlib
llvm-size [llvm-cov] Use is_contained (NFC) 2020-12-27 09:57:25 -08:00
llvm-special-case-list-fuzzer
llvm-split [LTO] Update splitCodeGen to take a reference to the module. (NFC) 2021-01-29 11:53:11 +00:00
llvm-stress [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-strings llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-symbolizer [llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file. 2021-01-30 18:36:38 +03:00
llvm-undname llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
llvm-xray [llvm] Use the default value of drop_begin (NFC) 2021-01-18 10:16:36 -08:00
llvm-yaml-numeric-parser-fuzzer [llvm] Use llvm::erase_value and llvm::erase_if (NFC) 2021-01-02 09:24:15 -08:00
llvm-yaml-parser-fuzzer [llvm] Use llvm::erase_value and llvm::erase_if (NFC) 2021-01-02 09:24:15 -08:00
lto [llvm] Use append_range (NFC) 2021-01-29 23:23:34 -08:00
msbuild
obj2yaml [yaml2obj] Handle NT_* string values in for ELF note types 2021-02-09 16:59:22 +00:00
opt Revert "[Codegen][ReplaceWithVecLib] add pass to replace vector intrinsics with calls to vector library" 2021-02-05 15:10:11 -05:00
opt-viewer
remarks-shlib
sancov
sanstats
split-file
verify-uselistorder llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
vfabi-demangle-fuzzer
xcode-toolchain
yaml2obj [llvm] Make obj2yaml and yaml2obj LLVM utilities instead of tools 2020-10-19 10:21:21 -07:00
CMakeLists.txt