summaryrefslogtreecommitdiffstats
path: root/scripts/bin2c.c
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-06-25 18:40:23 +0200
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-07-17 18:18:05 +0200
commitc417fbce98722ad7e384caa8ba6f2e7c5f8672d9 (patch)
tree4fb1d144fccb0ea5c70c2e01029d76fd853d7910 /scripts/bin2c.c
parentCoccinelle: add atomic_as_refcounter script (diff)
downloadlinux-c417fbce98722ad7e384caa8ba6f2e7c5f8672d9.tar.xz
linux-c417fbce98722ad7e384caa8ba6f2e7c5f8672d9.zip
kbuild: move bin2c back to scripts/ from scripts/basic/
Commit 8370edea81e3 ("bin2c: move bin2c in scripts/basic") moved bin2c to the scripts/basic/ directory, incorrectly stating "Kexec wants to use bin2c and it wants to use it really early in the build process. See arch/x86/purgatory/ code in later patches." Commit bdab125c9301 ("Revert "kexec/purgatory: Add clean-up for purgatory directory"") and commit d6605b6bbee8 ("x86/build: Remove unnecessary preparation for purgatory") removed the redundant purgatory build magic entirely. That means that the move of bin2c was unnecessary in the first place. fixdep is the only host program that deserves to sit in the scripts/basic/ directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/bin2c.c')
-rw-r--r--scripts/bin2c.c36
1 files changed, 36 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;
+}