Commit abfc3974 authored by zhen.jiang's avatar zhen.jiang

fix: incremental开启后,项目文件很多时ld.ll报参数太长问题修复

parent b203b059
...@@ -213,6 +213,14 @@ class OhosLinker(targetProperties: OhosConfigurables) : LinkerFlags(targetProper ...@@ -213,6 +213,14 @@ class OhosLinker(targetProperties: OhosConfigurables) : LinkerFlags(targetProper
if (kind == LinkerOutputKind.STATIC_LIBRARY) if (kind == LinkerOutputKind.STATIC_LIBRARY)
return staticGnuArCommands(ar, executable, objectFiles, libraries) return staticGnuArCommands(ar, executable, objectFiles, libraries)
//fix: arguments too long
val librariesArgs = if (libraries.isEmpty()) {
libraries
} else tempFiles.create("libraries").let { librariesListFile ->
librariesListFile.writeLines(libraries)
listOf("@${librariesListFile.absolutePath}")
}
val dynamic = kind == LinkerOutputKind.DYNAMIC_LIBRARY val dynamic = kind == LinkerOutputKind.DYNAMIC_LIBRARY
val targetToolchain = absoluteTargetToolchain val targetToolchain = absoluteTargetToolchain
val crtPrefix = "$absoluteTargetSysRoot/$crtFilesLocation" val crtPrefix = "$absoluteTargetSysRoot/$crtFilesLocation"
...@@ -243,7 +251,8 @@ class OhosLinker(targetProperties: OhosConfigurables) : LinkerFlags(targetProper ...@@ -243,7 +251,8 @@ class OhosLinker(targetProperties: OhosConfigurables) : LinkerFlags(targetProper
if (dynamic) +linkerDynamicFlags if (dynamic) +linkerDynamicFlags
if (dynamic) +"--soname=${File(executable).name}" if (dynamic) +"--soname=${File(executable).name}"
+objectFiles +objectFiles
+libraries //fix: arguments too long
+librariesArgs
+linkerArgs +linkerArgs
+linkerKonanFlags +linkerKonanFlags
when (sanitizer) { when (sanitizer) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment