[swift-dev] Build failure on s390x

Jordan Rose jordan_rose at apple.com
Tue Aug 9 16:08:13 CDT 2016

Hi, Vivian. RuntimeStubs.h (along with the rest of SwiftShims) is a header that gets shipped with the Swift library, so it can’t refer to anything outside of its folder. Since we don’t yet have a good way to annotate things as using the Swift calling convention in the SwiftShims headers, we should probably not be using the Swift calling convention there (at least for now). Can you write up a pull request removing the SWIFT_CC annotation from the functions declared in RuntimeStubs.h?

(I’m a little concerned that Clang didn’t tell us that the calling convention isn’t consistent across declarations, but that’s a separate issue. Maybe the lack of an annotation isn’t strong enough information to produce a warning.)


> On Aug 9, 2016, at 07:42, Vivian Kong via swift-dev <swift-dev at swift.org> wrote:
> After apply this commit, the s390x build started to fail:
> https://github.com/apple/swift/commit/dc88e51321e0a4f281406c265a91308a06aa517f <https://github.com/apple/swift/commit/dc88e51321e0a4f281406c265a91308a06aa517f>
> The commit added 2 new functions in stdlib/public/SwiftShims/RuntimeStubs.h. They are used in stdlib/public/stubs/CommandLine.cpp with SWIFT_CC(swift) macro. Since we use the LLVM's intrinsic "swiftcall" on s390x, this caused a build error. To fix it we added the SWIFT_CC(swift) macro and #include "swift/Runtime/Config.h" to RuntimeStubs.h. We then ran into this build error:
> <module-includes>:9:10: note: in file included from <module-includes>:9:
> #include "RuntimeStubs.h"
> ^
> /localbox/vivkong/swift/build/Ninja-RelWithDebInfoAssert/swift-linux-s390x/./lib/swift/shims/RuntimeStubs.h:23:10: error: 'swift/Runtime/Config.h' file not found
> #include "swift/Runtime/Config.h"
> I tried modifying stdlib/public/SwiftShims/CMakeLists.txt with
> include_directories(
> ${CMAKE_SOURCE_DIR}/include
> )
> But that didn't seem to work. Any suggestions on how to fix this?
> Thanks for your help!
> Regards,
> Vivian Kong
> Software Developer
> IBM Canada Toronto Lab
> _______________________________________________
> swift-dev mailing list
> swift-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160809/3fbea78f/attachment.html>

More information about the swift-dev mailing list