Index: tools/mkarray.py
===================================================================
--- tools/mkarray.py	(revision 8d2dd7f2d52fbc7693f94b66e451eeff3756d061)
+++ tools/mkarray.py	(revision b06414f03a4dbc34fce671630eb087b869763bfc)
@@ -37,8 +37,8 @@
 def usage(prname):
 	"Print usage syntax"
-	print("%s <DESTINATION> <LABEL> [SOURCE ...]" % prname)
+	print("%s <DESTINATION> <LABEL> <AS_PROLOG> [SOURCE ...]" % prname)
 
 def main():
-	if (len(sys.argv) < 3):
+	if (len(sys.argv) < 4):
 		usage(sys.argv[0])
 		return
@@ -46,8 +46,10 @@
 	dest = sys.argv[1]
 	label = sys.argv[2]
+	as_prolog = sys.argv[3]
 	
 	header_ctx = []
 	data_ctx = []
-	for src in sys.argv[3:]:
+	
+	for src in sys.argv[4:]:
 		basename = os.path.basename(src)
 		symbol = basename.replace(".", "_")
@@ -59,8 +61,5 @@
 		src_in.close()
 		
-		header_rec = "extern uint8_t %s[];" % symbol
-		header_ctx.append(header_rec)
-		
-		data_rec = "uint8_t %s[] = {\n\t" % symbol
+		data_rec = "\t.byte "
 		
 		fmt = 'B'
@@ -74,5 +73,5 @@
 			if (offset > 0):
 				if ((cnt % 15) == 0):
-					data_rec += ",\n\t"
+					data_rec += "\n\t.byte "
 				else:
 					data_rec += ", "
@@ -82,11 +81,19 @@
 			cnt += 1
 		
-		data_rec += "\n};\n"
-		data_ctx.append(data_rec)
+		data_rec += "\n"
 		
-		header_rec = "extern size_t %s_size;" % symbol
-		header_ctx.append(header_rec)
+		header_ctx.append("extern uint64_t %s_size;" % symbol)
+		header_ctx.append("extern uint8_t %s[];" % symbol)
 		
-		data_rec = "size_t %s_size = %u;\n" % (symbol, offset)
+		data_ctx.append(".globl %s_size" % symbol)
+		data_ctx.append(".balign 8");
+		data_ctx.append(".size %s_size, 8" % symbol)
+		data_ctx.append("%s_size:" % symbol)
+		data_ctx.append("\t.quad %u\n" % offset)
+		
+		data_ctx.append(".globl %s" % symbol)
+		data_ctx.append(".balign 8")
+		data_ctx.append(".size %s, %u" % (symbol, offset))
+		data_ctx.append("%s:" % symbol)
 		data_ctx.append(data_rec)
 	
@@ -107,5 +114,5 @@
 	header.close()
 	
-	data = open("%s.c" % dest, "w")
+	data = open("%s.s" % dest, "w")
 	
 	data.write('/***************************************\n')
@@ -113,5 +120,6 @@
 	data.write(' * Generated by: tools/mkarray.py      *\n')
 	data.write(' ***************************************/\n\n')
-	data.write("#include \"%s.h\"\n\n" % dest)
+	data.write(as_prolog)
+	data.write('.data\n\n')
 	data.write("\n".join(data_ctx))
 	
