ldgen: parenthesis for KEEP

This commit is contained in:
Renz Bagaporo
2021-03-02 17:37:31 +08:00
parent 69906ed5f2
commit acd2385d0e
3 changed files with 23 additions and 23 deletions

View File

@@ -344,7 +344,7 @@ class Mapping(Fragment):
@staticmethod @staticmethod
def get_grammar(): def get_grammar():
grammar = Keyword('KEEP').setParseAction(Mapping.Keep) grammar = Keyword('KEEP()').setParseAction(Mapping.Keep)
return grammar return grammar
def __eq__(self, other): def __eq__(self, other):

View File

@@ -818,8 +818,8 @@ entries:
archive: libmain.a archive: libmain.a
entries: entries:
obj1 (default); obj1 (default);
text->flash_text KEEP, text->flash_text KEEP(),
rodata->flash_rodata KEEP KEEP rodata->flash_rodata KEEP() KEEP()
""") """)
fragment_file = FragmentFile(test_fragment, self.sdkconfig) fragment_file = FragmentFile(test_fragment, self.sdkconfig)
@@ -930,8 +930,8 @@ entries:
archive: libmain.a archive: libmain.a
entries: entries:
obj1 (default); obj1 (default);
text->flash_text ALIGN(4) KEEP SURROUND(sym1) ALIGN(8) SORT(name), text->flash_text ALIGN(4) KEEP() SURROUND(sym1) ALIGN(8) SORT(name),
rodata->flash_rodata KEEP ALIGN(4) KEEP SURROUND(sym1) ALIGN(8) ALIGN(4) SORT(name) rodata->flash_rodata KEEP() ALIGN(4) KEEP() SURROUND(sym1) ALIGN(8) ALIGN(4) SORT(name)
""") """)
fragment_file = FragmentFile(test_fragment, self.sdkconfig) fragment_file = FragmentFile(test_fragment, self.sdkconfig)
fragment = fragment_file.fragments[0] fragment = fragment_file.fragments[0]
@@ -960,8 +960,8 @@ entries:
archive: libmain.a archive: libmain.a
entries: entries:
obj1 (default); obj1 (default);
text->flash_text ALIGN(4) KEEP SURROUND(sym1) SORT(name), text->flash_text ALIGN(4) KEEP() SURROUND(sym1) SORT(name),
text->flash_text ALIGN(4) KEEP SURROUND(sym1) SORT(name) text->flash_text ALIGN(4) KEEP() SURROUND(sym1) SORT(name)
""") """)
fragment_file = FragmentFile(test_fragment, self.sdkconfig) fragment_file = FragmentFile(test_fragment, self.sdkconfig)
fragment = fragment_file.fragments[0] fragment = fragment_file.fragments[0]
@@ -987,9 +987,9 @@ entries:
archive: libmain.a archive: libmain.a
entries: entries:
obj1 (default); obj1 (default);
text->flash_text ALIGN(4) KEEP SURROUND(sym1) SORT(name) text->flash_text ALIGN(4) KEEP() SURROUND(sym1) SORT(name)
obj1 (default); obj1 (default);
text->flash_text ALIGN(4) KEEP SURROUND(sym1) SORT(name) text->flash_text ALIGN(4) KEEP() SURROUND(sym1) SORT(name)
""") """)
fragment_file = FragmentFile(test_fragment, self.sdkconfig) fragment_file = FragmentFile(test_fragment, self.sdkconfig)
fragment = fragment_file.fragments[0] fragment = fragment_file.fragments[0]

View File

