This is the mail archive of the gdb-patches@sourceware.org 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]

[RFC] New GDB Port CR16


Hi,

Please find attached a patch that adds support for the National Semiconductor CR16 
architecture to GDB. The sim patch is already present in the sources. This patch
enhances the sim to support breakpoints for sim based debugging.

I had earlier posted a patch to fix the build failures in CR16 sim,
http://sourceware.org/ml/gdb-patches/2012-05/msg00342.html
However these were already fixed by Mike Frysinger,
http://sourceware.org/bugzilla/show_bug.cgi?id=12862

This fixed the build failures, but the target was not emulating the correct
system calls. This patch should fix this problem by regenerating nltvals.def 
using gennltvals.sh with the following libgloss additions to Newlib posted 
recently,
http://sourceware.org/ml/newlib/2012/msg00319.html

The attached patch includes the expected nltvals.def file changes, however I 
may have not run the script correctly. Please let me know if this is ok.

Additionally, the port uses two functions from the disassembler in 
opcodes/cr16-dis.c. The static declarations have been removed from these. These
are added to the patch below. Do I need to copy that hunk to binutils mailing
list?

The port uses basic structure of the Renesas RX port and some concepts borrowed 
from the ARM port. Kindly review the same and let me know if further modifications
are required.

Additional Information on CR16 target:
The CR16 target saves the return address (right shifted by 1) onto the RA
register, which is later pushed onto the stack for leaf calls. The unwinder
takes care of this in the frame_prev_register call.
The CR16 target has a combination of 16 and 32 bit registers. R0 to R11 are
16 bits wide and can be accessed as 16 bit or 32 bit (register pair).
R12, R13, RA and SP are 32 bit registers.


2012-08-24 Kaushik Phatak  <kaushik.phatak@kpitcummins.com>

gdb/ChangeLog:
	* configure.tgt (cr16-*-elf): New target.
	* cr16-tdep.c: New file.

sim/cr16/ChangeLog:
	* interp.c (sim_complete_command): New stub function.
	* cr16_sim.h : Add defines for TRAP handling
	* simops.c: Breakpoint handling code

opcodes/ChangeLog:
	* cr16-dis.c (match_opcode): Remove static function
	declaration.
	(make_instruction): Likewise.


Thanks & Best Regards,
Kaushik
kaushik.phatak@kpitcummins.com
KPIT Cummins Infosystems Ltd
www.kpitcummins.com

Attachment: cr16_gdb.diff
Description: cr16_gdb.diff


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