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).