X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=src%2Foptions.c;h=1a191a513e5c4cd2aec3560fd11a21e5e8e8591d;hb=b05f85ea8599327918640f5ee2bb3f422559b357;hp=c728d40ac2cf12ee6807cdd5a43dcdd835320d60;hpb=e2b6e201992b9e4d458dd469d286db3dca46e75f;p=centaur.git diff --git a/src/options.c b/src/options.c index c728d40..1a191a5 100644 --- a/src/options.c +++ b/src/options.c @@ -23,6 +23,7 @@ static void printUsage(char *progname) " off: File offset, not within any structure (headers or sections).\n" " sz: A multiple of the maximum alignment of all PHDRs.\n" "\n" + " --expand-nobits off Expand virtual areas (NOBITS sections and similar PHDRs).\n" " --insert-before off,sz Insert spacing at given offset,\n" " mapping everything before it to lower mem addresses.\n" " --insert-after off,sz Insert spacing at given offset,\n" @@ -47,6 +48,7 @@ void parseOptions(CLIOpts *opts, int argc, char **argv) {"print-sections", 0, 0, 10003}, {"insert-before", 1, 0, 10004}, {"insert-after", 1, 0, 10005}, + {"expand-nobits", 1, 0, 10006}, {NULL, 0, NULL, 0} }; @@ -88,6 +90,12 @@ void parseOptions(CLIOpts *opts, int argc, char **argv) goto USAGE; } break; + case 10006: + opts->expandNobitsOffs = strtoul(optarg, &endptr, 0); + if (endptr[0] != '\0' || opts->expandNobitsOffs < 1) { + goto USAGE; + } + break; case '?': default: goto USAGE;