diff --git a/Sources/orbis-parser/OrbisLibrary.swift b/Sources/orbis-parser/OrbisLibrary.swift index 88b6f4e..ef5c5c9 100644 --- a/Sources/orbis-parser/OrbisLibrary.swift +++ b/Sources/orbis-parser/OrbisLibrary.swift @@ -6,5 +6,5 @@ struct OrbisLibrary: Codable { let is_export: Bool let symbols: [OrbisSymbol] - var assembly: String { symbols.reduce("") { is_export ? $0 + $1.assembly : $0 }} -} \ No newline at end of file + var assembly: String { is_export ? symbols.reduce("") { $0 + $1.assembly } : "" } +} diff --git a/Sources/orbis-parser/OrbisModule.swift b/Sources/orbis-parser/OrbisModule.swift index 4ac1a56..b826612 100644 --- a/Sources/orbis-parser/OrbisModule.swift +++ b/Sources/orbis-parser/OrbisModule.swift @@ -7,11 +7,13 @@ struct OrbisModule: Codable { let libraries: [OrbisLibrary] var assembly: String { - libraries.reduce("") { $1.is_export ? """ + libraries.reduce("") { + guard name == $1.name else { return $0 } + return """ \($0) .section .orbis.fstubs.\(name).\(version_major).\(version_minor).\($1.name).\($1.version),\"ax\",%progbits \($1.assembly) - """.trimmingCharacters(in: .whitespaces) : $0 + """.trimmingCharacters(in: .whitespaces) } } -} \ No newline at end of file +}