blob: 642c60ce77b5b3658b91ed62334d43fd8d9378aa [file] [log] [blame]
Bob Wilsona3cb1442012-02-04 23:15:59 +00001// REQUIRES: ppc32-registered-target,ppc64-registered-target
Daniel Dunbarae7e9392012-04-09 20:40:11 +00002// RUN: %clang -ccc-clang-archs powerpc -no-canonical-prefixes \
3// RUN: -target powerpc-pc-freebsd8 %s \
Chandler Carruth24248e32012-01-26 01:35:15 +00004// RUN: --sysroot=%S/Inputs/basic_freebsd_tree -### 2>&1 \
5// RUN: | FileCheck --check-prefix=CHECK-PPC %s
6// CHECK-PPC: clang{{.*}}" "-cc1" "-triple" "powerpc-pc-freebsd8"
Chandler Carruth3366ef02012-01-25 10:50:34 +00007// CHECK-PPC: ld{{.*}}" "--sysroot=[[SYSROOT:[^"]+]]"
8// CHECK-PPC: "--eh-frame-hdr" "-dynamic-linker" "{{.*}}ld-elf{{.*}}" "-o" "a.out" "{{.*}}crt1.o" "{{.*}}crti.o" "{{.*}}crtbegin.o" "-L[[SYSROOT]]/usr/lib" "{{.*}}.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "{{.*}}crtend.o" "{{.*}}crtn.o"
Chandler Carruth24248e32012-01-26 01:35:15 +00009//
Daniel Dunbarae7e9392012-04-09 20:40:11 +000010// RUN: %clang -ccc-clang-archs powerpc64 -no-canonical-prefixes \
11// RUN: -target powerpc64-pc-freebsd8 %s \
Chandler Carruth24248e32012-01-26 01:35:15 +000012// RUN: --sysroot=%S/Inputs/basic_freebsd64_tree -### 2>&1 \
13// RUN: | FileCheck --check-prefix=CHECK-PPC64 %s
14// CHECK-PPC64: clang{{.*}}" "-cc1" "-triple" "powerpc64-pc-freebsd8"
15// CHECK-PPC64: ld{{.*}}" "--sysroot=[[SYSROOT:[^"]+]]"
16// CHECK-PPC64: "--eh-frame-hdr" "-dynamic-linker" "{{.*}}ld-elf{{.*}}" "-o" "a.out" "{{.*}}crt1.o" "{{.*}}crti.o" "{{.*}}crtbegin.o" "-L[[SYSROOT]]/usr/lib" "{{.*}}.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "{{.*}}crtend.o" "{{.*}}crtn.o"
17//
18//
Daniel Dunbar9d5600a2010-08-10 17:39:05 +000019// Check that -m32 properly adjusts the toolchain flags.
20//
Chandler Carruth24248e32012-01-26 01:35:15 +000021// RUN: %clang -no-canonical-prefixes -target x86_64-pc-freebsd8 -m32 %s \
22// RUN: --sysroot=%S/Inputs/multiarch_freebsd64_tree -### 2>&1 \
23// RUN: | FileCheck --check-prefix=CHECK-LIB32 %s
Daniel Dunbar9d5600a2010-08-10 17:39:05 +000024// CHECK-LIB32: clang{{.*}}" "-cc1" "-triple" "i386-pc-freebsd8"
Daniel Dunbar9d5600a2010-08-10 17:39:05 +000025// CHECK-LIB32: ld{{.*}}" {{.*}} "-m" "elf_i386_fbsd"
26//
Chandler Carruth24248e32012-01-26 01:35:15 +000027// RUN: %clang -target x86_64-pc-freebsd8 -m32 %s 2>&1 \
28// RUN: --sysroot=%S/Inputs/multiarch_freebsd64_tree -print-search-dirs 2>&1 \
29// RUN: | FileCheck --check-prefix=CHECK-LIB32PATHS %s
Benjamin Kramer76a6d502011-01-28 18:28:30 +000030// CHECK-LIB32PATHS: libraries: ={{.*:?}}/usr/lib32
David Chisnalle091e952012-07-15 21:18:01 +000031//
32// Check that the new linker flags are passed to FreeBSD
33// RUN: %clang -no-canonical-prefixes -target x86_64-pc-freebsd8 -m32 %s \
34// RUN: --sysroot=%S/Inputs/multiarch_freebsd64_tree -### 2>&1 \
David Chisnalldfa210b2012-07-29 15:24:44 +000035// RUN: | FileCheck --check-prefix=CHECK-LDFLAGS8 %s
36// RUN: %clang -no-canonical-prefixes -target x86_64-pc-freebsd9 -m32 %s \
37// RUN: --sysroot=%S/Inputs/multiarch_freebsd64_tree -### 2>&1 \
38// RUN: | FileCheck --check-prefix=CHECK-LDFLAGS9 %s
39// RUN: %clang -no-canonical-prefixes -target x86_64-pc-freebsd10.0 -m32 %s \
40// RUN: --sysroot=%S/Inputs/multiarch_freebsd64_tree -### 2>&1 \
41// RUN: | FileCheck --check-prefix=CHECK-LDFLAGS9 %s
42// CHECK-LDFLAGS8-NOT: --hash-style=both
43// CHECK-LDFLAGS8: --enable-new-dtags
44// CHECK-LDFLAGS9: --hash-style=both
45// CHECK-LDFLAGS9: --enable-new-dtags
David Chisnalle091e952012-07-15 21:18:01 +000046