Don't use weak aliases for string literals
Apple ld seems to treat hidden weak alias symbols as duplicates.
This commit is contained in:
committed by
SvyatoslavScherbina
parent
44a66bdfe6
commit
da4d943afb
+1
-7
@@ -32,15 +32,9 @@ private fun StaticData.arrayHeader(typeInfo: ConstPointer, length: Int): Struct
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal fun StaticData.createKotlinStringLiteral(value: String): ConstPointer {
|
internal fun StaticData.createKotlinStringLiteral(value: String): ConstPointer {
|
||||||
val name = "kstr:" + value.globalHashBase64
|
|
||||||
val elements = value.toCharArray().map(::Char16)
|
val elements = value.toCharArray().map(::Char16)
|
||||||
|
|
||||||
val objRef = createConstKotlinArray(context.ir.symbols.string.owner, elements)
|
val objRef = createConstKotlinArray(context.ir.symbols.string.owner, elements)
|
||||||
|
return objRef
|
||||||
val res = createAlias(name, objRef)
|
|
||||||
LLVMSetLinkage(res.llvm, LLVMLinkage.LLVMWeakAnyLinkage)
|
|
||||||
|
|
||||||
return res
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun StaticData.createRef(objHeaderPtr: ConstPointer) = objHeaderPtr.bitcast(kObjHeaderPtr)
|
private fun StaticData.createRef(objHeaderPtr: ConstPointer) = objHeaderPtr.bitcast(kObjHeaderPtr)
|
||||||
|
|||||||
Reference in New Issue
Block a user