binutils 2.15-1 chokes on code 2.14.90.0.7-8 didn't

Bug #7509 reported by Debian Bug Importer
6
Affects Status Importance Assigned to Milestone
binutils (Debian)
Fix Released
Unknown
binutils (Ubuntu)
Invalid
High
James Troup

Bug Description

Automatically imported from Debian bug report #266772 http://bugs.debian.org/266772

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Automatically imported from Debian bug report #266772 http://bugs.debian.org/266772

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-Id: <email address hidden>
Date: Wed, 18 Aug 2004 18:57:36 -0700
From: Joshua Kwan <email address hidden>
To: Debian Bug Tracking System <email address hidden>
Subject: binutils 2.15-1 chokes on code 2.14.90.0.7-8 didn't

Package: binutils
Version: 2.15-1
Severity: grave
Tags: upstream

Hi,

Here's some preprocessed code from
kernel-source-2.4.27/arch/sparc/lib/copy_user.S:

byte_chunk:
        ldub [%o1 - -0x02 - 0x02], %g2; ldub [%o1 - -0x02 - 0x01], %g3; stb %g2, [%o0 - -0x02 - 0x02]; stb %g3, [%o0 - -0x02 - 0x01];
        ldub [%o1 - -0x04 - 0x02], %g2; ldub [%o1 - -0x04 - 0x01], %g3; stb %g2, [%o0 - -0x04 - 0x02]; stb %g3, [%o0 - -0x04 - 0x01];
        ldub [%o1 - -0x06 - 0x02], %g2; ldub [%o1 - -0x06 - 0x01], %g3; stb %g2, [%o0 - -0x06 - 0x02]; stb %g3, [%o0 - -0x06 - 0x01];
        ldub [%o1 - -0x08 - 0x02], %g2; ldub [%o1 - -0x08 - 0x01], %g3; stb %g2, [%o0 - -0x08 - 0x02]; stb %g3, [%o0 - -0x08 - 0x01];
        ldub [%o1 - -0x0a - 0x02], %g2; ldub [%o1 - -0x0a - 0x01], %g3; stb %g2, [%o0 - -0x0a - 0x02]; stb %g3, [%o0 - -0x0a - 0x01];
        ldub [%o1 - -0x0c - 0x02], %g2; ldub [%o1 - -0x0c - 0x01], %g3; stb %g2, [%o0 - -0x0c - 0x02]; stb %g3, [%o0 - -0x0c - 0x01];
        ldub [%o1 - -0x0e - 0x02], %g2; ldub [%o1 - -0x0e - 0x01], %g3; stb %g2, [%o0 - -0x0e - 0x02]; stb %g3, [%o0 - -0x0e - 0x01];
        ldub [%o1 - -0x10 - 0x02], %g2; ldub [%o1 - -0x10 - 0x01], %g3; stb %g2, [%o0 - -0x10 - 0x02]; stb %g3, [%o0 - -0x10 - 0x01];

All were expansions of this #define:

#define MOVE_SHORTCHUNK(src, dst, offset, t0, t1) \
        ldub [%src - offset - 0x02], %t0; \
        ldub [%src - offset - 0x01], %t1; \
        stb %t0, [%dst - offset - 0x02]; \
        stb %t1, [%dst - offset - 0x01];

Compiling it, I get

copy_user.S:300: Error: bad expression
copy_user.S:300: Error: bad expression
copy_user.S:300: Error: bad expression
copy_user.S:301: Error: bad expression
[...]

It seems that the double negative (as in ldub [%o1 - -0x10 - 0x02])
confuses as. Changing all occurrences of the double negative to + made
the code compile again, as it did in 2.14.90.0.7-8. This is pretty unacceptable
for sarge, as it breaks the build for many kernel versions back when this
macro first came into use, and it's perfectly valid sparc assembly as
far as I can tell.

Thanks..

-Josh

-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: sparc (sparc64)
Kernel: Linux 2.6.8-1-sparc64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (ignored: LC_ALL set to en_US.UTF-8)

Versions of packages binutils depends on:
ii libc6 2.3.2.ds1-15 GNU C Library: Shared libraries an

-- no debconf information

Revision history for this message
LaMont Jones (lamont) wrote :

sparc specific

Revision history for this message
In , Joshua Kwan (joshk) wrote : fixed upstream in the kernel

Hi,

I found a bitkeeper changeset that fixes this for us. It kind of looks
like this is basically binutils enforcing better syntax than it did
before, but it would be nice to have a workaround for this for sarge.

If you think that allowing double-negatives is really, really evil, go
ahead and close this bug.

