GDB version: 5.2

Compilation:
  compiler (version): gcc 2.95.3 (host and target)
  procedure for gdb:
    configure
    make
    cd gdb/gdbserver
    export CC=/usr/arm-linux-uclibc/bin/gcc  #(see www.uclibc.org)
    rm *.cache
    configure --build=i686-pc-linux 
              --target=arm-linux 
              --prefix=/usr/arm-linux-uclibc
    make clean
    make
  procedure for debugged prog:
    this program is a simple loop showing integers
    from 0 to 9 compiled with same gcc

Platforms:
  host: IBM compatible pc (i686-pc-linux-gnu)
  target: ARM CS89712 processor
  note:
    Target has a strange word alignment. With the contents:
    Adress: 4k+0 4k+1 4k+2 4k+3
    Data:      0    1    2    3

    reading an int from
      4k+0 gives 03 02 01 00
      4k+1 gives 00 03 02 01
      4k+2 gives 01 00 03 02
      4k+3 gives 02 01 00 03

Commands:
  target:
    gdbserver host_ip:123 test.arm
  host
    gdb test.arm
      target remote target_ip:123
      break main
      continue

The error is:
   Could not write to memory at ...

After a little debug I found that:
 1. after 'continue' command
 2. the host send some 'm' packets (read memory)
 3. and then tries two times to write by sending 'M' packets
 4. in gdbserver, linux-low.h, write_inferior_memory
 5. a call to ptrace(PTRACE_POKETEXT,...) is made
 6. and this call returns errno=5=EIO.

bye,
 radu

PS: please reply.


__________________________________________________
Do You Yahoo!?
Sign up for SBC Yahoo! Dial - First Month Free
http://sbc.yahoo.com

_______________________________________________
Bug-gdb mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gdb

Reply via email to