public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: target/3218: ARM/Thumb: Illegal byte-oriented stack instructions
@ 2002-01-22 3:26 Momchil Velikov
0 siblings, 0 replies; 4+ messages in thread
From: Momchil Velikov @ 2002-01-22 3:26 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR target/3218; it has been noted by GNATS.
From: Momchil Velikov <velco@fadata.bg>
To: pb@gcc.gnu.org
Cc: gcc-bugs@gcc.gnu.org, trauscher@loytec.com, gcc-gnats@gcc.gnu.org
Subject: Re: target/3218: ARM/Thumb: Illegal byte-oriented stack instructions
Date: 22 Jan 2002 13:23:17 +0200
>>>>> "pb" == pb <pb@gcc.gnu.org> writes:
pb> Synopsis: ARM/Thumb: Illegal byte-oriented stack instructions
pb> State-Changed-From-To: open->analyzed
pb> State-Changed-By: pb
pb> State-Changed-When: Tue Jan 22 03:12:10 2002
pb> State-Changed-Why:
pb> Bug still exists with current 3.0 sources
pb> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3218
The thread starting here is relevent to this PR.
http://gcc.gnu.org/ml/gcc-patches/2002-01/msg01263.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: target/3218: ARM/Thumb: Illegal byte-oriented stack instructions
@ 2002-09-30 5:08 rearnsha
0 siblings, 0 replies; 4+ messages in thread
From: rearnsha @ 2002-09-30 5:08 UTC (permalink / raw)
To: avbidder, gcc-bugs, gcc-prs, nobody, rearnsha, trauscher
Synopsis: ARM/Thumb: Illegal byte-oriented stack instructions
Responsible-Changed-From-To: unassigned->rearnsha
Responsible-Changed-By: rearnsha
Responsible-Changed-When: Mon Sep 30 05:08:29 2002
Responsible-Changed-Why:
.
State-Changed-From-To: analyzed->closed
State-Changed-By: rearnsha
State-Changed-When: Mon Sep 30 05:08:29 2002
State-Changed-Why:
I've checked in a change that should solve this problem on both the trunk and 3.2 branch. If you still get this problem with the fixed code then please resubmit.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3218
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: target/3218: ARM/Thumb: Illegal byte-oriented stack instructions
@ 2002-01-22 3:12 pb
0 siblings, 0 replies; 4+ messages in thread
From: pb @ 2002-01-22 3:12 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, trauscher
Synopsis: ARM/Thumb: Illegal byte-oriented stack instructions
State-Changed-From-To: open->analyzed
State-Changed-By: pb
State-Changed-When: Tue Jan 22 03:12:10 2002
State-Changed-Why:
Bug still exists with current 3.0 sources
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3218
^ permalink raw reply [flat|nested] 4+ messages in thread
* target/3218: ARM/Thumb: Illegal byte-oriented stack instructions
@ 2001-06-18 1:16 trauscher
0 siblings, 0 replies; 4+ messages in thread
From: trauscher @ 2001-06-18 1:16 UTC (permalink / raw)
To: gcc-gnats
>Number: 3218
>Category: target
>Synopsis: ARM/Thumb: Illegal byte-oriented stack instructions
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Mon Jun 18 01:16:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Thomas Rauscher
>Release: 3.0 20010528 (prerelease)
>Organization:
LoyTec electronics
>Environment:
System: Linux lexx 2.2.17 #1 Thu Oct 12 11:50:54 CEST 2000 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: arm-rtems-elf
configured with: ./configure --prefix=/prj/rtems/test --target=arm-rtems-elf --enable-languages=c --with-newlib
>Description:
Under some cirumstances (after some byte-oriented stack access), the compiler
generates sp-relative strb instructions, which are not supported by
the Thumb instruction set. When the code is less complex than the example
below, the sp register gets copied into an accessible low register before
accessing the stack, so the problem only occurs in more complex functions.
Switches: -mthumb -mbig-endian -mthumb-interwork -O3
>How-To-Repeat:
Preprocessor output:
# 16 "strb.c"
typedef struct
{
char x1, x2, x3, x4, x5, *x6;
} s1;
typedef struct
{
char x, y[8];
} s2;
extern int *a1;
extern s2 *a2;
void f1(void *p1, void *p2);
void f2(int n, char *p, int *out)
{
s1 in;
in.x1 = p[0];
in.x2 = p[1];
in.x3 = p[2];
in.x4 = p[3];
in.x5 = p[4];
in.x6 = p;
if(!in.x1)
{
f1(&a2[n].x, in.x1);
f1(&a2[n].x, &a1[n]);
if (n) *out = 0;
if (in.x1) *out = 0;
}
}
>Fix:
Probably the thumb_movqi_insn should not contain the
ldrb/strb/ldrh/strh instructions in conjunction with
the high registers for thumb mode.
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-09-30 12:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-22 3:26 target/3218: ARM/Thumb: Illegal byte-oriented stack instructions Momchil Velikov
-- strict thread matches above, loose matches on Subject: below --
2002-09-30 5:08 rearnsha
2002-01-22 3:12 pb
2001-06-18 1:16 trauscher
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).