Index: contrib/arch/hadlbppp.py
===================================================================
--- contrib/arch/hadlbppp.py	(revision 3061bc129a855122d429fbba1e623a521aaa164c)
+++ contrib/arch/hadlbppp.py	(revision a35b458e9db1ca95e679799dc7c1b12c83359ca3)
@@ -41,5 +41,5 @@
 def usage(prname):
 	"Print usage syntax"
-	
+
 	print("%s <--bp|--ebp|--adl|--dot|--nop>+ <OUTPUT>" % prname)
 	print()
@@ -53,29 +53,29 @@
 def tabs(cnt):
 	"Return given number of tabs"
-	
+
 	return ("\t" * cnt)
 
 def cond_append(tokens, token, trim):
 	"Conditionally append token to tokens with trim"
-	
+
 	if (trim):
 		token = token.strip(" \t")
-	
+
 	if (token != ""):
 		tokens.append(token)
-	
+
 	return tokens
 
 def split_tokens(string, delimiters, trim = False, separate = False):
 	"Split string to tokens by delimiters, keep the delimiters"
-	
+
 	tokens = []
 	last = 0
 	i = 0
-	
+
 	while (i < len(string)):
 		for delim in delimiters:
 			if (len(delim) > 0):
-				
+
 				if (string[i:(i + len(delim))] == delim):
 					if (separate):
@@ -86,20 +86,20 @@
 						tokens = cond_append(tokens, string[last:i], trim)
 						last = i
-					
+
 					i += len(delim) - 1
 					break
-		
+
 		i += 1
-	
+
 	tokens = cond_append(tokens, string[last:len(string)], trim)
-	
+
 	return tokens
 
 def identifier(token):
 	"Check whether the token is an identifier"
-	
+
 	if (len(token) == 0):
 		return False
-	
+
 	for i, char in enumerate(token):
 		if (i == 0):
@@ -109,34 +109,34 @@
 			if ((not char.isalnum()) and (char != "_")):
 				return False
-	
+
 	return True
 
 def descriptor(token):
 	"Check whether the token is an interface descriptor"
-	
+
 	parts = token.split(":")
 	if (len(parts) != 2):
 		return False
-	
+
 	return (identifier(parts[0]) and identifier(parts[1]))
 
 def word(token):
 	"Check whether the token is a word"
-	
+
 	if (len(token) == 0):
 		return False
-	
+
 	for i, char in enumerate(token):
 		if ((not char.isalnum()) and (char != "_") and (char != ".")):
 			return False
-	
+
 	return True
 
 def tentative_bp(name, tokens):
 	"Preprocess tentative statements in Behavior Protocol"
-	
+
 	result = []
 	i = 0
-	
+
 	while (i < len(tokens)):
 		if (tokens[i] == "tentative"):
@@ -145,5 +145,5 @@
 				start = i
 				level = 1
-				
+
 				while ((i < len(tokens)) and (level > 0)):
 					if (tokens[i] == "{"):
@@ -151,7 +151,7 @@
 					elif (tokens[i] == "}"):
 						level -= 1
-					
+
 					i += 1
-				
+
 				if (level == 0):
 					result.append("(")
@@ -168,15 +168,15 @@
 		else:
 			result.append(tokens[i])
-		
+
 		i += 1
-	
+
 	return result
 
 def alternative_bp(name, tokens):
 	"Preprocess alternative statements in Behavior Protocol"
-	
+
 	result = []
 	i = 0
-	
+
 	while (i < len(tokens)):
 		if (tokens[i] == "alternative"):
@@ -184,5 +184,5 @@
 				i += 2
 				reps = []
-				
+
 				while ((i < len(tokens)) and (tokens[i] != ")")):
 					reps.append(tokens[i])
@@ -191,12 +191,12 @@
 					else:
 						i += 1
-				
+
 				if (len(reps) >= 2):
 					if ((i + 1 < len(tokens)) and (tokens[i + 1] == "{")):
 						i += 2
-						
+
 						start = i
 						level = 1
-						
+
 						while ((i < len(tokens)) and (level > 0)):
 							if (tokens[i] == "{"):
@@ -204,10 +204,10 @@
 							elif (tokens[i] == "}"):
 								level -= 1
-							
+
 							i += 1
-						
+
 						if (level == 0):
 							first = True
-							
+
 							for rep in reps[1:]:
 								retokens = []
@@ -218,14 +218,14 @@
 									else:
 										retokens.append(token)
-								
+
 								if (first):
 									first = False
 								else:
 									result.append("+")
-								
+
 								result.append("(")
 								result.extend(alternative_bp(name, retokens))
 								result.append(")")
-							
+
 							if (i < len(tokens)):
 								result.append(tokens[i])
@@ -240,28 +240,28 @@
 		else:
 			result.append(tokens[i])
-		
+
 		i += 1
-	
+
 	return result
 
 def split_bp(protocol):
 	"Convert Behavior Protocol to tokens"
-	
+
 	return split_tokens(protocol, ["\n", " ", "\t", "(", ")", "{", "}", "*", ";", "+", "||", "|", "!", "?"], True, True)
 
 def extend_bp(name, tokens, iface):
 	"Convert interface Behavior Protocol to generic protocol"
-	
+
 	result = []
 	i = 0
-	
+
 	while (i < len(tokens)):
 		result.append(tokens[i])
-		
+
 		if (tokens[i] == "?"):
 			if (i + 1 < len(tokens)):
 				i += 1
 				parts = tokens[i].split(".")
-				
+
 				if (len(parts) == 1):
 					result.append("%s.%s" % (iface, tokens[i]))
@@ -270,17 +270,17 @@
 			else:
 				print("%s: Unexpected end of protocol" % name)
-		
+
 		i += 1
-	
+
 	return result
 
 def merge_bp(initialization, finalization, protocols):
 	"Merge several Behavior Protocols"
-	
+
 	indep = []
-	
+
 	if (len(protocols) > 1):
 		first = True
-		
+
 		for protocol in protocols:
 			if (first):
@@ -288,5 +288,5 @@
 			else:
 				indep.append("|")
-			
+
 			indep.append("(")
 			indep.extend(protocol)
@@ -294,7 +294,7 @@
 	elif (len(protocols) == 1):
 		indep = protocols[0]
-	
+
 	inited = []
-	
+
 	if (initialization != None):
 		if (len(indep) > 0):
@@ -310,7 +310,7 @@
 	else:
 		inited = indep
-	
+
 	finited = []
-	
+
 	if (finalization != None):
 		if (len(inited) > 0):
@@ -326,20 +326,20 @@
 	else:
 		finited = inited
-	
+
 	return finited
 
 def parse_bp(name, tokens, base_indent):
 	"Parse Behavior Protocol"
-	
+
 	tokens = tentative_bp(name, tokens)
 	tokens = alternative_bp(name, tokens)
-	
+
 	indent = base_indent
 	output = ""
-	
+
 	for token in tokens:
 		if (token == "\n"):
 			continue
-		
+
 		if ((token == ";") or (token == "+") or (token == "||") or (token == "|")):
 			output += " %s" % token
@@ -350,5 +350,5 @@
 			if (indent < base_indent):
 				print("%s: Too many parentheses" % name)
-			
+
 			indent -= 1
 			output += "\n%s%s" % (tabs(indent), token)
@@ -359,5 +359,5 @@
 			if (indent < base_indent):
 				print("%s: Too many parentheses" % name)
-			
+
 			indent -= 1
 			output += "\n%s%s" % (tabs(indent), token)
@@ -368,34 +368,34 @@
 		else:
 			output += "%s" % token
-	
+
 	if (indent > base_indent):
 		print("%s: Missing parentheses" % name)
-	
+
 	output = output.strip()
 	if (output == ""):
 		return "NULL"
-	
+
 	return output
 
 def parse_ebp(component, name, tokens, base_indent):
 	"Parse Behavior Protocol and generate Extended Behavior Protocol output"
-	
+
 	return "component %s {\n\tbehavior {\n\t\t%s\n\t}\n}" % (component, parse_bp(name, tokens, base_indent + 2))
 
 def get_iface(name):
 	"Get interface by name"
-	
+
 	global iface_properties
-	
+
 	if (name in iface_properties):
 		return iface_properties[name]
-	
+
 	return None
 
 def inherited_protocols(iface):
 	"Get protocols inherited by an interface"
-	
+
 	result = []
-	
+
 	if ('extends' in iface):
 		supiface = get_iface(iface['extends'])
@@ -406,37 +406,37 @@
 		else:
 			print("%s: Extends unknown interface '%s'" % (iface['name'], iface['extends']))
-	
+
 	return result
 
 def dump_frame(directed_binds, frame, outdir, var, archf):
 	"Dump Behavior Protocol of a given frame"
-	
+
 	global opt_bp
 	global opt_ebp
-	
+
 	if (opt_ebp):
 		fname = "%s.ebp" % frame['name']
 	else:
 		fname = "%s.bp" % frame['name']
-	
+
 	if (archf != None):
 		archf.write("instantiate %s from \"%s\"\n" % (var, fname))
-	
+
 	outname = os.path.join(outdir, fname)
-	
+
 	protocols = []
 	if ('protocol' in frame):
 		protocols.append(frame['protocol'])
-	
+
 	if ('initialization' in frame):
 		initialization = frame['initialization']
 	else:
 		initialization = None
-	
+
 	if ('finalization' in frame):
 		finalization = frame['finalization']
 	else:
 		finalization = None
-	
+
 	if ('provides' in frame):
 		for provides in frame['provides']:
@@ -448,10 +448,10 @@
 				else:
 					cnt = 1
-				
+
 				if ('protocol' in iface):
 					proto = extend_bp(outname, iface['protocol'], iface['name'])
 					for _ in range(0, cnt):
 						protocols.append(proto)
-				
+
 				for protocol in inherited_protocols(iface):
 					proto = extend_bp(outname, protocol, iface['name'])
@@ -460,10 +460,10 @@
 			else:
 				print("%s: Provided interface '%s' is undefined" % (frame['name'], provides['iface']))
-	
+
 	if (opt_bp):
 		outf = open(outname, "w")
 		outf.write(parse_bp(outname, merge_bp(initialization, finalization, protocols), 0))
 		outf.close()
-	
+
 	if (opt_ebp):
 		outf = open(outname, "w")
@@ -473,49 +473,49 @@
 def get_system_arch():
 	"Get system architecture"
-	
+
 	global arch_properties
-	
+
 	for arch, properties in arch_properties.items():
 		if ('system' in properties):
 			return properties
-	
+
 	return None
 
 def get_arch(name):
 	"Get architecture by name"
-	
+
 	global arch_properties
-	
+
 	if (name in arch_properties):
 		return arch_properties[name]
-	
+
 	return None
 
 def get_frame(name):
 	"Get frame by name"
-	
+
 	global frame_properties
-	
+
 	if (name in frame_properties):
 		return frame_properties[name]
-	
+
 	return None
 
 def create_null_bp(fname, outdir, archf):
 	"Create null frame protocol"
-	
+
 	global opt_bp
 	global opt_ebp
-	
+
 	if (archf != None):
 		archf.write("frame \"%s\"\n" % fname)
-	
+
 	outname = os.path.join(outdir, fname)
-	
+
 	if (opt_bp):
 		outf = open(outname, "w")
 		outf.write("NULL")
 		outf.close()
-	
+
 	if (opt_ebp):
 		outf = open(outname, "w")
@@ -525,26 +525,26 @@
 def flatten_binds(binds, delegates, subsumes):
 	"Remove bindings which are replaced by delegation or subsumption"
-	
+
 	result = []
 	stable = True
-	
+
 	for bind in binds:
 		keep = True
-		
+
 		for delegate in delegates:
 			if (bind['to'] == delegate['to']):
 				keep = False
 				result.append({'from': bind['from'], 'to': delegate['rep']})
-		
+
 		for subsume in subsumes:
 			if (bind['from'] == subsume['from']):
 				keep = False
 				result.append({'from': subsume['rep'], 'to': bind['to']})
-		
+
 		if (keep):
 			result.append(bind)
 		else:
 			stable = False
-	
+
 	if (stable):
 		return result
@@ -554,23 +554,23 @@
 def direct_binds(binds):
 	"Convert bindings matrix to set of sources by destination"
-	
+
 	result = {}
-	
+
 	for bind in binds:
 		if (not bind['to'] in result):
 			result[bind['to']] = set()
-		
+
 		result[bind['to']].add(bind['from'])
-	
+
 	return result
 
 def merge_arch(prefix, arch, outdir):
 	"Merge subarchitecture into architecture"
-	
+
 	insts = []
 	binds = []
 	delegates = []
 	subsumes = []
-	
+
 	if ('inst' in arch):
 		for inst in arch['inst']:
@@ -588,36 +588,36 @@
 				else:
 					print("%s: '%s' is neither an architecture nor a frame" % (arch['name'], inst['type']))
-	
+
 	if ('bind' in arch):
 		for bind in arch['bind']:
 			binds.append({'from': "%s_%s.%s" % (prefix, bind['from'][0], bind['from'][1]), 'to': "%s_%s.%s" % (prefix, bind['to'][0], bind['to'][1])})
-	
+
 	if ('delegate' in arch):
 		for delegate in arch['delegate']:
 			delegates.append({'to': "%s.%s" % (prefix, delegate['from']), 'rep': "%s_%s.%s" % (prefix, delegate['to'][0], delegate['to'][1])})
-	
+
 	if ('subsume' in arch):
 		for subsume in arch['subsume']:
 			subsumes.append({'from': "%s.%s" % (prefix, subsume['to']), 'rep': "%s_%s.%s" % (prefix, subsume['from'][0], subsume['from'][1])})
-	
+
 	return (insts, binds, delegates, subsumes)
 
 def dump_archbp(outdir):
 	"Dump system architecture Behavior Protocol"
-	
+
 	global opt_bp
 	global opt_ebp
-	
+
 	arch = get_system_arch()
-	
+
 	if (arch is None):
 		print("Unable to find system architecture")
 		return
-	
+
 	insts = []
 	binds = []
 	delegates = []
 	subsumes = []
-	
+
 	if ('inst' in arch):
 		for inst in arch['inst']:
@@ -635,21 +635,21 @@
 				else:
 					print("%s: '%s' is neither an architecture nor a frame" % (arch['name'], inst['type']))
-	
+
 	if ('bind' in arch):
 		for bind in arch['bind']:
 			binds.append({'from': "%s.%s" % (bind['from'][0], bind['from'][1]), 'to': "%s.%s" % (bind['to'][0], bind['to'][1])})
-	
+
 	if ('delegate' in arch):
 		for delegate in arch['delegate']:
 			print("Unable to delegate interface in system architecture")
 			break
-	
+
 	if ('subsume' in arch):
 		for subsume in arch['subsume']:
 			print("Unable to subsume interface in system architecture")
 			break
-	
+
 	directed_binds = direct_binds(flatten_binds(binds, delegates, subsumes))
-	
+
 	outname = os.path.join(outdir, "%s.archbp" % arch['name'])
 	if ((opt_bp) or (opt_ebp)):
@@ -657,14 +657,14 @@
 	else:
 		outf = None
-	
+
 	create_null_bp("null.bp", outdir, outf)
-	
+
 	for inst in insts:
 		dump_frame(directed_binds, inst['frame'], outdir, inst['var'], outf)
-	
+
 	for dst, src in directed_binds.items():
 		if (outf != None):
 			outf.write("bind %s to %s\n" % (", ".join(src), dst))
-	
+
 	if (outf != None):
 		outf.close()
@@ -672,10 +672,10 @@
 def preproc_adl(raw, inarg):
 	"Preprocess %% statements in ADL"
-	
+
 	return raw.replace("%%", inarg)
 
 def parse_adl(base, root, inname, nested, indent):
 	"Parse Architecture Description Language"
-	
+
 	global output
 	global context
@@ -686,19 +686,19 @@
 	global initialization
 	global finalization
-	
+
 	global iface_properties
 	global frame_properties
 	global arch_properties
-	
+
 	global arg0
-	
+
 	if (nested):
 		parts = inname.split("%")
-		
+
 		if (len(parts) > 1):
 			inarg = parts[1]
 		else:
 			inarg = "%%"
-		
+
 		if (parts[0][0:1] == "/"):
 			path = os.path.join(base, ".%s" % parts[0])
@@ -707,5 +707,5 @@
 			path = os.path.join(root, parts[0])
 			nested_root = root
-		
+
 		if (not os.path.isfile(path)):
 			print("%s: Unable to include file %s" % (inname, path))
@@ -715,14 +715,14 @@
 		path = inname
 		nested_root = root
-	
+
 	inf = open(path, "r")
-	
+
 	raw = preproc_adl(inf.read(), inarg)
 	tokens = split_tokens(raw, ["\n", " ", "\t", "(", ")", "{", "}", "[", "]", "/*", "*/", "#", ";"], True, True)
-	
+
 	for token in tokens:
-		
+
 		# Includes
-		
+
 		if (INC in context):
 			context.remove(INC)
@@ -730,45 +730,45 @@
 			context.add(POST_INC)
 			continue
-		
+
 		if (POST_INC in context):
 			if (token != "]"):
 				print("%s: Expected ]" % inname)
-			
+
 			context.remove(POST_INC)
 			continue
-		
+
 		# Comments and newlines
-		
+
 		if (BLOCK_COMMENT in context):
 			if (token == "*/"):
 				context.remove(BLOCK_COMMENT)
-			
+
 			continue
-		
+
 		if (LINE_COMMENT in context):
 			if (token == "\n"):
 				context.remove(LINE_COMMENT)
-			
+
 			continue
-		
+
 		# Any context
-		
+
 		if (token == "/*"):
 			context.add(BLOCK_COMMENT)
 			continue
-		
+
 		if (token == "#"):
 			context.add(LINE_COMMENT)
 			continue
-		
+
 		if (token == "["):
 			context.add(INC)
 			continue
-		
+
 		if (token == "\n"):
 			continue
-		
+
 		# "frame"
-		
+
 		if (FRAME in context):
 			if (NULL in context):
@@ -777,10 +777,10 @@
 				else:
 					output += "%s\n" % token
-				
+
 				context.remove(NULL)
 				context.remove(FRAME)
 				frame = None
 				continue
-			
+
 			if (BODY in context):
 				if (FINALIZATION in context):
@@ -789,20 +789,20 @@
 					elif (token == "}"):
 						indent -= 1
-					
+
 					if (((token[-1] == ":") and (indent == 0)) or (indent == -1)):
 						bp = split_bp(finalization)
 						finalization = None
-						
+
 						if (not frame in frame_properties):
 							frame_properties[frame] = {}
-						
+
 						if ('finalization' in frame_properties[frame]):
 							print("%s: Finalization protocol for frame '%s' already defined" % (inname, frame))
 						else:
 							frame_properties[frame]['finalization'] = bp
-						
+
 						output += "\n%s" % tabs(2)
 						output += parse_bp(inname, bp, 2)
-						
+
 						context.remove(FINALIZATION)
 						if (indent == -1):
@@ -817,5 +817,5 @@
 						finalization += token
 						continue
-				
+
 				if (INITIALIZATION in context):
 					if (token == "{"):
@@ -823,20 +823,20 @@
 					elif (token == "}"):
 						indent -= 1
