-
-
Notifications
You must be signed in to change notification settings - Fork 278
Open
Description
Build LDC with CXXFLAGS="-flto=auto" using GCC and build will fail with:
[141/249] Linking CXX executable bin/ldc2
FAILED: [code=1] bin/ldc2
: && /usr/bin/c++ -flto=auto -DDMDV2 -Wl,--dependency-file=CMakeFiles/ldc2.dir/link.d obj/ldc2.o -o bin/ldc2 lib/libldc.a -lLLVM-21 -L/usr/lib -Wl,--export-dynamic /usr/lib/ldc_rt.dso.o -L/usr/lib -L/usr/lib/llvm20/lib/clang/20/lib/x86_64-pc-linux-gnu -lphobos2-ldc-shared -ldruntime-ldc-shared -Wl,-rpath,/usr/lib -Wl,--gc-sections -lrt -ldl -lpthread -lm -m64 -ldl && :
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o: in function `_start':
(.text+0x1b): undefined reference to `main'
/usr/bin/ld: obj/ldc2.o: in function `D main':
main.d:(.text._Dmain+0x1): undefined reference to `cppmain()'
/usr/bin/ld: obj/ldc2.o: in function `ConfigFile::readConfig(char const*, char const*, char const*)':
main.d:(.text._ZN10ConfigFile10readConfigEPKcS1_S1_+0x15c): undefined reference to `ConfigFile::sectionMatches(char const*, char const*)'
/usr/bin/ld: obj/ldc2.o: in function `dmd.root.string.toCStringThen!(driver.configfile.ConfigFile.readConfig(const(char)*, const(char)*, const(char)*).__lambda_L195_C67).toCStringThen(const(char)[])':
main.d:(.text._D3dmd4root6string__T13toCStringThenS6driver10configfile10ConfigFile10readConfigMRPxaQdQfZ17__lambda_L195_C67ZQDlMFNbAxaZb[_D3dmd4root6string__T13toCStringThenS6driver10configfile10ConfigFile10readConfigMRPxaQdQfZ17__lambda_L195_C67ZQDlMFNbAxaZb]+0x55): undefined reference to `ConfigFile::sectionMatches(char const*, char const*)'
/usr/bin/ld: obj/ldc2.o: in function `extraLDCSpecificSemanticAnalysis(Array<Module*>&)':
main.d:(.text._Z32extraLDCSpecificSemanticAnalysisR5ArrayIP6ModuleE+0x40): undefined reference to `hasComputeAttr'
/usr/bin/ld: main.d:(.text._Z32extraLDCSpecificSemanticAnalysisR5ArrayIP6ModuleE+0x4c): undefined reference to `dcomputeSemanticAnalysis(Module*)'
/usr/bin/ld: main.d:(.text._Z32extraLDCSpecificSemanticAnalysisR5ArrayIP6ModuleE+0x75): undefined reference to `runAllSemanticAnalysisPlugins(Module*)'
I'm guessing it's because of mismatched compiler/linker because if I build with Clang then it works without any issues.
CXX=clang++ - works with LTO.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels