Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cross no longer works, manual script fails on linking #9

Open
ericlewis opened this issue Mar 24, 2022 · 3 comments
Open

cross no longer works, manual script fails on linking #9

ericlewis opened this issue Mar 24, 2022 · 3 comments

Comments

@ericlewis
Copy link

Hello! Awesome project, I am attempting to try a compile here, using the toolchain & it dies at the part where it tries to link with __Vector. Any advice?

swiftc -Xcc -ffunction-sections -Xcc -fdata-sections -Xcc -mthumb -Xlinker --gc-sections -Xfrontend -metadata-sections -Xfrontend -function-sections -Xfrontend -data-sections -static-stdlib -target thumbv7m-unknown-none-eabi -use-ld=/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld -Xcc -D_BAREMETAL -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/ -lswiftCore -lswiftStdlibStubsBaremetal -lstdc++_nano -lc -lg -lm -lgcc -Xlinker -T -Xlinker ./linker.ld test.swift
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld:./linker.ld:54: undefined symbol `__Vectors' referenced in expression
clang: error: ld.lld command failed with exit code 1 (use -v to see invocation)
@ericlewis
Copy link
Author

getting a bit further, seems unicode is a problem?

ericlewis@erics-mbp swift-bm % swiftc -Xcc -ffunction-sections -Xcc -fdata-sections -Xcc -mthumb -Xlinker --gc-sections -Xfrontend -metadata-sections -Xfrontend -function-sections -Xfrontend -data-sections -static-stdlib -target thumbv7m-unknown-none-eabi -use-ld=/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld -Xcc -D_BAREMETAL -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/ -lswiftCore -lswiftStdlibStubsBaremetal -lstdc++_nano -lc -lg -lm -lgcc -Xlinker -T -Xlinker ./linker.ld test.swift
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_ubrk_close':
UnicodeNormalization.cpp:(.text.__swift_stdlib_ubrk_close+0x0): undefined reference to `ubrk_close'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_ubrk_open':
UnicodeNormalization.cpp:(.text.__swift_stdlib_ubrk_open+0x0): undefined reference to `ubrk_open'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_ubrk_preceding':
UnicodeNormalization.cpp:(.text.__swift_stdlib_ubrk_preceding+0x0): undefined reference to `ubrk_preceding'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_ubrk_following':
UnicodeNormalization.cpp:(.text.__swift_stdlib_ubrk_following+0x0): undefined reference to `ubrk_following'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_ubrk_setUText':
UnicodeNormalization.cpp:(.text.__swift_stdlib_ubrk_setUText+0x0): undefined reference to `ubrk_setUText'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_utext_openUTF8':
UnicodeNormalization.cpp:(.text.__swift_stdlib_utext_openUTF8+0x0): undefined reference to `utext_openUTF8'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_unorm2_hasBoundaryBefore':
UnicodeNormalization.cpp:(.text.__swift_stdlib_unorm2_hasBoundaryBefore+0x0): undefined reference to `unorm2_hasBoundaryBefore'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_unorm2_getNFCInstance':
UnicodeNormalization.cpp:(.text.__swift_stdlib_unorm2_getNFCInstance+0x0): undefined reference to `unorm2_getNFCInstance'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_unorm2_normalize':
UnicodeNormalization.cpp:(.text.__swift_stdlib_unorm2_normalize+0x0): undefined reference to `unorm2_normalize'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_u_getIntPropertyValue':
UnicodeNormalization.cpp:(.text.__swift_stdlib_u_getIntPropertyValue+0x0): undefined reference to `u_getIntPropertyValue'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_u_strToLower':
UnicodeNormalization.cpp:(.text.__swift_stdlib_u_strToLower+0x0): undefined reference to `u_strToLower'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/lib/swift_static/baremetal/thumbv7m/libswiftCore.a(UnicodeNormalization.cpp.o): in function `__swift_stdlib_u_strToUpper':
UnicodeNormalization.cpp:(.text.__swift_stdlib_u_strToUpper+0x0): undefined reference to `u_strToUpper'
/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: /Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp//libnosys.a(sbrk.o): in function `_sbrk':
sbrk.c:(.text._sbrk+0x18): undefined reference to `end'
clang: error: ld.lld command failed with exit code 1 (use -v to see invocation)
<unknown>:0: error: link command failed with exit code 1 (use -v to see invocation)

@ericlewis
Copy link
Author

ah, it appears I am missing this: https://github.com/swift-embedded/unicode-support, unsure how to do this in a manual fashion sadly.

@ericlewis
Copy link
Author

This was indeed the problem. I managed to get a compile working by compiling the unicode-support separately then using this command:

swiftc -Xcc -ffunction-sections -Xcc -fdata-sections -Xcc -mthumb -Xlinker --gc-sections -Xfrontend -metadata-sections -Xfrontend -function-sections -Xfrontend -data-sections -static-stdlib -target thumbv7m-unknown-none-eabi -use-ld=/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld -Xcc -D_BAREMETAL -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/arm-none-eabi/8.2.1/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/thumb/v7e-m/nofp/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/lib/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/arm-none-eabi/8.2.1/ -L/Users/ericlewis/Library/Developer/Toolchains/swift-LOCAL-2020-02-15-a.xctoolchain/usr/bin/../arm-none-eabi/usr/lib/ -lswiftCore -lswiftStdlibStubsBaremetal -lstdc++_nano -lc -lg -lm -lgcc -Xlinker -T -Xlinker ./linker.ld imp.o unicode.o test.swift

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant