[all-commits] [llvm/llvm-project] 840e50: [lld] Do not implicitly link non "public" librarie...
Daniel Rodríguez Troitiño via All-commits
all-commits at lists.llvm.org
Mon Jul 8 09:26:37 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 840e5075447fd2e7ae1f23c112e959b504d8ff42
https://github.com/llvm/llvm-project/commit/840e5075447fd2e7ae1f23c112e959b504d8ff42
Author: Daniel Rodríguez Troitiño <drodriguez at users.noreply.github.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/implicit-and-allowable-clients.test
Log Message:
-----------
[lld] Do not implicitly link non "public" libraries (#97639)
The LC_SUB_CLIENT Mach-O command and the `allowable-clients` TBD entry
specify that the given framework (or library?) can only be linked
directly from the specified names, even if it is sitting in `/usr/lib`
or `/System/Library/Frameworks`.
Add a check for those conditions before checking if a library should be
implicitly linked, and link against their umbrella if they have
allowable clients. The code needs to be in both the binary libraries and
the interface libraries.
Add a test that reproduces the scenario in which a framework reexports a
private framework that sits in `/System/Library/Frameworks`, and check
for the symbols of the reexported framework to be associated with the
public framework, and not the private one.
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