This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Does GDB 6.7.1 for PowerPC require the framepointer register for backtracing?


We recently upgraded from GDB 6.3 to GDB 6.7.1 and noticed that for PowerPC we can longer get a backtrace in certain cases. The problem is that when we initially attach to an existing process on a remote target, only the PC and SP registers are available. This worked fine with GDB 6.3 when doing a backtrace. However, GDB 6.7.1 fails when doing a backtrace in this case, and it seems that it tries to use the framepointer register (R31) for doing the backtrace and since this register is not available (i.e. it has value 0 in GDB's perspective), the backtrace fails.

Does GDB 6.7.1 requires the framepoint register (R31) for doing a backtrace?

I have also noticed that if I don't install the dwarf2_frame_sniffer() and rs6000_adjust_frame_regnum() functions in rs6000_gdbarch_init() in rs6000-tdep.c, the backtrace works again even if the framepointer register is not available. However, I'm not sure exactly why... Is it safe to omit these two functions?


-- --------------------------------- Stefan Bylund Senior Software Engineer Enea Skalholtsgatan 9, Box 1033, SE-164 21 Kista, Sweden Direct: +46 8 50 71 43 25 Mobile: +46 709 71 43 25 --------------------------------- Enea - Embedded for Leaders ---------------------------------

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]