diff options
| author | 2017-01-24 10:21:53 +0000 | |
|---|---|---|
| committer | 2017-01-24 10:21:53 +0000 | |
| commit | 4afd38a29bfb29e9fc7a751cc29ccd0021242eac (patch) | |
| tree | ff6db946b83afbbd797832bf9943d65315ff9e62 /gnu/llvm/tools/lld/ELF/Driver.cpp | |
| parent | Avoid allocating space for commons with ld -r. Already pushed upstream. (diff) | |
| download | wireguard-openbsd-4afd38a29bfb29e9fc7a751cc29ccd0021242eac.tar.xz wireguard-openbsd-4afd38a29bfb29e9fc7a751cc29ccd0021242eac.zip | |
PIE-by-default. Probably not suitable for upsttreaming in its current form.
Diffstat (limited to 'gnu/llvm/tools/lld/ELF/Driver.cpp')
| -rw-r--r-- | gnu/llvm/tools/lld/ELF/Driver.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gnu/llvm/tools/lld/ELF/Driver.cpp b/gnu/llvm/tools/lld/ELF/Driver.cpp index e8d865e8b81..e9425007530 100644 --- a/gnu/llvm/tools/lld/ELF/Driver.cpp +++ b/gnu/llvm/tools/lld/ELF/Driver.cpp @@ -493,7 +493,12 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) { Config->NoUndefinedVersion = Args.hasArg(OPT_no_undefined_version); Config->Nostdlib = Args.hasArg(OPT_nostdlib); Config->OMagic = Args.hasArg(OPT_omagic); +#ifdef __OpenBSD__ + Config->Pie = getArg(Args, OPT_pie, OPT_nopie, + !Args.hasArg(OPT_shared) && !Args.hasArg(OPT_relocatable)); +#else Config->Pie = getArg(Args, OPT_pie, OPT_nopie, false); +#endif Config->PrintGcSections = Args.hasArg(OPT_print_gc_sections); Config->Relocatable = Args.hasArg(OPT_relocatable); Config->DefineCommon = getArg(Args, OPT_define_common, OPT_no_define_common, |
