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