-					
+
 					if (((token[-1] == ":") and (indent == 0)) or (indent == -1)):
 						bp = split_bp(initialization)
 						initialization = None
-						
+
 						if (not frame in frame_properties):
 							frame_properties[frame] = {}
-						
+
 						if ('initialization' in frame_properties[frame]):
 							print("%s: Initialization protocol for frame '%s' already defined" % (inname, frame))
 						else:
 							frame_properties[frame]['initialization'] = bp
-						
+
 						output += "\n%s" % tabs(2)
 						output += parse_bp(inname, bp, 2)
-						
+
 						context.remove(INITIALIZATION)
 						if (indent == -1):
@@ -851,5 +851,5 @@
 						initialization += token
 						continue
-				
+
 				if (PROTOCOL in context):
 					if (token == "{"):
@@ -857,20 +857,20 @@
 					elif (token == "}"):
 						indent -= 1
-					
+
 					if (((token[-1] == ":") and (indent == 0)) or (indent == -1)):
 						bp = split_bp(protocol)
 						protocol = None
-						
+
 						if (not frame in frame_properties):
 							frame_properties[frame] = {}
-						
+
 						if ('protocol' in frame_properties[frame]):
 							print("%s: Protocol for frame '%s' already defined" % (inname, frame))
 						else:
 							frame_properties[frame]['protocol'] = bp
-						
+
 						output += "\n%s" % tabs(2)
 						output += parse_bp(inname, bp, 2)
-						
+
 						context.remove(PROTOCOL)
 						if (indent == -1):
@@ -885,5 +885,5 @@
 						protocol += token
 						continue
-				
+
 				if (REQUIRES in context):
 					if (FIN in context):
@@ -892,8 +892,8 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(FIN)
 						continue
-					
+
 					if (VAR in context):
 						if (not identifier(token)):
@@ -902,17 +902,17 @@
 							if (not frame in frame_properties):
 								frame_properties[frame] = {}
-							
+
 							if (not 'requires' in frame_properties[frame]):
 								frame_properties[frame]['requires'] = []
-							
+
 							frame_properties[frame]['requires'].append({'iface': arg0, 'var': token})
 							arg0 = None
-							
+
 							output += "%s" % token
-						
+
 						context.remove(VAR)
 						context.add(FIN)
 						continue
-					
+
 					if ((token == "}") or (token[-1] == ":")):
 						context.remove(REQUIRES)
@@ -923,8 +923,8 @@
 							arg0 = token
 							output += "\n%s%s " % (tabs(indent), token)
-						
+
 						context.add(VAR)
 						continue
-				
+
 				if (PROVIDES in context):
 					if (FIN in context):
@@ -933,8 +933,8 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(FIN)
 						continue
-					
+
 					if (VAR in context):
 						if (not identifier(token)):
@@ -943,17 +943,17 @@
 							if (not frame in frame_properties):
 								frame_properties[frame] = {}
-							
+
 							if (not 'provides' in frame_properties[frame]):
 								frame_properties[frame]['provides'] = []
-							
+
 							frame_properties[frame]['provides'].append({'iface': arg0, 'var': token})
 							arg0 = None
-							
+
 							output += "%s" % token
-						
+
 						context.remove(VAR)
 						context.add(FIN)
 						continue
-					
+
 					if ((token == "}") or (token[-1] == ":")):
 						context.remove(PROVIDES)
@@ -964,8 +964,8 @@
 							arg0 = token
 							output += "\n%s%s " % (tabs(indent), token)
-						
+
 						context.add(VAR)
 						continue
-				
+
 				if (token == "}"):
 					if (indent != 2):
@@ -974,19 +974,19 @@
 						indent = 0
 						output += "\n%s" % token
-					
+
 					context.remove(BODY)
 					context.add(NULL)
 					continue
-				
+
 				if (token == "provides:"):
 					output += "\n%s%s" % (tabs(indent - 1), token)
 					context.add(PROVIDES)
 					continue
-				
+
 				if (token == "requires:"):
 					output += "\n%s%s" % (tabs(indent - 1), token)
 					context.add(REQUIRES)
 					continue
-				
+
 				if (token == "initialization:"):
 					output += "\n%s%s" % (tabs(indent - 1), token)
@@ -995,5 +995,5 @@
 					initialization = ""
 					continue
-				
+
 				if (token == "finalization:"):
 					output += "\n%s%s" % (tabs(indent - 1), token)
@@ -1002,5 +1002,5 @@
 					finalization = ""
 					continue
-				
+
 				if (token == "protocol:"):
 					output += "\n%s%s" % (tabs(indent - 1), token)
@@ -1009,8 +1009,8 @@
 					protocol = ""
 					continue
-				
+
 				print("%s: Unknown token '%s' in frame '%s'" % (inname, token, frame))
 				continue
-			
+
 			if (HEAD in context):
 				if (token == "{"):
@@ -1020,5 +1020,5 @@
 					context.add(BODY)
 					continue
-				
+
 				if (token == ";"):
 					output += "%s\n" % token
@@ -1026,9 +1026,9 @@
 					context.remove(FRAME)
 					continue
-				
+
 				print("%s: Unknown token '%s' in frame head '%s'" % (inname, token, frame))
-				
+
 				continue
-			
+
 			if (not identifier(token)):
 				print("%s: Expected frame name" % inname)
@@ -1036,15 +1036,15 @@
 				frame = token
 				output += "%s " % token
-				
+
 				if (not frame in frame_properties):
 					frame_properties[frame] = {}
-				
+
 				frame_properties[frame]['name'] = frame
-			
+
 			context.add(HEAD)
 			continue
-		
+
 		# "interface"
-		
+
 		if (IFACE in context):
 			if (NULL in context):
@@ -1053,10 +1053,10 @@
 				else:
 					output += "%s\n" % token
-				
+
 				context.remove(NULL)
 				context.remove(IFACE)
 				interface = None
 				continue
-			
+
 			if (BODY in context):
 				if (PROTOCOL in context):
@@ -1065,22 +1065,22 @@
 					elif (token == "}"):
 						indent -= 1
-					
+
 					if (indent == -1):
 						bp = split_bp(protocol)
 						protocol = None
-						
+
 						if (not interface in iface_properties):
 							iface_properties[interface] = {}
-						
+
 						if ('protocol' in iface_properties[interface]):
 							print("%s: Protocol for interface '%s' already defined" % (inname, interface))
 						else:
 							iface_properties[interface]['protocol'] = bp
-						
+
 						output += "\n%s" % tabs(2)
 						output += parse_bp(inname, bp, 2)
 						output += "\n%s" % token
 						indent = 0
-						
+
 						context.remove(PROTOCOL)
 						context.remove(BODY)
@@ -1088,7 +1088,7 @@
 					else:
 						protocol += token
-					
-					continue
-				
+
+					continue
+
 				if (PROTOTYPE in context):
 					if (FIN in context):
@@ -1097,9 +1097,9 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(FIN)
 						context.remove(PROTOTYPE)
 						continue
-					
+
 					if (PAR_RIGHT in context):
 						if (token == ")"):
@@ -1109,7 +1109,7 @@
 						else:
 							output += " %s" % token
-						
-						continue
-					
+
+						continue
+
 					if (SIGNATURE in context):
 						output += "%s" % token
@@ -1117,9 +1117,9 @@
 							context.remove(SIGNATURE)
 							context.add(FIN)
-						
+
 						context.remove(SIGNATURE)
 						context.add(PAR_RIGHT)
 						continue
-					
+
 					if (PAR_LEFT in context):
 						if (token != "("):
@@ -1127,17 +1127,17 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(PAR_LEFT)
 						context.add(SIGNATURE)
 						continue
-					
+
 					if (not identifier(token)):
 						print("%s: Method identifier expected in interface '%s'" % (inname, interface))
 					else:
 						output += "%s" % token
-					
+
 					context.add(PAR_LEFT)
 					continue
-				
+
 				if (token == "}"):
 					if (indent != 2):
@@ -1146,14 +1146,14 @@
 						indent = 0
 						output += "\n%s" % token
-					
+
 					context.remove(BODY)
 					context.add(NULL)
 					continue
-				
+
 				if (token == "sysarg_t"):
 					output += "\n%s%s " % (tabs(indent), token)
 					context.add(PROTOTYPE)
 					continue
-				
+
 				if (token == "protocol:"):
 					output += "\n%s%s" % (tabs(indent - 1), token)
@@ -1162,8 +1162,8 @@
 					protocol = ""
 					continue
-				
+
 				print("%s: Unknown token '%s' in interface '%s'" % (inname, token, interface))
 				continue
-			
+
 			if (HEAD in context):
 				if (PRE_BODY in context):
@@ -1175,5 +1175,5 @@
 						context.add(BODY)
 						continue
-					
+
 					if (token == ";"):
 						output += "%s\n" % token
@@ -1182,8 +1182,8 @@
 						context.remove(IFACE)
 						continue
-						
+
 					print("%s: Expected '{' or ';' in interface head '%s'" % (inname, interface))
 					continue
-				
+
 				if (EXTENDS in context):
 					if (not identifier(token)):
@@ -1193,16 +1193,16 @@
 						if (not interface in iface_properties):
 							iface_properties[interface] = {}
-						
+
 						iface_properties[interface]['extends'] = token
-					
+
 					context.remove(EXTENDS)
 					context.add(PRE_BODY)
 					continue
-				
+
 				if (token == "extends"):
 					output += "%s " % token
 					context.add(EXTENDS)
 					continue
-					
+
 				if (token == "{"):
 					output += "%s" % token
@@ -1211,5 +1211,5 @@
 					context.add(BODY)
 					continue
-				
+
 				if (token == ";"):
 					output += "%s\n" % token
@@ -1217,8 +1217,8 @@
 					context.remove(IFACE)
 					continue
-				
+
 				print("%s: Expected 'extends', '{' or ';' in interface head '%s'" % (inname, interface))
 				continue
-			
+
 			if (not identifier(token)):
 				print("%s: Expected interface name" % inname)
@@ -1226,15 +1226,15 @@
 				interface = token
 				output += "%s " % token
-				
+
 				if (not interface in iface_properties):
 					iface_properties[interface] = {}
-				
+
 				iface_properties[interface]['name'] = interface
-			
+
 			context.add(HEAD)
 			continue
-		
+
 		# "architecture"
-		
+
 		if (ARCH in context):
 			if (NULL in context):
@@ -1243,5 +1243,5 @@
 				else:
 					output += "%s\n" % token
-				
+
 				context.remove(NULL)
 				context.remove(ARCH)
@@ -1249,5 +1249,5 @@
 				architecture = None
 				continue
-			
+
 			if (BODY in context):
 				if (DELEGATE in context):
@@ -1257,9 +1257,9 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(FIN)
 						context.remove(DELEGATE)
 						continue
-					
+
 					if (VAR in context):
 						if (not descriptor(token)):
@@ -1268,17 +1268,17 @@
 							if (not architecture in arch_properties):
 								arch_properties[architecture] = {}
-							
+
 							if (not 'delegate' in arch_properties[architecture]):
 								arch_properties[architecture]['delegate'] = []
-							
+
 							arch_properties[architecture]['delegate'].append({'from': arg0, 'to': token.split(":")})
 							arg0 = None
-							
+
 							output += "%s" % token
-						
+
 						context.add(FIN)
 						context.remove(VAR)
 						continue
-					
+
 					if (TO in context):
 						if (token != "to"):
@@ -1286,9 +1286,9 @@
 						else:
 							output += "%s " % token
-						
+
 						context.add(VAR)
 						context.remove(TO)
 						continue
-					
+
 					if (not identifier(token)):
 						print("%s: Expected interface name in architecture '%s'" % (inname, architecture))
@@ -1296,8 +1296,8 @@
 						output += "%s " % token
 						arg0 = token
-					
+
 					context.add(TO)
 					continue
-				
+
 				if (SUBSUME in context):
 					if (FIN in context):
@@ -1306,9 +1306,9 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(FIN)
 						context.remove(SUBSUME)
 						continue
-					
+
 					if (VAR in context):
 						if (not identifier(token)):
@@ -1317,17 +1317,17 @@
 							if (not architecture in arch_properties):
 								arch_properties[architecture] = {}
-							
+
 							if (not 'subsume' in arch_properties[architecture]):
 								arch_properties[architecture]['subsume'] = []
-							
+
 							arch_properties[architecture]['subsume'].append({'from': arg0.split(":"), 'to': token})
 							arg0 = None
-							
+
 							output += "%s" % token
-						
+
 						context.add(FIN)
 						context.remove(VAR)
 						continue
-					
+
 					if (TO in context):
 						if (token != "to"):
@@ -1335,9 +1335,9 @@
 						else:
 							output += "%s " % token
-						
+
 						context.add(VAR)
 						context.remove(TO)
 						continue
-					
+
 					if (not descriptor(token)):
 						print("%s: Expected interface descriptor in architecture '%s'" % (inname, architecture))
