ldgen: fix error on parsing archive from sections info
This commit is contained in:
parent
22b4c95d1e
commit
a9c784339d
1 changed files with 4 additions and 5 deletions
|
@ -581,8 +581,6 @@ and names
|
||||||
"""
|
"""
|
||||||
class SectionsInfo(dict):
|
class SectionsInfo(dict):
|
||||||
|
|
||||||
PATH = Optional("/") + ZeroOrMore(Regex(r"[^/.]+") + Literal("/"))
|
|
||||||
|
|
||||||
__info = collections.namedtuple("__info", "filename content")
|
__info = collections.namedtuple("__info", "filename content")
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -591,8 +589,8 @@ class SectionsInfo(dict):
|
||||||
def add_sections_info(self, sections_info_file):
|
def add_sections_info(self, sections_info_file):
|
||||||
first_line = sections_info_file.readline()
|
first_line = sections_info_file.readline()
|
||||||
|
|
||||||
archive = Literal("In archive").suppress() + SectionsInfo.PATH.suppress() + Fragment.ENTITY.setResultsName("archive") + Literal(":").suppress()
|
archive_path = Literal("In archive").suppress() + Regex(r"[^:]+").setResultsName("archive_path") + Literal(":").suppress()
|
||||||
parser = archive
|
parser = archive_path
|
||||||
|
|
||||||
results = None
|
results = None
|
||||||
|
|
||||||
|
@ -601,7 +599,8 @@ class SectionsInfo(dict):
|
||||||
except ParseException as p:
|
except ParseException as p:
|
||||||
raise ParseException("File " + sections_info_file.name + " is not a valid sections info file. " + p.message)
|
raise ParseException("File " + sections_info_file.name + " is not a valid sections info file. " + p.message)
|
||||||
|
|
||||||
self.sections[results.archive] = SectionsInfo.__info(sections_info_file.name, sections_info_file.read())
|
archive = os.path.basename(results.archive_path)
|
||||||
|
self.sections[archive] = SectionsInfo.__info(sections_info_file.name, sections_info_file.read())
|
||||||
|
|
||||||
def _get_infos_from_file(self, info):
|
def _get_infos_from_file(self, info):
|
||||||
# Object file line: '{object}: file format elf32-xtensa-le'
|
# Object file line: '{object}: file format elf32-xtensa-le'
|
||||||
|
|
Loading…
Reference in a new issue