--
Joshua Kwan

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Sun, 22 Aug 2004 21:59:21 -0700
From: Joshua Kwan <email address hidden>
To: <email address hidden>
Subject: fixed upstream in the kernel

--opJtzjQTFsWo+cga
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi,

I found a bitkeeper changeset that fixes this for us. It kind of looks
like this is basically binutils enforcing better syntax than it did
before, but it would be nice to have a workaround for this for sarge.

If you think that allowing double-negatives is really, really evil, go
ahead and close this bug.

--=20
Joshua Kwan

--opJtzjQTFsWo+cga
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: http://triplehelix.org/~joshk/pubkey_gpg.asc

iQIVAwUBQSl5qaOILr94RG8mAQJ1NxAAmWYH61/wIErcHR31d+hnV1iKBcWzTTXd
rxrfQL4HGLBjfj9tYLoUVkYC1g31jgIZcfr7F0RGcgK41T7wbrDO1Ajah7IkhUi/
dB/UMVuKyEzsr47Ck6YYg6FvouCKlVI2/mi2SJnppg41gFQTyMNfe3Ty1lRiNqgN
vjTCrIR4fynxC2H9fpEL2Hf51+oiekTUCusa5diFWhAyyuWmZ60gvKtndj//sYug
BVc3mCUfU/TK/DUUpYMabIDUbR51TlFliUbzikno9hNSJ0PAQWILaErrihp3QCRy
CIubxQ/A4CXlw2pQI4eF4EvgodVy99hhIgm1zmt0iIpoUF9Pi4tJNWPeK0lubIox
Dwrc74A32lQU9Sq3clyJ2i/J04djsDyscy60YpEIlrVawou+6ieYUlITAZo87J8z
M7YyGDd/OPXIwH7HcSBYms3/FUVRwk0JfiNerbRLlTDZGcEZmPCKNTRINH0vzDS6
NclvF382ICMzNP+ietwQA6OoahwclB0jqVrazzt6MHBA9STZawwsyd4b16QpMx3f
BWeHP/OOwhjBnobaARgzc8JDnC+v+UwOIN3mOVB5RTcAYg3w9JIZshHagPIN7gYl
d6PU9YrNj2WTFQJHVnZiXhp8AKJ8yBqFE58iO9m2xyFqkUPROuVp+YK3+Ns1Qt73
n18yFZoyBHI=
=dv47
-----END PGP SIGNATURE-----

--opJtzjQTFsWo+cga--

Revision history for this message
In , James Troup (james-nocrew) wrote : Bug#266772: fixed in binutils 2.15-3
Download full text (3.9 KiB)

Source: binutils
Source-Version: 2.15-3

We believe that the bug you reported is fixed in the latest version of
binutils, which is due to be installed in the Debian FTP archive:

binutils-dev_2.15-3_i386.deb
  to pool/main/b/binutils/binutils-dev_2.15-3_i386.deb
binutils-doc_2.15-3_all.deb
  to pool/main/b/binutils/binutils-doc_2.15-3_all.deb
binutils-multiarch_2.15-3_i386.deb
  to pool/main/b/binutils/binutils-multiarch_2.15-3_i386.deb
binutils_2.15-3.diff.gz
  to pool/main/b/binutils/binutils_2.15-3.diff.gz
binutils_2.15-3.dsc
  to pool/main/b/binutils/binutils_2.15-3.dsc
binutils_2.15-3_i386.deb
  to pool/main/b/binutils/binutils_2.15-3_i386.deb

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to <email address hidden>,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
James Troup <email address hidden> (supplier of updated binutils package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing <email address hidden>)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Thu, 9 Sep 2004 22:24:08 +0100
Source: binutils
Binary: binutils-dev binutils-hppa64 binutils-multiarch binutils binutils-doc
Architecture: source i386 all
Version: 2.15-3
Distribution: unstable
Urgency: low
Maintainer: James Troup <email address hidden>
Changed-By: James Troup <email address hidden>
Description:
 binutils - The GNU assembler, linker and binary utilities
 binutils-dev - The GNU binary utilities (BFD development files)
 binutils-doc - Documentation for the GNU assembler, linker and binary utilities
 binutils-multiarch - Binary utilities that support multi-arch targets
