Hello Group,
we have developed a new processor and have got a version of
gcc(3.2)(including gdb) ported to this machine by an external agency.
Here we have a problem:
Our processor is a 16-bit processor (i.e. address X is 16-bits away from
address X+1). An char and integer are 16-bits long each and a pointer is
32-bits long. In the course of using our new gdb, we observed that
whenever we are printing the value of a pointer variable, we are getting
wrong values. I tried to figure out the reason and found the following:
1. Suppose that a variable exists in memory location 0x10000057 (our
data section starts from 0x10000000 followed by BSS, HEAP(64k) and
STACK) and a pointer is assigned the address of the variable.