public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/2853: gcc-3.0 generates incorrect code for std::strchr() for i586-pc-msdosdjgp
@ 2001-05-17 1:36 pavenis
0 siblings, 0 replies; only message in thread
From: pavenis @ 2001-05-17 1:36 UTC (permalink / raw)
To: gcc-gnats; +Cc: Mark E.
>Number: 2853
>Category: c++
>Synopsis: gcc-3.0 generates incorrect code for std::strchr() for i586-pc-msdosdjgp
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Thu May 17 01:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Andris Pavenis
>Release: gcc-3.0 20010515 (prerelease)
>Organization:
>Environment:
target i586-pc-msdosdjgpp, binutils-2.11
>Description:
gcc-3.0 20010515 generates incorrect code for call to std::strchr when cstring is included (target i586-pc-msdosdjgpp). Here is test example I used:
#include <cstring>
char * findx (char * str) { return strchr (str,'x'); }
Preprocessed source, compiler output, assembler output and
output from objdump and nm are in attachment. Generated
object file contains following code:
Disassembly of section .gnu.linkonce.t.strchr:
00000020 <strchr>:
20: 55 push %ebp
21: 89 e5 mov %esp,%ebp
23: 52 push %edx
24: 52 push %edx
25: 89 ec mov %ebp,%esp
27: 5d pop %ebp
28: e9 f3 ff ff ff jmp 20 <strchr>
2d: 8d 76 00 lea 0x0(%esi),%esi
Which causes infinite loop. After following patch to
assembler source (generated by gcc) the problem seems to disappear:
-- foo.s~1 Thu May 17 11:05:16 2001
+++ foo.s Thu May 17 11:05:38 2001
@@ -30,7 +30,7 @@
LFE1:
.section .gnu.linkonce.t.strchr,"x"
.p2align 4
- .def _strchr; .val __ZSt6strchrPKci; .scl 2; .type 0142; .endef
+ .def __ZSt6strchrPKci; .val __ZSt6strchrPKci; .scl 2; .type 0142; .endef
.weak __ZSt6strchrPKci
__ZSt6strchrPKci:
LFB2:
I cannot reproduce this problem for i686-pc-linux-gnu
Andris
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-tgz; name="c++err.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="c++err.tgz"
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
OhDu2q7t2q7t2q7t2q7t2q59B+1/0vauvwBQAAA=
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-05-17 1:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-17 1:36 c++/2853: gcc-3.0 generates incorrect code for std::strchr() for i586-pc-msdosdjgp pavenis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).