@@ -1397,7 +1397,7 @@ class FlagTest(GenerationTest):
# with flags. # with flags.
def test_flags_basics(self): def test_flags_basics(self):
# Test that input section commands additions are done (KEEP, SORT). # Test that input section commands additions are done (KEEP SORT).
# Test that order dependent commands are properly generated (ALIGN, SURROUND) # Test that order dependent commands are properly generated (ALIGN, SURROUND)
# Normally, if an entry has the same mapping as parent, commands. # Normally, if an entry has the same mapping as parent, commands.
# are not emitted for them. However, if there are flags, they should be - # are not emitted for them. However, if there are flags, they should be -
@@ -1430,7 +1430,7 @@ entries:
croutine (noflash_text); croutine (noflash_text);
text->iram0_text ALIGN(4, pre, post) SURROUND(sym1) #1 text->iram0_text ALIGN(4, pre, post) SURROUND(sym1) #1
timers (default); timers (default);
text->flash_text KEEP SORT(name) #2 text->flash_text KEEP() SORT(name) #2
timers (default); timers (default);
rodata->flash_rodata SURROUND(sym2) ALIGN(4, pre, post) #3 rodata->flash_rodata SURROUND(sym2) ALIGN(4, pre, post) #3
""" """
@@ -1489,7 +1489,7 @@ archive: *
entries: entries:
# 1 # 1
* (default); * (default);
text->flash_text SURROUND(sym1) KEEP #2 text->flash_text SURROUND(sym1) KEEP() #2
[mapping:test] [mapping:test]
archive: libfreertos.a archive: libfreertos.a
@@ -1509,7 +1509,7 @@ entries:
# Command for #2, pre A.1 # Command for #2, pre A.1
flash_text.insert(0, SymbolAtAddress('_sym1_start')) flash_text.insert(0, SymbolAtAddress('_sym1_start'))
# Command for #1 with KEEP B # Command for #1 with KEEP() B
# and exclusion for #3 # and exclusion for #3
flash_text[1].keep = True flash_text[1].keep = True
flash_text[1].exclusions.add(CROUTINE) flash_text[1].exclusions.add(CROUTINE)
@@ -1551,7 +1551,7 @@ archive: libfreertos.a
entries: entries:
# 1 # 1
* (default); * (default);
text->flash_text SURROUND(sym1) KEEP #2 text->flash_text SURROUND(sym1) KEEP() #2
croutine:prvCheckPendingReadyList (noflash_text) #3 croutine:prvCheckPendingReadyList (noflash_text) #3
""" """
@@ -1567,7 +1567,7 @@ entries:
flash_text.append(SymbolAtAddress('_sym1_start')) flash_text.append(SymbolAtAddress('_sym1_start'))
flash_text[0].exclusions.add(FREERTOS) flash_text[0].exclusions.add(FREERTOS)
# Command for #1 with KEEP B # Command for #1 with KEEP() B
# and exclusion for #3 # and exclusion for #3
flash_text.append(InputSectionDesc(FREERTOS, flash_text[0].sections, [CROUTINE], keep=True)) flash_text.append(InputSectionDesc(FREERTOS, flash_text[0].sections, [CROUTINE], keep=True))
@@ -1607,7 +1607,7 @@ archive: libfreertos.a
entries: entries:
# 1 # 1
croutine (default); croutine (default);
text->flash_text SURROUND(sym1) KEEP #2 text->flash_text SURROUND(sym1) KEEP() #2
croutine:prvCheckPendingReadyList (noflash_text) #3 croutine:prvCheckPendingReadyList (noflash_text) #3
""" """
@@ -1658,7 +1658,7 @@ archive: *
entries: entries:
# 1 # 1
* (default); * (default);
text->flash_text SURROUND(sym1) KEEP #2 text->flash_text SURROUND(sym1) KEEP() #2
[mapping:test] [mapping:test]
archive: libfreertos.a archive: libfreertos.a
@@ -1679,7 +1679,7 @@ entries:
# Command for #2, pre A.1 # Command for #2, pre A.1
flash_text.insert(0, SymbolAtAddress('_sym1_start')) flash_text.insert(0, SymbolAtAddress('_sym1_start'))
# Command for #1 with KEEP B # Command for #1 with KEEP() B
# and exclusion for #3 # and exclusion for #3
flash_text[1].keep = True flash_text[1].keep = True
flash_text[1].exclusions.add(CROUTINE) flash_text[1].exclusions.add(CROUTINE)
@@ -1720,7 +1720,7 @@ archive: libfreertos.a
entries: entries:
# 1 # 1
* (default); * (default);
text->flash_text SURROUND(sym1) KEEP text->flash_text SURROUND(sym1) KEEP()
croutine (default) #2 croutine (default) #2
croutine:prvCheckPendingReadyList (noflash_text) #3 croutine:prvCheckPendingReadyList (noflash_text) #3
""" """
@@ -1737,7 +1737,7 @@ entries:
flash_text.append(SymbolAtAddress('_sym1_start')) flash_text.append(SymbolAtAddress('_sym1_start'))
flash_text[0].exclusions.add(FREERTOS) flash_text[0].exclusions.add(FREERTOS)
# Command for #1 with KEEP B # Command for #1 with KEEP() B
# and exclusion for #3 # and exclusion for #3
flash_text.append(InputSectionDesc(FREERTOS, flash_text[0].sections, [CROUTINE], keep=True)) flash_text.append(InputSectionDesc(FREERTOS, flash_text[0].sections, [CROUTINE], keep=True))
@@ -1766,7 +1766,7 @@ entries:
archive: * archive: *
entries: entries:
* (default); * (default);
text->flash_text KEEP text->flash_text KEEP()
""" """
self.add_fragments(mapping) self.add_fragments(mapping)
@@ -1787,13 +1787,13 @@ entries:
archive: * archive: *
entries: entries:
* (default); * (default);
text->flash_text KEEP text->flash_text KEEP()
[mapping:default_add_flag_2] [mapping:default_add_flag_2]
archive: * archive: *
entries: entries:
* (default); * (default);
text->flash_text KEEP text->flash_text KEEP()
""" """
self.add_fragments(mapping) self.add_fragments(mapping)