]> git.pld-linux.org Git - packages/binutils.git/commitdiff
- fix gas regression
authorJakub Bogusz <qboosh@pld-linux.org>
Mon, 17 May 2004 15:43:26 +0000 (15:43 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    binutils-gas-fix.patch -> 1.1

binutils-gas-fix.patch [new file with mode: 0644]

diff --git a/binutils-gas-fix.patch b/binutils-gas-fix.patch
new file mode 100644 (file)
index 0000000..a9e4392
--- /dev/null
@@ -0,0 +1,42 @@
+From: Alan Modra <amodra at bigpond dot net dot au>
+
+On Wed, Mar 17, 2004 at 04:23:37PM +0000, Nathan Sidwell wrote:
+> the attached patch causes gas to not interpret ++ and -- as two
+> + or - operators in a row.  The current behaviour is to allow
+> 'a ++ b' as if it was 'a + (+b)' and '++ a' as if '+(+a)'.  The problem
+
+This patch had an off-by-one error, breaking code like the following:
+
+       .text
+        stdu 1,-(-(-0x128)+0x70 +(2*8))(1)
+
+gas/ChangeLog
+       * expr.c (operand): Correct checks for ++ and --.
+
+Applying both mainline and branch.
+
+Index: gas/expr.c
+===================================================================
+RCS file: /cvs/src/src/gas/expr.c,v
+retrieving revision 1.49
+diff -u -p -r1.49 expr.c
+--- gas/expr.c 18 Mar 2004 09:19:20 -0000      1.49
++++ gas/expr.c 16 Apr 2004 01:48:14 -0000
+@@ -1022,7 +1022,7 @@ operand (expressionS *expressionP)
+     case '+':
+       /* Do not accept ++e as +(+e) */
+-      if (input_line_pointer[1] == '+')
++      if (*input_line_pointer == '+')
+       goto target_op;
+       (void) operand (expressionP);
+       break;
+@@ -1042,7 +1042,7 @@ operand (expressionS *expressionP)
+     case '-':
+       {
+         /* Do not accept --e as -(-e) */
+-      if (c == '-' && input_line_pointer[1] == '-')
++      if (c == '-' && *input_line_pointer == '-')
+         goto target_op;
+       
+       operand (expressionP);
This page took 0.107317 seconds and 4 git commands to generate.