Skip to content
Snippets Groups Projects
Commit f9cf65b3 authored by Stephen Hurd's avatar Stephen Hurd
Browse files

Generate Mach-O assember for darwin.

Nonrelocatable const data goes in __TEXT,__const apparently.
I could put it in __DATA,__const and get an entry in the GOT, by
why bother?
parent 96a92435
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #4250 passed
...@@ -60,6 +60,7 @@ main(int argc, char **argv) ...@@ -60,6 +60,7 @@ main(int argc, char **argv)
FILE *s, *h, *r, *y; FILE *s, *h, *r, *y;
char path[1024]; char path[1024];
char *mangle = ""; char *mangle = "";
char *section = ".rodata";
if (argc != 3) { if (argc != 3) {
fprintf(stderr, "Usage: %s <os> <path>\n", argv[0]); fprintf(stderr, "Usage: %s <os> <path>\n", argv[0]);
...@@ -74,18 +75,22 @@ main(int argc, char **argv) ...@@ -74,18 +75,22 @@ main(int argc, char **argv)
sprintf(path, "%s/y2r.bin", argv[2]); sprintf(path, "%s/y2r.bin", argv[2]);
y = fopen(path, "wb"); y = fopen(path, "wb");
init_r2y(); init_r2y();
if (argc > 1 && strcmp(argv[1], "win32") == 0) if (strcmp(argv[1], "win32") == 0)
mangle = "_"; mangle = "_";
if (strcmp(argv[1], "darwin") == 0) {
section = "__TEXT,__const";
mangle = "_";
}
fprintf(s, fprintf(s,
".section .rodata\n" ".section %s\n"
".global %sr2y\n" ".global %sr2y\n"
".global %sy2r\n" ".global %sy2r\n"
".align 4\n" ".align 4\n"
"%sr2y:\n" "%sr2y:\n"
" .incbin \"%s/r2y.bin\"\n" " .incbin \"%s/r2y.bin\"\n"
"%sy2r:\n" "%sy2r:\n"
" .incbin \"%s/y2r.bin\"\n", mangle, mangle, mangle, argv[2], mangle, argv[2]); " .incbin \"%s/y2r.bin\"\n", section, mangle, mangle, mangle, argv[2], mangle, argv[2]);
fprintf(h, fprintf(h,
"#ifndef RGBMAP_H\n" "#ifndef RGBMAP_H\n"
"#define RGBMAP_H\n" "#define RGBMAP_H\n"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment