|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
| #
8a64dd5b |
| 21-Jun-2022 |
Martin Storsjö <[email protected]> |
[lldb] Fix reading i686-windows executables with GNU environment
25c8a061c5739677d2fc0af29a8cc9520207b923 / D127048 added an option for setting the ABI to GNU.
When an object file is loaded, there'
[lldb] Fix reading i686-windows executables with GNU environment
25c8a061c5739677d2fc0af29a8cc9520207b923 / D127048 added an option for setting the ABI to GNU.
When an object file is loaded, there's only minimal verification done for the architecture spec set for it, if the object file only provides one.
However, for i386 object files, the PECOFF object file plugin provides two architectures, i386-pc-windows and i686-pc-windows. This picks a totally different codepath in TargetList::CreateTargetInternal, where it's treated as a fat binary. This goes through more verifications to see if the architectures provided by the object file matches what the platform plugin supports.
The PlatformWindows() constructor explicitly adds the "i386-pc-windows" and "i686-pc-windows" architectures (even when running on other architectures), which allows this "fat binary verification" to succeed for the i386 object files that provide two architectures.
However, after that commit, if the object file is advertised with the different environment (either when lldb is built in a mingw environment, or if that setting is set), the fat binary validation won't accept the file any longer.
Update ArchSpec::IsEqualTo with more logic for the Windows use cases; mismatching vendors is not an issue (they don't have any practical effect on Windows), and GNU and MSVC environments are compatible to the point that PlatformWindows can handle object files for both environments/ABIs.
As a separate path forward, one could also consider to stop returning two architecture specs from ObjectFilePECOFF::GetModuleSpecifications for i386 files.
Differential Revision: https://reviews.llvm.org/D128268
show more ...
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
f416e573 |
| 02-May-2022 |
serge-sans-paille <[email protected]> |
[lldb] Fix ppc64 detection in lldb
Currently, ppc64le and ppc64 (defaulting to big endian) have the same descriptor, thus the linear scan always return ppc64le. Handle that through subtype.
This is
[lldb] Fix ppc64 detection in lldb
Currently, ppc64le and ppc64 (defaulting to big endian) have the same descriptor, thus the linear scan always return ppc64le. Handle that through subtype.
This is a recommit of f114f009486816ed4b3bf984f0fbbb8fc80914f6 with a new test setup that doesn't involves (unsupported) corefiles.
Differential Revision: https://reviews.llvm.org/D124760
show more ...
|
| #
7667d805 |
| 03-May-2022 |
David Spickett <[email protected]> |
Revert "[lldb] Fix ppc64 detection in lldb"
This reverts commit f114f009486816ed4b3bf984f0fbbb8fc80914f6.
Due to hitting an assert on our lldb bots: https://lab.llvm.org/buildbot/#/builders/96/buil
Revert "[lldb] Fix ppc64 detection in lldb"
This reverts commit f114f009486816ed4b3bf984f0fbbb8fc80914f6.
Due to hitting an assert on our lldb bots: https://lab.llvm.org/buildbot/#/builders/96/builds/22715
../llvm-project/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp:170: virtual lldb::RegisterContextSP ThreadElfCore::CreateRegisterContextForFrame( lldb_private::StackFrame *): Assertion `false && "Architecture or OS not supported"' failed.
show more ...
|
| #
f114f009 |
| 02-May-2022 |
serge-sans-paille <[email protected]> |
[lldb] Fix ppc64 detection in lldb
Currently, ppc64le and ppc64 (defaulting to big endian) have the same descriptor, thus the linear scan always return ppc64le. Handle that through subtype.
Differe
[lldb] Fix ppc64 detection in lldb
Currently, ppc64le and ppc64 (defaulting to big endian) have the same descriptor, thus the linear scan always return ppc64le. Handle that through subtype.
Differential Revision: https://reviews.llvm.org/D124760
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
942c21ed |
| 01-Apr-2022 |
Adrian Prantl <[email protected]> |
Simplify ArchSpec::IsFullySpecifiedTriple() (NFC)
I found this function somewhat hard to read and removed a few entirely redundant checks and converted it to early exits.
Differential Revision: htt
Simplify ArchSpec::IsFullySpecifiedTriple() (NFC)
I found this function somewhat hard to read and removed a few entirely redundant checks and converted it to early exits.
Differential Revision: https://reviews.llvm.org/D122912
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1 |
|
| #
c34698a8 |
| 03-Feb-2022 |
Pavel Labath <[email protected]> |
[lldb] Rename Logging.h to LLDBLog.h and clean up includes
Most of our code was including Log.h even though that is not where the "lldb" log channel is defined (Log.h defines the generic logging inf
[lldb] Rename Logging.h to LLDBLog.h and clean up includes
Most of our code was including Log.h even though that is not where the "lldb" log channel is defined (Log.h defines the generic logging infrastructure). This worked because Log.h included Logging.h, even though it should.
After the recent refactor, it became impossible the two files include each other in this direction (the opposite inclusion is needed), so this patch removes the workaround that was put in place and cleans up all files to include the right thing. It also renames the file to LLDBLog to better reflect its purpose.
show more ...
|
|
Revision tags: llvmorg-15-init |
|
| #
a007a6d8 |
| 31-Jan-2022 |
Pavel Labath <[email protected]> |
[lldb] Convert "LLDB" log channel to the new API
|
| #
f15014ff |
| 26-Jan-2022 |
Benjamin Kramer <[email protected]> |
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLEx
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLExtras, which will now never be called. - Calling it without llvm:: breaks C++17 compat
show more ...
|
| #
ef820632 |
| 26-Jan-2022 |
serge-sans-paille <[email protected]> |
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no buil
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no build breakage expected).
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
efdac16b |
| 10-Dec-2021 |
Jason Molenda <[email protected]> |
Remove one change from https://reviews.llvm.org/D115431
The change to ArchSpec::SetArchitecture that was setting the ObjectFile of a mach-o binary to llvm::Triple::MachO. It's not necessary for my
Remove one change from https://reviews.llvm.org/D115431
The change to ArchSpec::SetArchitecture that was setting the ObjectFile of a mach-o binary to llvm::Triple::MachO. It's not necessary for my patch, and it changes the output of image list -t causing TestUniversal.py to fail on x86_64 systems. The bots turned up the failure, I was developing and testing this on an Apple Silicon mac.
show more ...
|
| #
223e8ca0 |
| 10-Dec-2021 |
Jason Molenda <[email protected]> |
Set a default number of address bits on Darwin arm64 systems
With arm64e ARMv8.3 pointer authentication, lldb needs to know how many bits are used for addressing and how many are used for pointer au
Set a default number of address bits on Darwin arm64 systems
With arm64e ARMv8.3 pointer authentication, lldb needs to know how many bits are used for addressing and how many are used for pointer auth signing. This should be determined dynamically from the inferior system / corefile, but there are some workflows where it still isn't recorded and we fall back on a default value that is correct on some Darwin environments.
This patch also explicitly sets the vendor of mach-o binaries to Apple, so we select an Apple ABI instead of a random other ABI.
It adds a function pointer formatter for systems where pointer authentication is in use, and we can strip the ptrauth bits off of the function pointer address and get a different value that points to an actual symbol.
Differential Revision: https://reviews.llvm.org/D115431 rdar://84644661
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
fd2433e1 |
| 02-Jul-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Replace default bodies of special member functions with = default;
Replace default bodies of special member functions with = default;
$ run-clang-tidy.py -header-filter='lldb' -checks='-*,mo
[lldb] Replace default bodies of special member functions with = default;
Replace default bodies of special member functions with = default;
$ run-clang-tidy.py -header-filter='lldb' -checks='-*,modernize-use-equals-default' -fix ,
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html
Differential revision: https://reviews.llvm.org/D104041
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3 |
|
| #
e50f9c41 |
| 24-Jun-2021 |
Martin Storsjö <[email protected]> |
[lldb] Rename StringRef _lower() method calls to _insensitive()
|
|
Revision tags: llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
| #
71a45e7c |
| 15-Apr-2021 |
Jason Molenda <[email protected]> |
NFC put the armv6m entry with the other Cortex-M entries
The armv6m entry in cores_match() got separated from its friends armv7m and armv7em. Reuniting them to make it easier to keep them updated i
NFC put the armv6m entry with the other Cortex-M entries
The armv6m entry in cores_match() got separated from its friends armv7m and armv7em. Reuniting them to make it easier to keep them updated in all at the same time.
show more ...
|
| #
01ad95ff |
| 15-Apr-2021 |
Jason Molenda <[email protected]> |
Mark armv6m compat with armv7em; match armv7em being compat with armv6m
armv7em and armv6m in ArchSpec cores_match() will return true. There was a small bug where the reverse order would not return
Mark armv6m compat with armv7em; match armv7em being compat with armv6m
armv7em and armv6m in ArchSpec cores_match() will return true. There was a small bug where the reverse order would not return true.
rdar://76387176
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3 |
|
| #
98e50a7d |
| 03-Feb-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Honor the CPU type & subtype when launching on macOS
Honor the CPU type (and subtype) when launching the inferior on macOS.
Part of this functionality was thought to be no longer needed and
[lldb] Honor the CPU type & subtype when launching on macOS
Honor the CPU type (and subtype) when launching the inferior on macOS.
Part of this functionality was thought to be no longer needed and removed in 85bd4369610fe60397455c8e0914a09288285e84, however it's still needed, for example to launch binaries under Rosetta 2 on Apple Silicon.
This patch will use posix_spawnattr_setarchpref_np if available and fallback to posix_spawnattr_setbinpref_np if not.
Differential revision: https://reviews.llvm.org/D95922
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
| #
baf6c298 |
| 21-Jan-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Upstream eCore_arm_arm64e enum value in ArchSpec
Upstream the eCore_arm_arm64e enum value in ArchSpec. All the other arm64e triple changes already landed in LLVM.
Differential revision: http
[lldb] Upstream eCore_arm_arm64e enum value in ArchSpec
Upstream the eCore_arm_arm64e enum value in ArchSpec. All the other arm64e triple changes already landed in LLVM.
Differential revision: https://reviews.llvm.org/D95110
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc1 |
|
| #
15f59711 |
| 07-Jan-2021 |
Luís Marques <[email protected]> |
[LLDB][RISCV] Add RISC-V ArchSpec and rv32/rv64 variant detection
Adds the RISC-V ArchSpec bits contributed by @simoncook as part of D62732, plus logic to distinguish between riscv32 and riscv64 bas
[LLDB][RISCV] Add RISC-V ArchSpec and rv32/rv64 variant detection
Adds the RISC-V ArchSpec bits contributed by @simoncook as part of D62732, plus logic to distinguish between riscv32 and riscv64 based on ELF class.
The patch follows the implementation approach previously used for MIPS. It defines RISC-V architecture subtypes and inspects the ELF header, namely the ELF class, to detect the right subtype.
Differential Revision: https://reviews.llvm.org/D86292
show more ...
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
54710b34 |
| 03-Dec-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Use the cpu subtype enum values from llvm::MachO in ArchSpec (NFC)
Use the cpu subtype enum values from llvm::MachO in the ArchSpec MachO table. As I'm already cluttering the history, restore
[lldb] Use the cpu subtype enum values from llvm::MachO in ArchSpec (NFC)
Use the cpu subtype enum values from llvm::MachO in the ArchSpec MachO table. As I'm already cluttering the history, restore the table's formatting to its original glory.
Differential revision: https://reviews.llvm.org/D92601
show more ...
|
| #
9d9959ee |
| 03-Dec-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Recognize MachO cpu sub-type 2 as arm64
Make sure we recognize cpu sub-type 2 as arm64. In reality it's arm64e, but we don't have the triple for that. Without this patch, we fall back to unkn
[lldb] Recognize MachO cpu sub-type 2 as arm64
Make sure we recognize cpu sub-type 2 as arm64. In reality it's arm64e, but we don't have the triple for that. Without this patch, we fall back to unknown-apple-macosx- for the default architecture, which breaks things like running expressions without a target.
Differential revision: https://reviews.llvm.org/D92603
show more ...
|
|
Revision tags: llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4 |
|
| #
92d42b32 |
| 23-Sep-2020 |
Saleem Abdulrasool <[email protected]> |
Utility: ignore OS version on non-Darwin targets in `ArchSpec`
The OS version field is generally not very helpful for non-Darwin targets. On Linux, it identifies the kernel version which moves out-
Utility: ignore OS version on non-Darwin targets in `ArchSpec`
The OS version field is generally not very helpful for non-Darwin targets. On Linux, it identifies the kernel version which moves out-of-sync with the userspace. On Windows, this field actually ends up corresponding to the Visual Studio toolset version instead of the OS version. Consider non-Darwin targets without an OS version to be fully specified.
Differential Revision: https://reviews.llvm.org/D88181 Reviewed By: Jonas Devlieghere, Dave Lee
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2 |
|
| #
05df9cc7 |
| 05-Aug-2020 |
Adrian Prantl <[email protected]> |
Correctly detect legacy iOS simulator Mach-O objectfiles
The code in ObjectFileMachO didn't disambiguate between ios and ios-simulator object files for Mach-O objects using the legacy ambiguous LC_V
Correctly detect legacy iOS simulator Mach-O objectfiles
The code in ObjectFileMachO didn't disambiguate between ios and ios-simulator object files for Mach-O objects using the legacy ambiguous LC_VERSION_MIN load commands. This used to not matter before taught ArchSpec that ios and ios-simulator are no longer compatible.
rdar://problem/66545307
Differential Revision: https://reviews.llvm.org/D85358
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1 |
|
| #
8120eba5 |
| 28-Jul-2020 |
Fred Riss <[email protected]> |
[lldb/ArchSpec] Always match simulator environment in IsEqualTo
Summary: Initially, Apple simulator binarie triples didn't use a `-simulator` environment and were just differentiated based on the ar
[lldb/ArchSpec] Always match simulator environment in IsEqualTo
Summary: Initially, Apple simulator binarie triples didn't use a `-simulator` environment and were just differentiated based on the architecture. For example, `x86_64-apple-ios` would obviously be a simualtor as iOS doesn't run on x86_64. With Catalyst, we made the disctinction explicit and today, all simulator triples (even the legacy ones) are constructed with an environment. This is especially important on Apple Silicon were the architecture is not different from the one of the simulated device.
This change makes the simulator part of the environment always part of the criteria to detect whether 2 `ArchSpec`s are equal or compatible.
Reviewers: aprantl
Subscribers: inglorion, dexonsmith, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D84716
show more ...
|
| #
ef748b58 |
| 27-Jul-2020 |
Fred Riss <[email protected]> |
[lldb] NFC: Use early exit in ArchSpec::IsEqualTo
|
| #
e937840d |
| 25-Jul-2020 |
Adrian Prantl <[email protected]> |
Upstream macCatalyst support in ArchSpec and associated unit tests.
|