[binutils-gdb] PR25079, "ar s" stopped working

Alan Modra amodra@sourceware.org
Tue Oct 8 13:58:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b7d9d3ee59236d6039d7d7ccd17ff6b47e07a8aa

commit b7d9d3ee59236d6039d7d7ccd17ff6b47e07a8aa
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 9 00:11:28 2019 +1030

    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.

Diff:
---
 binutils/ChangeLog | 6 ++++++
 binutils/ar.c      | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index b9e2fcf..1761d80 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2019-10-09  Alan Modra  <amodra@gmail.com>
+
+	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  <jozef.l@mittosystems.com>
 
 	* readelf.c (display_msp430_gnu_attribute): New.
diff --git a/binutils/ar.c b/binutils/ar.c
index 6bac862..b99afff 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);



More information about the Binutils-cvs mailing list