diff --git a/cmdline.cc b/cmdline.cc index 579ecb53..809ee67b 100644 --- a/cmdline.cc +++ b/cmdline.cc @@ -413,10 +413,6 @@ void parse_nonpositional_args(Context &ctx, if (!ctx.arg.rpaths.empty()) ctx.arg.rpaths += ":"; ctx.arg.rpaths += arg; - } else if (read_arg(ctx, args, arg, "version-script")) { - parse_version_script(ctx, std::string(arg)); - } else if (read_arg(ctx, args, arg, "dynamic-list")) { - parse_dynamic_list(ctx, std::string(arg)); } else if (read_flag(args, "build-id")) { ctx.arg.build_id.kind = BuildId::HASH; ctx.arg.build_id.hash_size = 20; @@ -473,6 +469,12 @@ void parse_nonpositional_args(Context &ctx, } else if (read_arg(ctx, args, arg, "sort-section")) { } else if (read_flag(args, "sort-common")) { } else if (read_arg(ctx, args, arg, "rpath-link")) { + } else if (read_arg(ctx, args, arg, "version-script")) { + remaining.push_back("--version-script"); + remaining.push_back(arg); + } else if (read_arg(ctx, args, arg, "dynamic-list")) { + remaining.push_back("--dynamic-list"); + remaining.push_back(arg); } else if (read_flag(args, "as-needed")) { remaining.push_back("-as-needed"); } else if (read_flag(args, "no-as-needed")) { diff --git a/main.cc b/main.cc index 70e812ae..f4b4047e 100644 --- a/main.cc +++ b/main.cc @@ -207,6 +207,10 @@ static void read_input_files(Context &ctx, std::span args) ctx.is_static = true; } else if (read_flag(args, "Bdynamic")) { ctx.is_static = false; + } else if (read_arg(ctx, args, arg, "version-script")) { + parse_version_script(ctx, std::string(arg)); + } else if (read_arg(ctx, args, arg, "dynamic-list")) { + parse_dynamic_list(ctx, std::string(arg)); } else if (read_flag(args, "push-state")) { state.push_back({ctx.as_needed, ctx.whole_archive, ctx.is_static}); } else if (read_flag(args, "pop-state")) {