Last active
January 8, 2018 20:34
-
-
Save eyeplum/b12a95c394c4aa48f11c829b44b54268 to your computer and use it in GitHub Desktop.
Swift and Rust Static Linked ELF
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##### | |
# on a machine with Rust installed | |
##### | |
$ ldd ./target/debug/hello | |
linux-vdso.so.1 (0x00007ffefb7f4000) | |
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9e6e25b000) | |
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9e6e053000) | |
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9e6de36000) | |
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9e6dc1f000) | |
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9e6d880000) | |
/lib64/ld-linux-x86-64.so.2 (0x000055749a57a000) | |
##### | |
# on a machine that does not have rust installed | |
##### | |
$ ./hello_rs | |
Hello, world! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##### | |
# on a machine with Swift 4.1-dev installed | |
##### | |
$ swift build | |
Compile Swift Module 'hello' (1 sources) | |
Linking ./.build/x86_64-unknown-linux/debug/hello | |
$ ldd .build/x86_64-unknown-linux/debug/hello | |
linux-vdso.so.1 => (0x00007ffe3036b000) | |
libswiftCore.so => /usr/lib/swift/linux/libswiftCore.so (0x00007f0b077b5000) | |
libswiftSwiftOnoneSupport.so => /usr/lib/swift/linux/libswiftSwiftOnoneSupport.so (0x00007f0b07764000) | |
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0b073dd000) | |
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0b070d4000) | |
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0b06ebe000) | |
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0b06af3000) | |
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0b068d6000) | |
libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1 (0x00007f0b066ce000) | |
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0b064c9000) | |
libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007f0b06135000) | |
libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007f0b05cd3000) | |
/lib64/ld-linux-x86-64.so.2 (0x00005557ec1c8000) | |
libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007f0b0421b000) | |
$ swift build --static-swift-stdlib | |
$ ldd .build/x86_64-unknown-linux/debug/hello | |
linux-vdso.so.1 => (0x00007fffe8fbf000) | |
libswiftCore.so => /usr/lib/swift/linux/libswiftCore.so (0x00007f8dd8133000) | |
libswiftSwiftOnoneSupport.so => /usr/lib/swift/linux/libswiftSwiftOnoneSupport.so (0x00007f8dd80e2000) | |
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8dd7d5b000) | |
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8dd7a52000) | |
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8dd783c000) | |
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8dd7471000) | |
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8dd7254000) | |
libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1 (0x00007f8dd704c000) | |
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8dd6e47000) | |
libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007f8dd6ab3000) | |
libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007f8dd6651000) | |
/lib64/ld-linux-x86-64.so.2 (0x000055f98eadd000) | |
libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007f8dd4b99000) | |
##### | |
# on a machine that does not have swift toolchain installed | |
##### | |
$ ./hello | |
./hello: error while loading shared libraries: libswiftCore.so: cannot open shared object file: No such file or directory | |
##### | |
# on a machine with Swift 4.0.3 release installed | |
##### | |
$ ./hello_swift_static | |
./hello_swift_static: symbol lookup error: ./hello_swift_static: undefined symbol: _T0s27_allocateUninitializedArrayySayxG_BptBwlFyp_Tg5 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment