mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-13 12:46:07 +00:00
Support linking static PIE binaries on NetBSD
llvm-svn: 336947
This commit is contained in:
parent
b64764a30b
commit
750dd9f595
@ -122,6 +122,10 @@ void netbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
CmdArgs.push_back("--eh-frame-hdr");
|
||||
if (Args.hasArg(options::OPT_static)) {
|
||||
CmdArgs.push_back("-Bstatic");
|
||||
if (Args.hasArg(options::OPT_pie)) {
|
||||
Args.AddAllArgs(CmdArgs, options::OPT_pie);
|
||||
CmdArgs.push_back("--no-dynamic-linker");
|
||||
}
|
||||
} else {
|
||||
if (Args.hasArg(options::OPT_rdynamic))
|
||||
CmdArgs.push_back("-export-dynamic");
|
||||
|
@ -5,6 +5,9 @@
|
||||
// RUN: -pie --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=PIE %s
|
||||
// RUN: %clang -no-canonical-prefixes -target x86_64--netbsd \
|
||||
// RUN: -static -pie --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=STATIC-PIE %s
|
||||
// RUN: %clang -no-canonical-prefixes -target x86_64--netbsd \
|
||||
// RUN: -shared --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=SHARED %s
|
||||
|
||||
@ -139,6 +142,16 @@
|
||||
// STATIC: "{{.*}}/usr/lib{{/|\\\\}}crti.o" "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o"
|
||||
// STATIC: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
|
||||
|
||||
// STATIC-PIE: ld{{.*}}" "--eh-frame-hdr"
|
||||
// STATIC-PIE-NOT: "-dynamic-linker" "/libexec/ld.elf_so"
|
||||
// STATIC-PIE-NOT: "-Bshareable"
|
||||
// STATIC-PIE: "-pie"
|
||||
// STATIC-PIE-NOT: "-dynamic-linker" "/libexec/ld.elf_so"
|
||||
// STATIC-PIE-NOT: "-Bshareable"
|
||||
// STATIC-PIE: "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
|
||||
// STATIC-PIE: "{{.*}}/usr/lib{{/|\\\\}}crti.o" "{{.*}}/usr/lib{{/|\\\\}}crtbeginS.o"
|
||||
// STATIC-PIE: "{{.*}}/usr/lib{{/|\\\\}}crtendS.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
|
||||
|
||||
// SHARED: ld{{.*}}" "--eh-frame-hdr"
|
||||
// SHARED-NOT: "-pie"
|
||||
// SHARED-NOT: "-dynamic-linker"
|
||||
|
Loading…
x
Reference in New Issue
Block a user