Closes: 266772 267139 270619
Changes:
 binutils (2.15-3) unstable; urgency=low
 .
   * 112_fix_reloc_sizing.dpatch: update patch based on revised change from
     Alan Modra.
 .
   * 116_ar_nonexistent_files.dpatch: new patch from Nick Clifton to fix
     ar's handling of non-existent files. Closes: #267139
 .
   * 117_mips_symbolic_link.dpatch: new patch from Thiemo Seufer to fix the
     "final link failed: Bad value" error on mips. Closes: #270619
 .
   * 118_arm_pass_all.dpatch: new kludge patch to fix broken libtool pass_all
     handling on arm and other arches.
 .
   * 119_fix_gas_double_negative.dpatch: new patch from Alan Modra via
     Daniel Jacobowitz to fix gas' handling of -- and ++. Closes: #266772
Files:
 1fe3fd410be4c52cf917b18d77c7dcee 1401 devel standard binutils_2.15-3.dsc
 bbfdb7a6b1001073315cbb64f7369453 36140 devel standard binutils_2.15-3.diff.gz
 3d01f87519e681cfeea1d3f2d955bdcc 426456 doc optional binutils-doc_2.15-3_all.deb
 f7aa22ac0199a88e83fa17a78a63744e 2222770 devel standard binutils_2.15-3_i386.deb
 9150dc98595e4d43d1431476991a84ea 2812862 devel extra binutils-dev_2.15-3_i386.deb
 de6d57012fc2eceda313ec20ef9d14a1 7955228 devel extra binutils-multiarch_2.15-3_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iQIVAwUBQUDNs9fD8T...

Read more...

Revision history for this message
Debian Bug Importer (debzilla) wrote :
Download full text (4.1 KiB)

Message-Id: <email address hidden>
Date: Thu, 09 Sep 2004 18:17:18 -0400
From: James Troup <email address hidden>
To: <email address hidden>
Subject: Bug#266772: fixed in binutils 2.15-3

Source: binutils
Source-Version: 2.15-3

We believe that the bug you reported is fixed in the latest version of
binutils, which is due to be installed in the Debian FTP archive:

binutils-dev_2.15-3_i386.deb
  to pool/main/b/binutils/binutils-dev_2.15-3_i386.deb
binutils-doc_2.15-3_all.deb
  to pool/main/b/binutils/binutils-doc_2.15-3_all.deb
binutils-multiarch_2.15-3_i386.deb
  to pool/main/b/binutils/binutils-multiarch_2.15-3_i386.deb
binutils_2.15-3.diff.gz
  to pool/main/b/binutils/binutils_2.15-3.diff.gz
binutils_2.15-3.dsc
  to pool/main/b/binutils/binutils_2.15-3.dsc
binutils_2.15-3_i386.deb
  to pool/main/b/binutils/binutils_2.15-3_i386.deb

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to <email address hidden>,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
James Troup <email address hidden> (supplier of updated binutils package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing <email address hidden>)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Thu, 9 Sep 2004 22:24:08 +0100
Source: binutils
Binary: binutils-dev binutils-hppa64 binutils-multiarch binutils binutils-doc
Architecture: source i386 all
Version: 2.15-3
Distribution: unstable
Urgency: low
Maintainer: James Troup <email address hidden>
Changed-By: James Troup <email address hidden>
Description:
 binutils - The GNU assembler, linker and binary utilities
 binutils-dev - The GNU binary utilities (BFD development files)
 binutils-doc - Documentation for the GNU assembler, linker and binary utilities
 binutils-multiarch - Binary utilities that support multi-arch targets
Closes: 266772 267139 270619
Changes:
 binutils (2.15-3) unstable; urgency=low
 .
   * 112_fix_reloc_sizing.dpatch: update patch based on revised change from
     Alan Modra.
 .
   * 116_ar_nonexistent_files.dpatch: new patch from Nick Clifton to fix
     ar's handling of non-existent files. Closes: #267139
 .
   * 117_mips_symbolic_link.dpatch: new patch from Thiemo Seufer to fix the
     "final link failed: Bad value" error on mips. Closes: #270619
 .
   * 118_arm_pass_all.dpatch: new kludge patch to fix broken libtool pass_all
     handling on arm and other arches.
 .
   * 119_fix_gas_double_negative.dpatch: new patch from Alan Modra via
     Daniel Jacobowitz to fix gas' handling of -- and ++. Closes: #266772
Files:
 1fe3fd410be4c52cf917b18d77c7dcee 1401 devel standard binutils_2.15-3.dsc
 bbfdb7a6b1001073315cbb64f7369453 36140 devel standard binutils_2.15-3.diff.gz
 3d01f87519e681cfeea1d3f2d955bdcc 426456 doc optional binutils-doc_2.15-3_all.deb
 f7aa22ac0199a88e83fa17a78a63744e 2222770 devel standard binutils_2.15-3_i386.deb
 9150dc98595e4d43d1431476991a84ea 2812862 devel ex...

Read more...

Changed in binutils:
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.