summaryrefslogtreecommitdiff
path: root/src/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/options.c')
-rw-r--r--src/options.c8
1 files changed, 8 insertions, 0 deletions
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;