Summary: | [2.20 regression] gas creates wrong code which results in a test failure in libcrypto++'s sha2 test | ||
---|---|---|---|
Product: | binutils | Reporter: | Matthias Klose <doko> |
Component: | gas | Assignee: | Alan Modra <amodra> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bug-binutils, freddy77, zooko |
Priority: | P2 | ||
Version: | 2.20 | ||
Target Milestone: | --- | ||
Host: | Target: | x86_64-linux-gnu | |
Build: | Last reconfirmed: | 2009-10-28 06:46:51 | |
Bug Depends on: | |||
Bug Blocks: | 11037 | ||
Attachments: |
diff of disassembled files
sha .s and .o files |
Description
Matthias Klose
2009-10-27 23:54:55 UTC
Created attachment 4329 [details]
diff of disassembled files
Created attachment 4330 [details]
sha .s and .o files
Simpler testcase: .text .intel_syntax noprefix .space 5480 .byte 0,0,0 0: .space 1620 .byte 0 1: .space 2468 nop jne 1b .space 52 nop jl 0b Without the .intel_syntax this assembles OK. Subject: Bug 10856 CVSROOT: /cvs/src Module name: src Changes by: amodra@sourceware.org 2009-10-28 08:21:45 Modified files: gas : ChangeLog expr.c gas/testsuite : ChangeLog gas/testsuite/gas/i386: intelpic.d Log message: PR gas/10856 * expr.c (resolve_expression): Only add "left" value to O_symbol expression when the symbol is undefined and different from the original symbol. Simplify negative logic. * gas/i386/intelpic.d: Correct. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&r1=1.3999&r2=1.4000 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/expr.c.diff?cvsroot=src&r1=1.78&r2=1.79 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1573&r2=1.1574 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/i386/intelpic.d.diff?cvsroot=src&r1=1.3&r2=1.4 Subject: Bug 10856 CVSROOT: /cvs/src Module name: src Branch: binutils-2_20-branch Changes by: amodra@sourceware.org 2009-10-28 08:23:49 Modified files: gas : ChangeLog expr.c Log message: PR gas/10856 * expr.c (resolve_expression): Only add "left" value to O_symbol expression when the symbol is undefined and different from the original symbol. Simplify negative logic. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_20-branch&r1=1.3938.2.27&r2=1.3938.2.28 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/expr.c.diff?cvsroot=src&only_with_tag=binutils-2_20-branch&r1=1.77.2.1&r2=1.77.2.2 checked that the sha test passes, when sha.o is built with this patch. . *** Bug 10906 has been marked as a duplicate of this bug. *** Any indication of when this fix is likely to get into a release? The more OS distributions as 2.20 goes into, the more problems this bug will cause. This launchpad page tracks the increasing number of OS distributions and open source projects that are being negatively affected by the bug in 2.20: https://bugs.launchpad.net/fedora/+source/binutils/+bug/461303 Subject: Re: [2.20 regression] gas creates wrong code which results in a test failure in libcrypto++'s sha2 test
On Dec 13, 2009, at 6:55 PM, david-sarah at jacaranda dot org wrote:
>
> ------- Additional Comments From david-sarah at jacaranda dot org 2009-12-13 17:55 -------
> Any indication of when this fix is likely to get into a release? The more OS
> distributions as 2.20 goes into, the more problems this bug will cause.
I agree that this is annoying. What about a 2.20.1 release in January ?
Tristan.
Hey folks, some distributions such as MinGW have still not patched their version of binutils or reverted to binutils 2.19: https://sourceforge.net/tracker/index.php?func=detail&aid=2913876&group_id=2435&atid=102435 This is still causing problems for my users: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/853 If you folks could go ahead and release a binutil 2.20.1 then that might stimulate distributors like MinGW to upgrade to it and that would fix the problem for my users. Thanks! binutils 2.20.1, released 2010-03-03, does *not* have the ChangeLog entry from http://sourceware.org/bugzilla/show_bug.cgi?id=10856#c5 but *does* have the patch to expr.c. Weird. But I guess it is fixed in binutils 2.20.1. |