Open
Description
Previous ID | SR-6426 |
Radar | None |
Original Reporter | @dcci |
Type | Bug |
Additional Detail from JIRA
Votes | 0 |
Component/s | Standard Library |
Labels | Bug, Runtime |
Assignee | None |
Priority | Medium |
md5: a36bfedbdbb0210aca0fcc567c4419b8
Issue Description:
This happens when linking
[1/2] Linking CXX executable unittests/runtime/LongTests/SwiftRuntimeLongTests
Relevant clang invocation:
/usr/bin/clang++ -Wno-unknown-warning-option -Werror=unguarded-availability-new -fno-stack-protector -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-avai
lability-new -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/C
MakeFiles/swiftRuntime-freebsd-x86_64.dir/Array.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Casting.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-fr
eebsd-x86_64.dir/CygwinPort.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/HaikuPort.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/D
emangle.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/swiftRuntim
e-freebsd-x86_64.dir/ImageInspectionWin32.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/KnownMetadata.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-fr
eebsd-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.di
r/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 st
dlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Portability.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/ProtocolConformance.cpp.o stdlib/pu
blic/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/RefCount.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/RuntimeEntrySymbols.cpp.o stdlib/public/runti
me/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/RuntimeInvocationsTracking.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/swiftRun
time-freebsd-x86_64.dir/__/__/__/lib/Demangling/ManglingUtils.cpp.o stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/__/__/__/lib/Demangling/Punycode.cpp.o stdlib/pu
blic/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/CMak
eFiles/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/run
time/LongTests/CMakeFiles/SwiftRuntimeLongTests.dir/LongRefcounting.cpp.o unittests/runtime/LongTests/CMakeFiles/SwiftRuntimeLongTests.dir/__/Stdlib.cpp.o -o unittests/runtime/Long
Tests/SwiftRuntimeLongTests -L/usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x86_64/./lib -Wl,-rpath,/usr/home/davide/build/Ninja-RelWithDebInfoAssert/llvm-freebsd-x
86_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 ./lib/swift/clang/lib/freebsd/libclang_rt.builtins-x86_64.a /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-fre$bsd-x86_64/lib/libLLVMDemangle.a -lpthread && :
stdlib/public/runtime/CMakeFiles/swiftRuntime-freebsd-x86_64.dir/Reflection.mm.o:/usr/home/davide/swift/stdlib/public/runtime/Reflection.mm:DW.ref.__gnustep_objcxx_personality_v0: $rror: undefined reference to '__gnustep_objcxx_personality_v0'
This is the last issue that prevents tests to be linked and run on FreeBSD. It's slightly different from the other missing symbol for obj-c reported as DWARF gets in the way (note the `DW.ref__` bit).