From: Alan Modra Date: Tue, 8 Oct 2019 13:41:28 +0000 (+1030) Subject: PR25079, "ar s" stopped working X-Git-Tag: binutils-2_33_1~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0bc183f81a0ba549972371e78536dbd29d1c4e5f;p=thirdparty%2Fbinutils-gdb.git PR25079, "ar s" stopped working 's' is both a command and a modifier. If given as a command then we aren't lacking an operation. I think the same goes when mri mode is selected: any following command line used to be ignored. PR 25079 * ar.c (decode_options): Don't try for command options if write_armap or mri_mode is selected. (cherry picked from commit b7d9d3ee59236d6039d7d7ccd17ff6b47e07a8aa) --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 5de97327df7..aa2516d487f 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,6 +1,11 @@ 2019-10-09 Alan Modra Apply from master + 2019-10-09 Alan Modra + PR 25079 + * ar.c (decode_options): Don't try for command options if + write_armap or mri_mode is selected. + 2019-09-30 Alan Modra PR 25046 * readelf.c (process_program_headers): Clear dynamic_addr and diff --git a/binutils/ar.c b/binutils/ar.c index 4e953c054de..44a4d8f3a2c 100644 --- a/binutils/ar.c +++ b/binutils/ar.c @@ -602,7 +602,8 @@ decode_options (int argc, char **argv) /* PR 13256: Allow for the possibility that the first command line option started with a dash (eg --plugin) but then the following option(s) are old style, non-dash-prefixed versions. */ - if (operation == none && optind > 0 && optind < argc) + if (operation == none && write_armap != 1 && !mri_mode + && optind > 0 && optind < argc) { argv += (optind - 1); argc -= (optind - 1);