[all-commits] [llvm/llvm-project] 760c2a: [lld] Support thumb PLTs (#86223)
PiJoules via All-commits
all-commits at lists.llvm.org
Tue May 28 15:37:25 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 760c2aa55f0c5f56bed944328b23aa3f2f764346
https://github.com/llvm/llvm-project/commit/760c2aa55f0c5f56bed944328b23aa3f2f764346
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-05-28 (Tue, 28 May 2024)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Config.h
M lld/ELF/InputFiles.cpp
A lld/test/ELF/armv8-thumb-plt-reloc.s
Log Message:
-----------
[lld] Support thumb PLTs (#86223)
We are using PLTs for cortex-m33 which only supports thumb. More
specifically, this is for a very restricted use case. There's no MMU so
there's no sharing of virtual addresses between two processes, but this
is fine. The MCU is used for running [chre
nanoapps](https://android.googlesource.com/platform/system/chre/+/HEAD/doc/nanoapp_overview.md)
for android. Each nanoapp is a shared library (but effectively acts as
an executable containing a test suite) that is loaded and run on the MCU
one binary at a time and there's only one process running at a time, so
we ensure that the same text segment cannot be shared by two different
running executables. GNU LD supports thumb PLTs but we want to migrate
to a clang toolchain and use LLD, so thumb PLTs are needed.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list