forked from OSchip/llvm-project
[MinGW] Don't pass -dynamicbase:no by default for arm/arm64
The linker refuses using -dynamicbase:no on these architectures. Stop passing -dynamicbase (which just reinforces the lld-link default) for simplicity. Differential Revision: https://reviews.llvm.org/D41052 llvm-svn: 320518
This commit is contained in:
parent
6ea167cc43
commit
71663a2eac
|
@ -159,7 +159,9 @@ bool mingw::link(ArrayRef<const char *> ArgsArr, raw_ostream &Diag) {
|
|||
if (Args.hasArg(OPT_large_address_aware))
|
||||
Add("-largeaddressaware");
|
||||
|
||||
Add(Args.hasArg(OPT_dynamicbase) ? "-dynamicbase" : "-dynamicbase:no");
|
||||
if (Args.getLastArgValue(OPT_m) != "thumb2pe" &&
|
||||
Args.getLastArgValue(OPT_m) != "arm64pe" && !Args.hasArg(OPT_dynamicbase))
|
||||
Add("-dynamicbase:no");
|
||||
|
||||
if (Args.hasFlag(OPT_gc_sections, OPT_no_gc_sections, false))
|
||||
Add("-opt:ref");
|
||||
|
|
|
@ -93,14 +93,14 @@ STRIP-NOT: -debug:dwarf
|
|||
RUN: ld.lld -### -m i386pep foo.o --large-address-aware | FileCheck -check-prefix LARGE-ADDRESS-AWARE %s
|
||||
LARGE-ADDRESS-AWARE: -largeaddressaware
|
||||
|
||||
RUN: ld.lld -### -m i386pe foo.o | FileCheck -check-prefix DEFAULT-DISABLE-FLAGS %s
|
||||
RUN: ld.lld -### -m i386pep foo.o | FileCheck -check-prefix DEFAULT-DISABLE-FLAGS %s
|
||||
DEFAULT-DISABLE-FLAGS: -dynamicbase:no
|
||||
|
||||
# The extra '-' in the following check pattern is intentional, to make sure
|
||||
# that a check for "-dynamicbase" doesn't match the default "-dynamicbase:no".
|
||||
RUN: ld.lld -### -m i386pep foo.o --dynamicbase | FileCheck -check-prefix DYNAMICBASE %s
|
||||
RUN: ld.lld -### -m i386pep foo.o -dynamicbase | FileCheck -check-prefix DYNAMICBASE %s
|
||||
DYNAMICBASE: -dynamicbase -
|
||||
RUN: ld.lld -### -m i386pe --dynamicbase foo.o | FileCheck -check-prefix NO-DEFAULT-DISABLE-FLAGS %s
|
||||
RUN: ld.lld -### -m i386pep -dynamicbase foo.o | FileCheck -check-prefix NO-DEFAULT-DISABLE-FLAGS %s
|
||||
RUN: ld.lld -### -m thumb2pe foo.o | FileCheck -check-prefix NO-DEFAULT-DISABLE-FLAGS %s
|
||||
RUN: ld.lld -### -m arm64pe foo.o | FileCheck -check-prefix NO-DEFAULT-DISABLE-FLAGS %s
|
||||
NO-DEFAULT-DISABLE-FLAGS-NOT: -dynamicbase:no
|
||||
|
||||
RUN: ld.lld -### -m i386pep foo.o --image-base 0x1230000 | FileCheck -check-prefix IMAGE-BASE %s
|
||||
RUN: ld.lld -### -m i386pep foo.o -image-base 0x1230000 | FileCheck -check-prefix IMAGE-BASE %s
|
||||
|
|
Loading…
Reference in New Issue