Targets with non-byte-addressable memory

Dave Korn dave.korn@artimi.com
Fri Sep 23 17:12:00 GMT 2005


----Original Message----
>From: Vladimir Prus
>Sent: 23 September 2005 09:56

> Hello!
> 
> Does anybody has experience of porting gdb to a target where memory is not
> byte-addressable. That is, if you read 0x80000007 you get 4 bytes and if
> you read 0x80000008 you get another 4 bytes.
> 
> The source has TARGET_CHAR_BIT macro, but no target under "config" makes
> use of them which makes me suspect that setting it won't do any good. In
> fact, after setting it to 32, I get compile error in ax-gdb.c:
> 
>         case 8 / TARGET_CHAR_BIT:
>           ax_simple (ax, aop_ref8);
>           break;
>         case 16 / TARGET_CHAR_BIT:
>           ax_simple (ax, aop_ref16);
>           break;
>         case 32 / TARGET_CHAR_BIT:
>           ax_simple (ax, aop_ref32);
>           break;
>         case 64 / TARGET_CHAR_BIT:
>           ax_simple (ax, aop_ref64);
> 
> as both 8/32 and 16/32 give 0, and I get duplicate case label.


  Changing TARGET_CHAR_BIT is the wrong way to go.  Basically, IIUIC, you
shouldn't need to do anything at all for native debugging, and for remote
debugging, you'll have to take care of it in the stub/server.



    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....



More information about the Gdb mailing list