CML2 suppress bug caused number of containers to be misconfigured.

Now worked around.

CML2 seems to forget supressing derived symbols that are derived from
suppressed symbols. (Expected behaviour) This caused the configuration parser
to recognize the illegally visible symbols to be from those containers.

Now worked around by adding the extra check for CONFIG_CONTAINERS have been parsed.

A real solution requires fixing CML2 symbol visibility function.
This commit is contained in:
Bahadir Balban
2009-10-05 22:33:29 +03:00
parent 999cddd2c8
commit 8919c4bfa5
2 changed files with 11 additions and 0 deletions

View File

@@ -43,6 +43,7 @@ class configuration:
self.platform = None
self.all = []
self.containers = []
self.ncontainers = 0
# Get all name value symbols
def get_all(self, name, val):
@@ -157,6 +158,14 @@ class configuration:
if id == cont.id:
return
# If symbol to describe number of containers
# Has already been visited, use that number
# as an extra checking.
if self.ncontainers > 0:
# Sometimes unwanted symbols slip through
if id >= int(self.ncontainers):
return
container = Container(id)
self.containers.append(container)

View File

@@ -196,6 +196,8 @@ def generate_kernel_cinfo(config, cinfo_path):
containers.sort()
print "Generating kernel cinfo..."
#config.config_print()
pager_ifdefs = generate_pager_memory_ifdefs(containers)
with open(cinfo_path, 'w+') as cinfo_file: