diff options
author | Stefan Gränitz <stefan.graenitz@gmail.com> | 2024-01-23 02:59:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-23 02:59:30 +0100 |
commit | e5ca202ef8870f3b46cc19a7a62624e6908be9a8 (patch) | |
tree | 18e3549fbe72be58917ad63b7be0d68b9ac390dd /libcxx/src/filesystem/operations.cpp | |
parent | b8e708b9d39862c2b7595c02e7bdc4878a2d7186 (diff) | |
download | llvm-e5ca202ef8870f3b46cc19a7a62624e6908be9a8.zip llvm-e5ca202ef8870f3b46cc19a7a62624e6908be9a8.tar.gz llvm-e5ca202ef8870f3b46cc19a7a62624e6908be9a8.tar.bz2 |
[JITLink][AArch32] Multi-stub support for armv7/thumbv7 (#78371)
We want to emit stubs that match the instruction set state of the
relocation site. This is important for branches that have no built-in
switch for the instruction set state. It's the case for Jump24
relocations. Relocations on instructions that support switching on
the fly will be rewritten in a relaxation step in the future. This
affects Call relocations on `BL`/`BLX` instructions.
In this patch, the StubManager gains a second stub symbol slot for each
target and selects which one to use based on the relocation type. For
testing, we select the appropriate slot with a stub-kind filter, i.e.
`arm` or `thumb`. With that we can implement Armv7 stubs and test
that we can have both kinds of stubs for a single external symbol.
Diffstat (limited to 'libcxx/src/filesystem/operations.cpp')
0 files changed, 0 insertions, 0 deletions