@@ -1345,8 +1345,8 @@
 						output += "%s " % token
 						arg0 = token
-					
+
 					context.add(TO)
 					continue
-				
+
 				if (BIND in context):
 					if (FIN in context):
@@ -1355,9 +1355,9 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(FIN)
 						context.remove(BIND)
 						continue
-					
+
 					if (VAR in context):
 						if (not descriptor(token)):
@@ -1366,17 +1366,17 @@
 							if (not architecture in arch_properties):
 								arch_properties[architecture] = {}
-							
+
 							if (not 'bind' in arch_properties[architecture]):
 								arch_properties[architecture]['bind'] = []
-							
+
 							arch_properties[architecture]['bind'].append({'from': arg0.split(":"), 'to': token.split(":")})
 							arg0 = None
-							
+
 							output += "%s" % token
-						
+
 						context.add(FIN)
 						context.remove(VAR)
 						continue
-					
+
 					if (TO in context):
 						if (token != "to"):
@@ -1384,9 +1384,9 @@
 						else:
 							output += "%s " % token
-						
+
 						context.add(VAR)
 						context.remove(TO)
 						continue
-					
+
 					if (not descriptor(token)):
 						print("%s: Expected interface descriptor in architecture '%s'" % (inname, architecture))
@@ -1394,8 +1394,8 @@
 						output += "%s " % token
 						arg0 = token
-					
+
 					context.add(TO)
 					continue
-				
+
 				if (INST in context):
 					if (FIN in context):
@@ -1404,9 +1404,9 @@
 						else:
 							output += "%s" % token
-						
+
 						context.remove(FIN)
 						context.remove(INST)
 						continue
-					
+
 					if (VAR in context):
 						if (not identifier(token)):
@@ -1415,17 +1415,17 @@
 							if (not architecture in arch_properties):
 								arch_properties[architecture] = {}
-							
+
 							if (not 'inst' in arch_properties[architecture]):
 								arch_properties[architecture]['inst'] = []
-							
+
 							arch_properties[architecture]['inst'].append({'type': arg0, 'var': token})
 							arg0 = None
-							
+
 							output += "%s" % token
-						
+
 						context.add(FIN)
 						context.remove(VAR)
 						continue
-					
+
 					if (not identifier(token)):
 						print("%s: Expected frame/architecture type in architecture '%s'" % (inname, architecture))
@@ -1433,8 +1433,8 @@
 						output += "%s " % token
 						arg0 = token
-					
+
 					context.add(VAR)
 					continue
-				
+
 				if (token == "}"):
 					if (indent != 1):
@@ -1443,32 +1443,32 @@
 						indent -= 1
 						output += "\n%s" % token
-					
+
 					context.remove(BODY)
 					context.add(NULL)
 					continue
-				
+
 				if (token == "inst"):
 					output += "\n%s%s " % (tabs(indent), token)
 					context.add(INST)
 					continue
-				
+
 				if (token == "bind"):
 					output += "\n%s%s " % (tabs(indent), token)
 					context.add(BIND)
 					continue
-				
+
 				if (token == "subsume"):
 					output += "\n%s%s " % (tabs(indent), token)
 					context.add(SUBSUME)
 					continue
-				
+
 				if (token == "delegate"):
 					output += "\n%s%s " % (tabs(indent), token)
 					context.add(DELEGATE)
 					continue
-				
+
 				print("%s: Unknown token '%s' in architecture '%s'" % (inname, token, architecture))
 				continue
-			
+
 			if (HEAD in context):
 				if (token == "{"):
@@ -1478,5 +1478,5 @@
 					context.add(BODY)
 					continue
-				
+
 				if (token == ";"):
 					output += "%s\n" % token
@@ -1485,12 +1485,12 @@
 					context.discard(SYSTEM)
 					continue
-				
+
 				if (not word(token)):
 					print("%s: Expected word in architecture head '%s'" % (inname, architecture))
 				else:
 					output += "%s " % token
-				
+
 				continue
-			
+
 			if (not identifier(token)):
 				print("%s: Expected architecture name" % inname)
@@ -1498,18 +1498,18 @@
 				architecture = token
 				output += "%s " % token
-				
+
 				if (not architecture in arch_properties):
 					arch_properties[architecture] = {}
-				
+
 				arch_properties[architecture]['name'] = architecture
-				
+
 				if (SYSTEM in context):
 					arch_properties[architecture]['system'] = True
-			
+
 			context.add(HEAD)
 			continue
-		
+
 		# "system architecture"
-		
+
 		if (SYSTEM in context):
 			if (token != "architecture"):
@@ -1517,35 +1517,35 @@
 			else:
 				output += "%s " % token
-			
+
 			context.add(ARCH)
 			continue
-		
+
 		if (token == "frame"):
 			output += "\n%s " % token
 			context.add(FRAME)
 			continue
-		
+
 		if (token == "interface"):
 			output += "\n%s " % token
 			context.add(IFACE)
 			continue
-		
+
 		if (token == "system"):
 			output += "\n%s " % token
 			context.add(SYSTEM)
 			continue
-		
+
 		if (token == "architecture"):
 			output += "\n%s " % token
 			context.add(ARCH)
 			continue
-		
+
 		print("%s: Unknown token '%s'" % (inname, token))
-	
+
 	inf.close()
 
 def open_adl(base, root, inname, outdir, outname):
 	"Open Architecture Description file"
-	
+
 	global output
 	global context
@@ -1556,9 +1556,9 @@
 	global initialization
 	global finalization
-	
+
 	global arg0
-	
+
 	global opt_adl
-	
+
 	output = ""
 	context = set()
@@ -1570,8 +1570,8 @@
 	finalization = None
 	arg0 = None
-	
+
 	parse_adl(base, root, inname, False, 0)
 	output = output.strip()
-	
+
 	if ((output != "") and (opt_adl)):
 		outf = open(outname, "w")
@@ -1581,16 +1581,16 @@
 def recursion(base, root, output, level):
 	"Recursive directory walk"
-	
+
 	for name in os.listdir(root):
 		canon = os.path.join(root, name)
-		
+
 		if (os.path.isfile(canon)):
 			fcomp = split_tokens(canon, ["."])
 			cname = canon.split("/")
-			
+
 			if (fcomp[-1] == ".adl"):
 				output_path = os.path.join(output, cname[-1])
 				open_adl(base, root, canon, output, output_path)
-		
+
 		if (os.path.isdir(canon)):
 			recursion(base, canon, output, level + 1)
@@ -1598,5 +1598,5 @@
 def merge_dot_frame(prefix, name, frame, outf, indent):
 	"Dump Dot frame"
-	
+
 	outf.write("%ssubgraph cluster_%s {\n" % (tabs(indent), prefix))
 	outf.write("%s\tlabel=\"%s\";\n" % (tabs(indent), name))
@@ -1605,11 +1605,11 @@
 	outf.write("%s\tfillcolor=yellow;\n" % tabs(indent))
 	outf.write("%s\t\n" % tabs(indent))
-	
+
 	if ('provides' in frame):
 		outf.write("%s\t%s__provides [label=\"\", shape=doublecircle, style=filled, color=green, fillcolor=yellow];\n" % (tabs(indent), prefix))
-	
+
 	if ('requires' in frame):
 		outf.write("%s\t%s__requires [label=\"\", shape=circle, style=filled, color=red, fillcolor=yellow];\n" % (tabs(indent), prefix))
-	
+
 	outf.write("%s}\n" % tabs(indent))
 	outf.write("%s\n" % tabs(indent))
@@ -1617,10 +1617,10 @@
 def merge_dot_arch(prefix, name, arch, outf, indent):
 	"Dump Dot subarchitecture"
-	
+
 	outf.write("%ssubgraph cluster_%s {\n" % (tabs(indent), prefix))
 	outf.write("%s\tlabel=\"%s\";\n" % (tabs(indent), name))
 	outf.write("%s\tcolor=red;\n" % tabs(indent))
 	outf.write("%s\t\n" % tabs(indent))
-	
+
 	if ('inst' in arch):
 		for inst in arch['inst']:
@@ -1634,5 +1634,5 @@
 				else:
 					print("%s: '%s' is neither an architecture nor a frame" % (arch['name'], inst['type']))
-	
+
 	if ('bind' in arch):
 		labels = {}
@@ -1642,28 +1642,28 @@
 			else:
 				label = bind['from'][1]
-			
+
 			if (not (bind['from'][0], bind['to'][0]) in labels):
 				labels[(bind['from'][0], bind['to'][0])] = []
-			
+
 			labels[(bind['from'][0], bind['to'][0])].append(label)
-		
+
 		for bind in arch['bind']:
 			if (not (bind['from'][0], bind['to'][0]) in labels):
 				continue
-			
+
 			attrs = []
-			
+
 			if (bind['from'][0] != bind['to'][0]):
 				attrs.append("ltail=cluster_%s_%s" % (prefix, bind['from'][0]))
 				attrs.append("lhead=cluster_%s_%s" % (prefix, bind['to'][0]))
-			
+
 			attrs.append("label=\"%s\"" % "\\n".join(labels[(bind['from'][0], bind['to'][0])]))
 			del labels[(bind['from'][0], bind['to'][0])]
-			
+
 			outf.write("%s\t%s_%s__requires -> %s_%s__provides [%s];\n" % (tabs(indent), prefix, bind['from'][0], prefix, bind['to'][0], ", ".join(attrs)))
-	
+
 	if ('delegate' in arch):
 		outf.write("%s\t%s__provides [label=\"\", shape=doublecircle, color=green];\n" % (tabs(indent), prefix))
-		
+
 		labels = {}
 		for delegate in arch['delegate']:
@@ -1672,14 +1672,14 @@
 			else:
 				label = delegate['from']
-			
+
 			if (not delegate['to'][0] in labels):
 				labels[delegate['to'][0]] = []
-			
+
 			labels[delegate['to'][0]].append(label)
-		
+
 		for delegate in arch['delegate']:
 			if (not delegate['to'][0] in labels):
 				continue
-			
+
 			attrs = []
 			attrs.append("color=gray")
@@ -1687,10 +1687,10 @@
 			attrs.append("label=\"%s\"" % "\\n".join(labels[delegate['to'][0]]))
 			del labels[delegate['to'][0]]
-			
+
 			outf.write("%s\t%s__provides -> %s_%s__provides [%s];\n" % (tabs(indent), prefix, prefix, delegate['to'][0], ", ".join(attrs)))
-	
+
 	if ('subsume' in arch):
 		outf.write("%s\t%s__requires [label=\"\", shape=circle, color=red];\n" % (tabs(indent), prefix))
-		
+
 		labels = {}
 		for subsume in arch['subsume']:
@@ -1699,14 +1699,14 @@
 			else:
 				label = subsume['to']
-			
+
 			if (not subsume['from'][0] in labels):
 				labels[subsume['from'][0]] = []
-			
+
 			labels[subsume['from'][0]].append(label)
-		
+
 		for subsume in arch['subsume']:
 			if (not subsume['from'][0] in labels):
 				continue
-			
+
 			attrs = []
 			attrs.append("color=gray")
@@ -1714,7 +1714,7 @@
 			attrs.append("label=\"%s\"" % "\\n".join(labels[subsume['from'][0]]))
 			del labels[subsume['from'][0]]
-			
+
 			outf.write("%s\t%s_%s__requires -> %s__requires [%s];\n" % (tabs(indent), prefix, subsume['from'][0], prefix, ", ".join(attrs)))
-	
+
 	outf.write("%s}\n" % tabs(indent))
 	outf.write("%s\n" % tabs(indent))
@@ -1722,17 +1722,17 @@
 def dump_dot(outdir):
 	"Dump Dot architecture"
-	
+
 	global opt_dot
-	
+
 	arch = get_system_arch()
-	
+
 	if (arch is None):
 		print("Unable to find system architecture")
 		return
-	
+
 	if (opt_dot):
 		outname = os.path.join(outdir, "%s.dot" % arch['name'])
 		outf = open(outname, "w")
-		
+
 		outf.write("digraph {\n")
 		outf.write("\tlabel=\"%s\";\n" % arch['name'])
@@ -1741,5 +1741,5 @@
 		outf.write("\tedge [fontsize=8];\n")
 		outf.write("\t\n")
-		
+
 		if ('inst' in arch):
 			for inst in arch['inst']:
@@ -1753,5 +1753,5 @@
 					else:
 						print("%s: '%s' is neither an architecture nor a frame" % (arch['name'], inst['type']))
-		
+
 		if ('bind' in arch):
 			labels = {}
@@ -1761,37 +1761,37 @@
 				else:
 					label = bind['from'][1]
-				
+
 				if (not (bind['from'][0], bind['to'][0]) in labels):
 					labels[(bind['from'][0], bind['to'][0])] = []
-				
+
 				labels[(bind['from'][0], bind['to'][0])].append(label)
-			
+
 			for bind in arch['bind']:
 				if (not (bind['from'][0], bind['to'][0]) in labels):
 					continue
-				
+
 				attrs = []
