liangxinyan
2025-11-21 17:35:33 +08:00
parent 524851d25c
commit dcfa4deb4e
2 changed files with 14 additions and 5 deletions
@@ -173,7 +173,7 @@ class ElfFileMgr(object):
def get_elf_by_name(self, name):
if name in self._basename_dict:
return self._basename_dict[name][0]
return self._basename_dict[name]
return self.__get_link_file(name)
@@ -251,7 +251,12 @@ class ElfFileMgr(object):
print("Warning: can not find depended library [" + lib + "] for " + elf["name"])
break
self.add_dependence(elf, dep_elf)
if not isinstance(dep_elf, list):
self.add_dependence(elf, dep_elf)
else:
if len(dep_elf) > 1:
dep_elf[0]["duplicate"] = True
self.add_dependence(elf, dep_elf[0])
def __get_link_file(self, name):
for src, target in self._link_file_map.items():
+7 -3
View File
@@ -137,6 +137,13 @@ class BaseRule(object):
for dep in mod["deps"]:
callee = dep["callee"]
if callee["name"] in self.__base_sofiles:
continue
if "duplicate" in callee.keys() and callee["duplicate"]:
passed = False
self.error("NEED MODIFY: %s has the same name in other package path, sofile name should be modified" % (callee["name"]))
dep_innerapi_tags = callee["innerapi_tags"]
wrong_tags = [item for item in dep_innerapi_tags if item not in valid_dep_tags]
@@ -149,9 +156,6 @@ class BaseRule(object):
if in_whitelist:
continue
if callee["name"] in self.__base_sofiles:
continue
# llndk can dep system only sofile
if "system" in valid_dep_tags and not self.is_only(callee) == "system":