Author: davide Date: Wed Dec 30 07:53:25 2015 New Revision: 256641 URL: http://llvm.org/viewvc/llvm-project?rev=256641&view=rev Log: Disable generating movt on FreeBSD.
It's sort of an hack, but we have no choice. The linker in the base system doesn't handle that correctly (yet). Once FreeBSD will import lld, this can be backed out. Patch by: Andrew Turner! Modified: cfe/trunk/lib/Driver/Tools.cpp cfe/trunk/test/Driver/arm-no-movt.c Modified: cfe/trunk/lib/Driver/Tools.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=256641&r1=256640&r2=256641&view=diff ============================================================================== --- cfe/trunk/lib/Driver/Tools.cpp (original) +++ cfe/trunk/lib/Driver/Tools.cpp Wed Dec 30 07:53:25 2015 @@ -938,8 +938,8 @@ static void getARMTargetFeatures(const T if (Args.hasArg(options::OPT_ffixed_r9)) Features.push_back("+reserve-r9"); - // The kext linker doesn't know how to deal with movw/movt. - if (KernelOrKext) + // The kext and FreeBSD linkers don't know how to deal with movw/movt. + if (KernelOrKext || Triple.isOSFreeBSD()) Features.push_back("+no-movt"); } Modified: cfe/trunk/test/Driver/arm-no-movt.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/arm-no-movt.c?rev=256641&r1=256640&r2=256641&view=diff ============================================================================== --- cfe/trunk/test/Driver/arm-no-movt.c (original) +++ cfe/trunk/test/Driver/arm-no-movt.c Wed Dec 30 07:53:25 2015 @@ -4,6 +4,11 @@ // RUN: %clang -target armv7-apple-darwin -mkernel -### %s 2>&1 \ // RUN: | FileCheck %s -check-prefix CHECK-KERNEL +// RUN: %clang -target armv7-gnueabi-freebsd11 -### %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-FREEBSD + // CHECK-DEFAULT-NOT: "-target-feature" "+no-movt" // CHECK-KERNEL: "-target-feature" "+no-movt" + +// CHECK-FREEBSD: "-target-feature" "+no-movt" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits