diff options
Diffstat (limited to 'tools/bin2asm/icudata.c')
-rw-r--r-- | tools/bin2asm/icudata.c | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/tools/bin2asm/icudata.c b/tools/bin2asm/icudata.c deleted file mode 100644 index ecd1b4b..0000000 --- a/tools/bin2asm/icudata.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Convert a data file into a .S file suitable for assembly. - * This reads from stdin and writes to stdout and takes a single - * argument for the name of the symbol in the assembly file. - */ - -#include <stdio.h> - -int main(int argc, char *argv[]) { - unsigned char buf[4096]; - size_t amt; - size_t i; - int col = 0; - char *name; - - if (argc != 2) { - fprintf(stderr, "usage: %s NAME < DAT_FILE > ASM_FILE\n", argv[0]); - for (i=0; i<argc; i++) { - fprintf(stderr, " '%s'", argv[i]); - } - fprintf(stderr, "\n"); - return 1; - } - - name = argv[1]; - - printf("\ -#ifdef __APPLE_CC__\n\ -/*\n\ - * The mid-2007 version of gcc that ships with Macs requires a\n\ - * comma on the .section line, but the rest of the world thinks\n\ - * that's a syntax error. It also wants globals to be explicitly\n\ - * prefixed with \"_\" as opposed to modern gccs that do the\n\ - * prefixing for you.\n\ - */\n\ -.globl _%s\n\ - .section .rodata,\n\ - .align 8\n\ -_%s:\n\ -#else\n\ -.globl %s\n\ - .section .rodata\n\ - .align 8\n\ -%s:\n\ -#endif\n\ -", name, name, name, name); - - while (! feof(stdin)) { - amt = fread(buf, 1, sizeof(buf), stdin); - for (i = 0; i < amt; i++) { - if (col == 0) { - printf(".byte "); - } - printf("0x%02x", buf[i]); - col++; - if (col == 16) { - printf("\n"); - col = 0; - } else if (col % 4 == 0) { - printf(", "); - } else { - printf(","); - } - } - } - - if (col != 0) { - printf("\n"); - } - - return 0; -} |