bug-gdb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem with 4.18 on sparc running suse-linux


From: Jeff Graham
Subject: Problem with 4.18 on sparc running suse-linux
Date: Mon, 6 May 2002 16:17:04 -0700

Hi I am looking for a fix for a problem we are seeing with SuSE 7.3
sparc.  It occurs on the package that comes with SuSE 7.3 iso images
(4.18)

I am attaching a sample source file for recreating the problem.  I am
looking for a fix or work around.

Below, please see a description of the issue.

Here is the text describing the bug (this is also included in the source

comments):

Sample program that shows a bug in gdb.  The bug is described from a C
language perspective as well as from a machine language perspective (the
latter will help the implementor in isolating the cause of the problem)

The bug in terms of "C":
Single stepping through this statement (val1 == 
0x00000200):

      byte = (val1 & 0x00007f00) >> 8;

causes byte to be assigned the incorrect value of 0x00 when it should
have been assigned 0x02.


The bug in terms of Sparc machine code:
Single stepping on a Shift Right Logical overwrites %o0 -
the "srl %o0, 8, %o1" instruction changes the value of %o0
(to 0) during srl execution, resulting in both %o0 and %o1
to contain 0 (they should contain 0x0200 and 0x2 respectively).


Conditions for the bug:

1) this behavior is manifested only when single stepping through the
line described (step or next)

2) this only happens if the value being shifted is 0x0200!!! Try any
other value (single step ok) and it works..

compiled with "gcc -g gbug.c"

-- 
Jeff Graham <address@hidden> Manager IT   (408) 376-1350
Silverback Systems
695 Campbell Technology Parkway, Suite 150
Campbell, CA 95008

Attachment: Jeffery A. Graham.vcf
Description: Vcard

Attachment: gbug.c
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]