mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-03-03 08:02:41 +00:00
[OpenMP] Add -Bsymbolic to arguments for GNU linker
This patch adds the '-Bsymbolic' flag when we perform linking for the offloading device. We already pass '-fvisibility=protected' but this is not properly handled when using the bfd linker as is described in https://maskray.me/blog/2021-05-16-elf-interposition-and-bsymbolic. Previously this caused linker errors when creating the shared library. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D119018
This commit is contained in:
parent
b8ec430de7
commit
eeb29c8477
@ -572,6 +572,14 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
}
|
||||
CmdArgs.push_back("-lm");
|
||||
}
|
||||
|
||||
// If we are linking for the device all symbols should be bound locally. The
|
||||
// symbols are already protected which makes this redundant. This is only
|
||||
// necessary to work around a problem in bfd.
|
||||
// TODO: Remove this once 'lld' becomes the only linker for offloading.
|
||||
if (JA.isDeviceOffloading(Action::OFK_OpenMP))
|
||||
CmdArgs.push_back("-Bsymbolic");
|
||||
|
||||
// Silence warnings when linking C code with a C++ '-stdlib' argument.
|
||||
Args.ClaimAllArgs(options::OPT_stdlib_EQ);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user