mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-20 03:55:48 -04:00

Third Landing Attempt (dropping any linker invocation from clang driver): Up until now, clang interface stubs has replaced the standard PP -> C -> BE -> ASM -> LNK pipeline. With this change, it will happen in conjunction with it. So what when you build your code you will get an a.out or lib.so as well as an interface stub file. Example: clang -shared -o libfoo.so -emit-interface-stubs ... will generate both a libfoo.so and a libfoo.ifso. The .so file will contain the code from the standard compilation pipeline and the .ifso file will contain the ELF stub library. Note: For driver-test.c I've added -S in order to prevent any bot failures on bots that don't have the proper linker for their native triple. You could always specify a triple like x86_64-unknown-linux-gnu and on bots like x86_64-scei-ps4 the clang driver would invoke regular ld instead of getting the error 'Executable "orbis-ld" doesn't exist!' but on bots like ppc64be and s390x you'd get an error "/usr/bin/ld: unrecognised emulation mode: elf_x86_64" Differential Revision: https://reviews.llvm.org/D70274
15 lines
429 B
C++
15 lines
429 B
C++
// REQUIRES: powerpc-registered-target
|
|
|
|
// RUN: %clang -x c++ -target powerpc64le-unknown-linux-gnu -o - %s \
|
|
// RUN: -emit-interface-stubs -emit-merged-ifs -S | \
|
|
// RUN: FileCheck -check-prefix=CHECK-IFS %s
|
|
|
|
// CHECK-IFS: --- !experimental-ifs-v1
|
|
// CHECK-IFS: IfsVersion: 1.0
|
|
// CHECK-IFS: Triple: powerpc64le
|
|
// CHECK-IFS: Symbols:
|
|
// CHECK-IFS: _Z8helloPPCv: { Type: Func }
|
|
// CHECK-IFS: ...
|
|
|
|
int helloPPC();
|