VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   33 Branches   55 Tags
author: Masahiro Yamada <yamada.masahiro@socionext.com> 2018-06-26 01:40:23 +0900 committer: Masahiro Yamada <yamada.masahiro@socionext.com> 2018-07-18 01:18:05 +0900 commit: c417fbce98722ad7e384caa8ba6f2e7c5f8672d9 parent: b56e5355091d799d58ce8b40fdf62dc9c2159981
Commit Summary:
kbuild: move bin2c back to scripts/ from scripts/basic/
Diffstat:
1 file changed, 30 insertions, 0 deletions
diff --git a/scripts/bin2c.c b/scripts/bin2c.c
new file mode 100644
index 000000000000..c3d7eef3ad06
--- /dev/null
+++ b/scripts/bin2c.c
@@ -0,0 +1,36 @@
+/*
+ * Unloved program to convert a binary on stdin to a C include on stdout
+ *
+ * Jan 1999 Matt Mackall <mpm@selenic.com>
+ *
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ */
+
+#include <stdio.h>
+
+int main(int argc, char *argv[])
+{
+	int ch, total = 0;
+
+	if (argc > 1)
+		printf("const char %s[] %s=\n",
+			argv[1], argc > 2 ? argv[2] : "");
+
+	do {
+		printf("\t\"");
+		while ((ch = getchar()) != EOF) {
+			total++;
+			printf("\\x%02x", ch);
+			if (total % 16 == 0)
+				break;
+		}
+		printf("\"\n");
+	} while (ch != EOF);
+
+	if (argc > 1)
+		printf("\t;\n\n#include <linux/types.h>\n\nconst size_t %s_size = %d;\n",
+		       argv[1], total);
+
+	return 0;
+}