Skip to content

[SR-5779] SwiftRuntimeTests target fails on FreeBSD due to a linker error #48349

Open
@dcci

Description

@dcci
mannequin
Previous ID SR-5779
Radar None
Original Reporter @dcci
Type Bug
Additional Detail from JIRA
Votes 0
Component/s
Labels Bug
Assignee None
Priority Medium

md5: 041350be3b8c017938f67d832db77dcf

Issue Description:

Now that I have some time, I'm trying to revamp the FreeBSD support in swift.

I'm seeing a bunch of linker errors when running basic tests (specifying `-t` to `build-script`).

FAILED: unittests/runtime/SwiftRuntimeTests
: && /usr/bin/clang++ Wno-unknown-warning-option -Werror=unguarded-availability-new -fno-stack-protector -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c+11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -ffunction-sections -fdata-sections -Werror=switch -Wdocumentation -Wimplicit-fallthrough -Wunreachable-code -Woverloaded-virtual -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -O2 -Wl,-O3 -Wl,-gc-sections -fuse-ld=gold stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/AnyHashableSupport.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Casting.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/CygwinPort.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Demangle.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Enum.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ErrorObjectConstants.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ErrorObjectNative.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Errors.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ErrorDefaultImpls.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Exclusivity.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Heap.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/HeapObject.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ImageInspectionMachO.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ImageInspectionELF.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ImageInspectionWin32.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/KnownMetadata.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Metadata.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/MetadataLookup.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/MutexPThread.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/MutexWin32.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Once.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Portability.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ProtocolConformance.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/RefCount.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/RuntimeEntrySymbols.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/_///lib/Demangling/OldDemangler.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir////lib/Demangling/Demangler.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir////lib/Demangling/NodePrinter.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir////lib/Demangling/Context.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir////lib/Demangling/ManglingUtils.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir////lib/Demangling/Punycode.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ErrorObject.mm.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/SwiftObject.mm.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/SwiftValue.mm.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Reflection.mm.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir////lib/Demangling/OldRemangler.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir////lib/Demangling/Remangler.cpp.o unittests/runtime/CMakeFiles/SwiftRuntimeTests.dir/Exclusivity.cpp.o unittests/runtime/CMakeFiles/SwiftRuntimeTests.dir/Metadata.cpp.o unittests/runtime/CMakeFiles/SwiftRuntimeTests.dir/Mutex.cpp.o unittests/runtime/CMakeFiles/SwiftRuntimeTests.dir/Enum.cpp.o unittests/runtime/CMakeFiles/SwiftRuntimeTests.dir/Refcounting.cpp.o unittests/runtime/CMakeFiles/SwiftRuntimeTests.dir/Stdlib.cpp.o -o unittests/runtime/SwiftRuntimeTests -L/usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/./lib -Wl,-rpath,/usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/./lib:/usr/home/davide/build/Ninja-RelWithDebInfoAssert/swift-freebsd-x86_64/lib/swift/freebsd/x86_64 /usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/lib/libLLVMSupport.a -lpthread /usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/lib/libgtest_main.a /usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/lib/libgtest.a -lpthread lib/swift/freebsd/x86_64/libswiftCore.so /usr/lib/libexecinfo.so /usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/lib/libLLVMSupport.a -lrt /usr/lib/libexecinfo.so -ltinfo -lpthread -lz -lm /usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/lib/libLLVMDemangle.a -lpthread && : /usr/include/c/v1/atomic:893: error: undefined reference to 'sync_val_compare_and_swap_16' /usr/include/c/v1/atomic:893: error: undefined reference to 'sync_val_compare_and_swap_16' /usr/include/c/v1/atomic:893: error: undefined reference to 'sync_val_compare_and_swap_16' /usr/include/c/v1/atomic:893: error: undefined reference to 'sync_val_compare_and_swap_16' /usr/include/c/v1/atomic:887: error: undefined reference to 'sync_lock_test_and_set_16' /usr/include/c/v1/atomic:887: error: undefined reference to 'sync_lock_test_and_set_16' /usr/include/c+/v1/atomic:887: error: undefined reference to '_sync_lock_test_and_set_16'

Metadata

Metadata

Assignees

No one assigned

    Labels

    FreeBSDPlatform: FreeBSDbugA deviation from expected or documented behavior. Also: expected but undesirable behavior.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions