From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Blandy To: Andrew Cagney Cc: Jim Blandy , Michael Snyder , gdb-patches@sources.redhat.com Subject: Re: [RFC/RFA] gdb extension for Harvard architectures Date: Tue, 02 Oct 2001 16:14:00 -0000 Message-id: References: <3BB4D843.A92818B9@cygnus.com> <3BB512A9.6050801@cygnus.com> <3BB5195F.6050603@cygnus.com> <3BBA2DC9.5060500@cygnus.com> X-SW-Source: 2001-10/msg00040.html Andrew Cagney writes: > Any way, consider the intent of someone entering a sequence like: > > (gdb) x/w foo > 0x0 > (gdb) x/i foo > nop > (gdb) print/x *(int*)foo > 0xdeadbeef > > vs > (gdb) print/x *(int*)foo > 0x0 > > and where should this go: > > (gdb) set *(int*)foo = 0xdeadbeef > > This mysterious address switching strikes me as wierd. It *is* weird, but I think it's an intrinsic weirdness of Harvard architectures that it would be a disservice to conceal. Seriously, you can't protect the user from the oddities of the chip they're working on. And I think we shouldn't: GDB's job is to help people observe the behavior of the program, and tools for observation must be careful not to edit reality too much. It's perfectly okay to tell someone, "You don't understand your architecture; do it this way." (Rather, the manual should say this, and we should point them at it.)