public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* How to disable Altivec registers in powerpc GDB ?
@ 2015-04-30 23:44 James Murray
  2015-05-01 13:56 ` Yao Qi
  0 siblings, 1 reply; 3+ messages in thread
From: James Murray @ 2015-04-30 23:44 UTC (permalink / raw)
  To: gdb

I've built gdb 6.9 using --target=powerpc-eabi

gdb appears to think that my target has the altivec vector registers,
although it does not. It is a Freescale MPC5xxx embedded part.

e.g. when trying to debug the embedded target via Eclipse, I'm seeing
this:
(gdb) 
5624-data-list-register-names
5624^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","r13","r14","r15","r16","r17","r18","r19","r20","r21","r22","r23","r24","r25","r26","r27","r28","r29","r30","r31","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","f13","f14","f15","f16","f17","f18","f19","f20","f21","f22","f23","f24","f25","f26","f27","f28","f29","f30","f31","pc","msr","cr","lr","ctr","xer","fpscr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","vr0","vr1","vr2","vr3","vr4","vr5","vr6","vr7","vr8","vr9","vr10","vr11","vr12","vr13","vr14","vr15","vr16","vr17","vr18","vr19","vr20","vr21","vr22","vr23","vr24","vr25","vr26","vr27","vr28","vr29","vr30","vr31","vscr","vrsave","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dl0","dl1","dl2","dl3","dl4","dl5","dl6","dl7","dl8","dl9","dl10","dl11","dl12","dl13","dl14","dl15"]
(gdb)

The target doesn't have that many registers and the remote debugger
returns an error code and drops the gdb connection if any are accessed.
I'd like gdb to only report the basic 32 GPRs and 8 specials.

I've searched online a fair bit and through the archives of this mailing
list without finding any obvious solutions.

The source appears to make reference to gdbarch determining whether
these features are enabled or not but I don't know how to use it.

I built the .elf file I'm debugging using gcc - are there any flag that
I should have set there that determine the vector register ABI that are
then used by gdb?

Any help appreciated.

regards

James Murray

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How to disable Altivec registers in powerpc GDB ?
  2015-04-30 23:44 How to disable Altivec registers in powerpc GDB ? James Murray
@ 2015-05-01 13:56 ` Yao Qi
  2015-05-01 14:32   ` James Murray
  0 siblings, 1 reply; 3+ messages in thread
From: Yao Qi @ 2015-05-01 13:56 UTC (permalink / raw)
  To: James Murray; +Cc: gdb

James Murray <james@nscc.info> writes:

> gdb appears to think that my target has the altivec vector registers,
> although it does not. It is a Freescale MPC5xxx embedded part.
>
> e.g. when trying to debug the embedded target via Eclipse, I'm seeing
> this:
> (gdb) 
> 5624-data-list-register-names
> 5624^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","r13","r14","r15","r16","r17","r18","r19","r20","r21","r22","r23","r24","r25","r26","r27","r28","r29","r30","r31","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","f13","f14","f15","f16","f17","f18","f19","f20","f21","f22","f23","f24","f25","f26","f27","f28","f29","f30","f31","pc","msr","cr","lr","ctr","xer","fpscr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","vr0","vr1","vr2","vr3","vr4","vr5","vr6","vr7","vr8","vr9","vr10","vr11","vr12","vr13","vr14","vr15","vr16","vr17","vr18","vr19","vr20","vr21","vr22","vr23","vr24","vr25","vr26","vr27","vr28","vr29","vr30","vr31","vscr","vrsave","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dl0","dl1","dl2","dl3","dl4","dl5","dl6","dl7","dl8","dl9","dl10","dl11","dl12","dl13","dl14","dl15"]
> (gdb)
>
> The target doesn't have that many registers and the remote debugger
> returns an error code and drops the gdb connection if any are accessed.
> I'd like gdb to only report the basic 32 GPRs and 8 specials.

Your debug stub/probe should return the right target description for
your processor, to tell GDB that processor doesn't have these altivec
registers.  See
https://sourceware.org/gdb/current/onlinedocs/gdb/Target-Descriptions.html

-- 
Yao (齐尧)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How to disable Altivec registers in powerpc GDB ?
  2015-05-01 13:56 ` Yao Qi
@ 2015-05-01 14:32   ` James Murray
  0 siblings, 0 replies; 3+ messages in thread
From: James Murray @ 2015-05-01 14:32 UTC (permalink / raw)
  To: gdb; +Cc: Yao Qi

On Fri, 2015-05-01 at 14:56 +0100, Yao Qi wrote:
> Your debug stub/probe should return the right target description for
> your processor, to tell GDB that processor doesn't have these altivec
> registers.  See
> https://sourceware.org/gdb/current/onlinedocs/gdb/Target-Descriptions.html
> 

Many thanks for that.

I've created a target description from the examples in the gdb source
and then used:

set tdesc filename ppc32.xml

and it works!

regards

James Murray


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-01 14:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-30 23:44 How to disable Altivec registers in powerpc GDB ? James Murray
2015-05-01 13:56 ` Yao Qi
2015-05-01 14:32   ` James Murray

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).