From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stan Shebs To: philb@gnu.org Cc: gdb-patches@cygnus.com Subject: Re: patch for gdbserver/low-linux.c Date: Wed, 14 Apr 1999 12:46:00 -0000 Message-id: References: X-SW-Source: 1999-q2/msg00032.html pb@nexus.co.uk (Philip Blundell) writes: > This patch cleans up some of the machine dependence in low-linux.c slightly > and adds ARM support. Hi, thanks for this patch! But I'd like to solve the problem in a slightly different way. gdbserver is a sort of proxy for GDB, in that uses the same process control bits (ptrace, /proc, etc) as does native GDB, but stripped down to fit in the small dedicated program. However, in the long run it's a weak strategy to maintain a pseudo-clone of native debug support; instead I think we should work up a way to allow gdbserver and gdb to share the low-level bits and thus automatically have gdbserver for every port. We can take a step along this path by making a separate low-armlinux.c for ARM Linux and so forth, and then making low-linux.c generic. If you do the ARM Linux bits, I'll help with making the other changes. Stan From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stan Shebs To: philb@gnu.org Cc: gdb-patches@cygnus.com Subject: Re: patch for gdbserver/low-linux.c Date: Wed, 14 Apr 1999 13:20:00 -0000 Message-ID: References: X-SW-Source: 1999-04/msg00029.html Message-ID: <19990414132000.Bb-ILTbReXUCqrBNBCc3k_0oO_KGc0Vm3BesY5V_Pns@z> pb@nexus.co.uk (Philip Blundell) writes: > This patch cleans up some of the machine dependence in low-linux.c slightly > and adds ARM support. Hi, thanks for this patch! But I'd like to solve the problem in a slightly different way. gdbserver is a sort of proxy for GDB, in that uses the same process control bits (ptrace, /proc, etc) as does native GDB, but stripped down to fit in the small dedicated program. However, in the long run it's a weak strategy to maintain a pseudo-clone of native debug support; instead I think we should work up a way to allow gdbserver and gdb to share the low-level bits and thus automatically have gdbserver for every port. We can take a step along this path by making a separate low-armlinux.c for ARM Linux and so forth, and then making low-linux.c generic. If you do the ARM Linux bits, I'll help with making the other changes. Stan >From rearnsha@arm.com Wed Apr 14 13:21:00 1999 From: Richard Earnshaw To: Stan Shebs Cc: richard.earnshaw@arm.com Subject: Re: support for ARM GNU/Linux Date: Wed, 14 Apr 1999 13:21:00 -0000 Message-id: <199904141917.UAA27757@sun52.NIS.cambridge> References: <199904141834.LAA12554@andros.cygnus.com> X-SW-Source: 1999-04/msg00030.html Content-length: 2049 shebs@cygnus.com said: > A side-note, before ARM Architecture v4 many "undefined" > instruction formats aren't guaranteed to take the undefined > instruction trap. Also note that, in this respect, the ARM7TDMI > is NOT fully ARM v4 compliant. > I don't quite understand - I hope ARM7TDMI is guaranteed to take the > trap, since Angel monitors are depending on that. I should have been more precise with my wording. The words in the ARM ARM say that ARMv4 defines several new undefined instructions (ie instructions that will take the undefined instruction trap). In fact, although the 7TDMI is nominally v4t (and hence includes all of v4) it does not in fact add the new undefined instructions, though it implements the rest of the v4 architecture. The new undefined instructions in v4 are all instructions which had no defined behaviour in earlier chips (but for which there was no guarantee that they would raise an exception); I believe most of the instructions were NOPs but I could be wrong. In practice, I think it is only safe to rely on instructions matching 3 2 2 2 2 2 1 8 7 6 5 4 5 4 3 0 C C C C 0 1 1 x x x x x x x x x x x x x x x x x x x x 1 x x x x taking the undefined trap, and even then only when the condition predicate is true. > I don't know if anyone cares about RISC iX support any more (though > gcc still supports it). > You'd be most likely to know if anyone would, methinks! Since we've > adopted a policy of marking and ultimately deleting obsolete code in > GDB, and RISC iX is one of the candidates, any information you could > provide would be helpful. Do you know if anybody is using a RISC iX > system nowadays, and if they would have any interest in a port of > current GDB? Not necessarily, it was an Acorn Product not an ARM one. I do have one at home, but it's slow by today's standards and makes a lot of noise, so it isn't switched on very often (I really only keep it in case a problem gets reported).