Date: Wed, 1 Dec 2004 06:40:35 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha gdb_machdep.c src/sys/alpha/include gdb_machdep.h src/sys/amd64/amd64 gdb_machdep.c src/sys/amd64/include gdb_machdep.h src/sys/gdb gdb_main.c... Message-ID: <200412010640.iB16eZsA059383@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
marcel 2004-12-01 06:40:35 UTC
FreeBSD src repository
Modified files:
sys/alpha/alpha gdb_machdep.c
sys/alpha/include gdb_machdep.h
sys/amd64/amd64 gdb_machdep.c
sys/amd64/include gdb_machdep.h
sys/gdb gdb_main.c
sys/i386/i386 gdb_machdep.c
sys/i386/include gdb_machdep.h
sys/ia64/ia64 gdb_machdep.c
sys/ia64/include gdb_machdep.h
sys/sparc64/include gdb_machdep.h
sys/sparc64/sparc64 gdb_machdep.c
Log:
Change gdb_cpu_setreg() to not take the value to which to set the
specified register, but a pointer to the in-memory representation of
that value. The reason for this is twofold:
1. Not all registers can be represented by a register_t. In particular
FP registers fall in that category. Passing the new register value
by reference instead of by value makes this point moot.
2. When we receive a G or P packet, both are for writing a register,
the packet will have the register value in target-byte order and
in the memory representation (modulo the fact that bytes are sent
as 2 printable hexadecimal numbers of course). We only need to
decode the packet to have a pointer to the register value.
This change fixes the bug of extracting the register value of the P
packet as a hexadecimal number instead of as a bit array. The quick
(and dirty) fix to bswap the register value in gdb_cpu_setreg() as
it has been added on i386 and amd64 can therefore be removed and has
in fact been that.
Tested on: alpha, amd64, i386, ia64, sparc64
Revision Changes Path
1.2 +1 -1 src/sys/alpha/alpha/gdb_machdep.c
1.2 +1 -1 src/sys/alpha/include/gdb_machdep.h
1.3 +3 -4 src/sys/amd64/amd64/gdb_machdep.c
1.2 +1 -1 src/sys/amd64/include/gdb_machdep.h
1.3 +24 -10 src/sys/gdb/gdb_main.c
1.3 +3 -4 src/sys/i386/i386/gdb_machdep.c
1.2 +1 -1 src/sys/i386/include/gdb_machdep.h
1.3 +1 -1 src/sys/ia64/ia64/gdb_machdep.c
1.3 +1 -1 src/sys/ia64/include/gdb_machdep.h
1.2 +1 -1 src/sys/sparc64/include/gdb_machdep.h
1.2 +1 -1 src/sys/sparc64/sparc64/gdb_machdep.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412010640.iB16eZsA059383>
