--- src/ld/OutputFile.cpp +++ src/ld/OutputFile.cpp @@ -2983,7 +2983,8 @@ void OutputFile::addClassicRelocs(ld::Internal& state, ld::Internal::FinalSectio // reference to global weak def needs weak binding in dynamic images if ( (target->combine() == ld::Atom::combineByName) && (target->definition() == ld::Atom::definitionRegular) - && (_options.outputKind() != Options::kStaticExecutable) ) { + && (_options.outputKind() != Options::kStaticExecutable) + && (_options.outputKind() != Options::kPreload) ) { needsExternReloc = true; } else if ( _options.outputKind() == Options::kDynamicExecutable ) {