From d869a6b0c3315de350799f4f1fdd4bc3538b0855 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 10 Apr 2025 00:57:43 -0400 Subject: core: Add core impl Signed-off-by: Ian Moffett --- src/main.c | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index bec0265..30612a7 100644 --- a/src/main.c +++ b/src/main.c @@ -28,24 +28,59 @@ */ #include -#include +#include #include +#include + +static ldo_flags_t flags = 0; static void usage(const char *argv0) { - fprintf(stderr, "Usage: %s <*.o>\n", argv0); + fprintf(stderr, "Usage: %s <*.oo>\n", argv0); +} + +/* + * Get linker runtime flags + */ +ldo_flags_t +ldo_rtflags(void) +{ + return flags; } int main(int argc, char **argv) { - struct ldo_file *lfp; + char c; + int i; if (argc < 2) { usage(argv[0]); return -1; } + while ((c = getopt(argc, argv, "hv")) >= 0) { + switch (c) { + case 'h': + usage(argv[0]); + return 0; + case 'v': + flags |= LDO_F_VERBOSE; + break; + case '?': + fprintf(stderr, "Bad argument: -%c\n", optopt); + break; + } + } + + ldo_init(); + + /* Load object files */ + if (optind < argc) { + for (i = optind; i < argc; ++i) { + ldo_load(argv[i]); + } + } return 0; } -- cgit v1.2.3