From 24a713b3c4270c99f58f008e65230b4e73679242 Mon Sep 17 00:00:00 2001 From: Renz Christian Bagaporo Date: Fri, 15 Mar 2019 18:31:30 +0800 Subject: [PATCH] ldgen: fix library path parsing in windows Closes https://github.com/espressif/esp-idf/issues/3173 --- tools/ldgen/generation.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/ldgen/generation.py b/tools/ldgen/generation.py index cf45292e5..d42a4284e 100644 --- a/tools/ldgen/generation.py +++ b/tools/ldgen/generation.py @@ -20,7 +20,8 @@ import os import fnmatch from fragments import Sections, Scheme, Mapping, Fragment -from pyparsing import Suppress, White, ParseException, Literal, Regex, Group, ZeroOrMore, Word, OneOrMore, nums, alphanums, alphas, Optional +from pyparsing import Suppress, White, ParseException, Literal, Group, ZeroOrMore +from pyparsing import Word, OneOrMore, nums, alphanums, alphas, Optional, LineEnd, printables from common import LdGenFailure @@ -591,7 +592,10 @@ class SectionsInfo(dict): def add_sections_info(self, sections_info_file): first_line = sections_info_file.readline() - archive_path = Literal("In archive").suppress() + Regex(r"[^:]+").setResultsName("archive_path") + Literal(":").suppress() + archive_path = (Literal("In archive").suppress() + + # trim the last character from archive_path, : + Word(printables + " ").setResultsName("archive_path").setParseAction(lambda t: t[0][:-1]) + + LineEnd()) parser = archive_path results = None