This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


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

Re: [RFC/RFA] gdb extension for Harvard architectures


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

We're also expected to make GDB user friendly.

In the above, if the user wanted to convert the function pointer into a 
data pointer then they would enter:

	(@data int *)foo

and who knows what the result would be.

Andrew



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