From b7d9d3ee59236d6039d7d7ccd17ff6b47e07a8aa Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 9 Oct 2019 00:11:28 +1030 Subject: [PATCH] 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. --- binutils/ChangeLog | 6 ++++++ binutils/ar.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index b9e2fcf1a4..1761d80ef5 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +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-10-07 Jozef Lawrynowicz * readelf.c (display_msp430_gnu_attribute): New. diff --git a/binutils/ar.c b/binutils/ar.c index 6bac862bc7..b99afff1c7 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);