-				
+
 				if (bind['from'][0] != bind['to'][0]):
 					attrs.append("ltail=cluster_%s" % bind['from'][0])
 					attrs.append("lhead=cluster_%s" % bind['to'][0])
-				
+
 				attrs.append("label=\"%s\"" % "\\n".join(labels[(bind['from'][0], bind['to'][0])]))
 				del labels[(bind['from'][0], bind['to'][0])]
-				
+
 				outf.write("\t%s__requires -> %s__provides [%s];\n" % (bind['from'][0], bind['to'][0], ", ".join(attrs)))
-		
+
 		if ('delegate' in arch):
 			for delegate in arch['delegate']:
 				print("Unable to delegate interface in system architecture")
 				break
-		
+
 		if ('subsume' in arch):
 			for subsume in arch['subsume']:
 				print("Unable to subsume interface in system architecture")
 				break
-		
+
 		outf.write("}\n")
-		
+
 		outf.close()
 
@@ -1804,14 +1804,14 @@
 	global opt_adl
 	global opt_dot
-	
+
 	if (len(sys.argv) < 3):
 		usage(sys.argv[0])
 		return
-	
+
 	opt_bp = False
 	opt_ebp = False
 	opt_adl = False
 	opt_dot = False
-	
+
 	for arg in sys.argv[1:(len(sys.argv) - 1)]:
 		if (arg == "--bp"):
@@ -1828,18 +1828,18 @@
 			print("Error: Unknown command line option '%s'" % arg)
 			return
-	
+
 	if ((opt_bp) and (opt_ebp)):
 		print("Error: Cannot dump both original Behavior Protocols and Extended Behavior Protocols")
 		return
-	
+
 	path = os.path.abspath(sys.argv[-1])
 	if (not os.path.isdir(path)):
 		print("Error: <OUTPUT> is not a directory")
 		return
-	
+
 	iface_properties = {}
 	frame_properties = {}
 	arch_properties = {}
-	
+
 	recursion(".", ".", path, 0)
 	dump_archbp(path)
Index: contrib/qemu/build-from-scratch.sh
===================================================================
--- contrib/qemu/build-from-scratch.sh	(revision 3061bc129a855122d429fbba1e623a521aaa164c)
+++ contrib/qemu/build-from-scratch.sh	(revision a35b458e9db1ca95e679799dc7c1b12c83359ca3)
@@ -90,10 +90,10 @@
 		wget ${URL}
 	fi
-	
+
 	if [ "`md5sum ${TARBALL} | cut -f 1 -d " "`" != ${MD5} ]; then
 		echo Wrong MD5 checksum
 		exit
 	fi
-	
+
 	tar xvfj ${TARBALL}
 	cd ${SOURCEDIR}
Index: contrib/tools/gen_vga323.c
===================================================================
--- contrib/tools/gen_vga323.c	(revision 3061bc129a855122d429fbba1e623a521aaa164c)
+++ contrib/tools/gen_vga323.c	(revision a35b458e9db1ca95e679799dc7c1b12c83359ca3)
@@ -36,8 +36,8 @@
 {
 	unsigned int i;
-	
+
 	for (i = 0; i < 256; i++)
 		printf("\t.byte 0x%02x, 0x%02x, 0x%02x, 0x00\n", BLUE(i) * 9, GREEN(i) * 21, RED(i) * 9);
-	
+
 	return 0;
 }
Index: contrib/tools/random_check.sh
===================================================================
--- contrib/tools/random_check.sh	(revision 3061bc129a855122d429fbba1e623a521aaa164c)
+++ contrib/tools/random_check.sh	(revision a35b458e9db1ca95e679799dc7c1b12c83359ca3)
@@ -88,10 +88,10 @@
 	COUNTER=$(( $COUNTER + 1 ))
 	echo "Try #$COUNTER ($FAILED failed):" >&2
-	
+
 	(
 		echo "  Cleaning after previous build." >&2
 		make distclean -j$JOBS 2>&1 || exit 1
-		
-		
+
+
 		echo "  Preparing random configuration." >&2
 		# It would be nicer to allow set the constraints directly to
@@ -105,9 +105,9 @@
 				exit 2
 			fi
-			
+
 			make random-config 2>&1 || exit 1
-			
+
 			tr -d ' ' <Makefile.config >"${FILENAME_PREFIX}config.trimmed"
-			
+
 			THIS_CONFIG_OKAY=true
 			while read pattern; do
@@ -117,13 +117,13 @@
 				fi
 			done <"$PRUNE_CONFIG_FILE"
-			
+
 			rm -f "${FILENAME_PREFIX}config.trimmed"
-			
+
 			if $THIS_CONFIG_OKAY; then
 				break
 			fi
 		done
-		
-		
+
+
 		# Report basic info about the configuration and build it
 		BASIC_CONFIG=`sed -n \
@@ -134,5 +134,5 @@
 			| paste '-sd,' | sed 's#,#, #g'`
 		echo -n "  Building ($BASIC_CONFIG)... " >&2
-	
+
 		make -j$JOBS 2>&1
 		if [ $? -eq 0 ]; then
@@ -143,13 +143,13 @@
 			exit 1
 		fi
-		
+
 	) >random_run_$COUNTER.log
 	RC=$?
-	
+
 	if [ $RC -ne 0 ]; then
 		tail -n 10 random_run_$COUNTER.log | sed 's#.*#    | &#'
 		FAILED=$(( $FAILED + 1 ))
 	fi
-	
+
 	if [ -e Makefile.config ]; then
 		cp Makefile.config "$FILENAME_PREFIX$COUNTER.Makefile.config"
Index: contrib/tools/toolchain_check.sh
===================================================================
--- contrib/tools/toolchain_check.sh	(revision 3061bc129a855122d429fbba1e623a521aaa164c)
+++ contrib/tools/toolchain_check.sh	(revision a35b458e9db1ca95e679799dc7c1b12c83359ca3)
@@ -38,13 +38,13 @@
 	objcopy_path=`echo "$arch_path"/bin/*-objcopy`
 	gdb_path=`echo "$arch_path"/bin/*-gdb`
-	
+
 	print_version "$ld_path" "Linker not found!" || continue
-	
+
 	print_version "$objcopy_path" "objcopy not found!" || continue
-	
+
 	print_version "$gcc_path" "GCC not found!" || continue
 	check_define "$gcc_path" "__helenos__" 1 || continue
 	check_define "$gcc_path" "helenos_uarch" "$arch" || continue
-	
+
 	print_version "$gdb_path" "GDB not found!" || continue
 done
