This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

memory window: bug wrt endianness


Hi,

I think I found a bug with the implementation of the memory
window in insight-5.1: values written to memory from the memory
window are written with the wrong endianness (at least in the "word" 
representation of the window).

This was observed on a Suse Linux system with insight-5.1 installed.


Consider the following trivial program:

#include <stdio.h>

int i = 1;

int main() {
  printf("Hello World: %d\n",i);
  return 0;
}

At a breakpoint at the printf statement, I get in a console window:

(gdb) p i
$1 = 1

(gdb) p &i
$2 = (int *) 0x8049518

When I open the memory window, it displays 0x00000001 in the field
which corresponds to address 0x8049518. Then I click into this field,
change this to 0x00000002 and press Enter. The field continues to
display 0x00000002. When I scroll up or down in the memory window
the contents of this field suddenly changes to 0x02000000. This value
appears also in the console window:

(gdb) p /x i
$3 = 0x2000000

>From this I conclude that the "memory write" from the memory window
in insight-5.1 has written the value of i with the wrong endianness.
This can also be seen when I change the "size" preference to "Byte":
the value "2" was written to 0x804951b and not to 0x8049518.

I could myself do some debugging, so: Could anybody give me a hint where 
to look for the reason for this ?



-------------------
Regards
Dieter Ruppert
RTS GmbH
ru@swb.siemens.de


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]