From 261f99bdac9a995f8b2740b7ae52c8ad81001132 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 2 Aug 2007 15:00:07 +0000 Subject: 2007-08-02 Joel Sherrill * configure.ac, wrapup/Makefile.am: Remove RDBG. * aclocal/check-rdbg.m4, aclocal/enable-rdbg.m4, librdbg/.cvsignore, librdbg/Makefile.am, librdbg/preinstall.am, librdbg/include/rdbg/rdbg.h, librdbg/include/rdbg/servrpc.h, librdbg/include/rdbg/i386/rdbg_f.h, librdbg/include/rdbg/i386/reg.h, librdbg/include/rdbg/m68k/rdbg_f.h, librdbg/include/rdbg/m68k/reg.h, librdbg/include/rdbg/powerpc/rdbg_f.h, librdbg/include/rdbg/powerpc/reg.h, librdbg/src/_servtgt.c, librdbg/src/awk.svc, librdbg/src/excep.c, librdbg/src/ptrace.c, librdbg/src/rdbg.c, librdbg/src/remdeb.x, librdbg/src/servbkpt.c, librdbg/src/servcon.c, librdbg/src/servrpc.c, librdbg/src/servtgt.c, librdbg/src/servtsp.c, librdbg/src/servutil.c, librdbg/src/i386/excep_f.c, librdbg/src/i386/rdbg_cpu_asm.S, librdbg/src/i386/rdbg_f.c, librdbg/src/i386/any/remdeb.h, librdbg/src/i386/any/remdeb_f.x, librdbg/src/i386/any/remdeb_svc.c, librdbg/src/i386/any/remdeb_xdr.c, librdbg/src/m68k/excep_f.c, librdbg/src/m68k/rdbg_cpu_asm.S, librdbg/src/m68k/rdbg_f.c, librdbg/src/m68k/any/remdeb.h, librdbg/src/m68k/any/remdeb_f.x, librdbg/src/m68k/any/remdeb_svc.c, librdbg/src/m68k/any/remdeb_xdr.c, librdbg/src/powerpc/excep_f.c, librdbg/src/powerpc/rdbg_cpu_asm.S, librdbg/src/powerpc/rdbg_f.c, librdbg/src/powerpc/new_exception_processing/remdeb.h, librdbg/src/powerpc/new_exception_processing/remdeb_f.x, librdbg/src/powerpc/new_exception_processing/remdeb_svc.c, librdbg/src/powerpc/new_exception_processing/remdeb_xdr.c: Removed. --- c/src/librdbg/src/remdeb.x | 511 --------------------------------------------- 1 file changed, 511 deletions(-) delete mode 100644 c/src/librdbg/src/remdeb.x (limited to 'c/src/librdbg/src/remdeb.x') diff --git a/c/src/librdbg/src/remdeb.x b/c/src/librdbg/src/remdeb.x deleted file mode 100644 index 3415f0e92a..0000000000 --- a/c/src/librdbg/src/remdeb.x +++ /dev/null @@ -1,511 +0,0 @@ -/* - ********************************************************************** - * - * Component: RDBG servers - * Module: remdeb.x - * - * Synopsis: XDR definitions for remote debug server RPC calls. - * XDR definitions for RPCGEN to build remote debug server. - * - * $Id$ - * - ********************************************************************** - */ - -#ifdef RPC_SVC -%/*HEADER_START*/ -#endif - -%#define RTEMS_PORT 2071 -%#define RTEMS_BACK_PORT 2073 - -#ifdef RPC_HDR -%#ifndef REMDEB_H -%#define RPCGENSRVNAME(a) a -#endif - -enum rpc_type { - SUNRPC = 0, - BADRPCTYPE = 25 -}; - - -const NET_SAFE = 1400; /* this is safe for UDP messages */ - -struct UDP_MSG -{ /* format of UDP messages (should be in .h) */ - unsigned char type; /* type of message (BMSG_xx) */ - unsigned char msg_num; /* ringed number for resend detect */ - unsigned short spec; /* specific information for type */ - long pid; /* process this affects */ - unsigned long context; /* specific information to request */ -}; - - /* First we support the overhead structures and types needed for RPC - requests. Then, we have all RPC routines input/output args. */ - -%/* -% * Sun request values for the remote ptrace system call -% */ -% -enum ptracereq -{ /* these match PTRACE_xxx numbers */ - RPT_TRACEME = 0, /* 0, by tracee to begin tracing */ - RPT_CHILDDONE = 0, /* 0, tracee is done with his half */ - RPT_PEEKTEXT, /* 1, read word from text segment */ - RPT_PEEKDATA, /* 2, read word from data segment */ - RPT_PEEKUSER, /* 3, read word from user struct */ - RPT_POKETEXT, /* 4, write word into text segment */ - RPT_POKEDATA, /* 5, write word into data segment */ - RPT_POKEUSER, /* 6, write word into user struct */ - RPT_CONT, /* 7, continue process */ - RPT_KILL, /* 8, terminate process */ - RPT_SINGLESTEP, /* 9, single step process */ - RPT_ATTACH, /* 10, attach to an existing process (returns 2 if not primary)*/ - RPT_DETACH, /* 11, detach from a process */ - RPT_GETREGS, /* 12, get all registers */ - RPT_SETREGS, /* 13, set all registers */ - RPT_GETFPREGS, /* 14, get all floating point regs */ - RPT_SETFPREGS, /* 15, set all floating point regs */ - RPT_READDATA, /* 16, read data segment */ - RPT_WRITEDATA, /* 17, write data segment */ - RPT_READTEXT, /* 18, read text segment */ - RPT_WRITETEXT, /* 19, write text segment */ - RPT_GETFPAREGS, /* 20, get all fpa regs */ - RPT_SETFPAREGS, /* 21, set all fpa regs */ - RPT_22, /* 22, filler */ - RPT_23, /* 23, filler */ - RPT_SYSCALL, /* 24, trap next sys call */ - RPT_DUMPCORE, /* 25, dump process core */ - RPT_26, /* 26, filler */ - RPT_27, /* 27, filler */ - RPT_28, /* 28, filler */ - RPT_GETUCODE, /* 29, get u.u_code */ - /* Begin specific ptrace options */ - RPT_GETTARGETTHREAD = 50, /* get PM target thread identifier */ - RPT_SETTARGETTHREAD = 51, /* set PM target thread identifier */ - RPT_THREADSUSPEND = 52, /* suspend a thread */ - RPT_THREADRESUME = 53, /* resume a thread */ - RPT_THREADLIST = 54, /* get list of process's threads */ - RPT_GETTHREADNAME = 55, /* get the name of the thread */ - RPT_SETTHREADNAME = 56, /* set the name of the thread */ - RPT_SETTHREADREGS = 57, /* set all registers for a specific thread*/ - RPT_GETTHREADREGS = 58, /* get all registers for a specific thread*/ - /* Begin extended ptrace options for remote debug server */ - RPT_STEPRANGE = 75, /* step while in range (addr=start, data=len) */ - RPT_CONTTO = 76, /* cont from PC to temp break in addr */ - RPT_SETBREAK = 77, /* set a breakpoint (addr=break) */ - RPT_CLRBREAK = 78, /* clear a breakpoint (data=handle or 0 for all) */ - RPT_GETBREAK = 79, /* get breakpoint (data=handle, addr=buffer to - fill). Returns next break. If data=0, - returns number of breaks. */ - RPT_GETNAME = 80, /* get name of process (data 0=name, 1=path - as started, 2=fullpath). Return in addr - as mem) */ - RPT_STOP = 81, /* (C-actors) Stop the C-actor */ - RPT_PGETREGS = 82, /* portable version */ - RPT_PSETREGS = 83, /* portable version */ - RPT_PSETTHREADREGS = 84, /* portable version */ - RPT_PGETTHREADREGS = 85 /* portable version */ -}; - -#include FRONTEND - -const MAXDEBUGGEE= 150; -const NAMEMAX = 17; - -% /* -% * Memory data for read/write text or data. The size is in data. The target -% * addr is in the addr field. -% * Be careful before modifying because this value goes into internal -% * pipes and is allocated on stack too. Pipes and/or the stack could -% * become too small if this value gets incremented. -% */ - -const MEM_DATA_MAX = 256; - -#ifndef RPC_XDR - -struct xdr_mem { - u_long addr; - u_int dataNb; - unsigned char data[MEM_DATA_MAX]; -}; - -#else -/* manually define best XDR function for this */ -%bool_t xdr_xdr_mem(xdrs, objp) -% XDR *xdrs; -% struct xdr_mem *objp; -%{ -% if (!xdr_u_long(xdrs, &objp->addr)) { -% return (FALSE); -% } -% if (!xdr_u_int(xdrs, &objp->dataNb)) { -% return(FALSE); -% } -% return (xdr_opaque(xdrs, objp->data, objp->dataNb)); -%} - -#endif - -/* Breakpoint structure maps to same structure on host. Do not change one - without changing the other. */ - -enum break_type -{ /* types of breakpoints */ - BRKT_NONE, /* unused entry */ - BRKT_INSTR, /* general instruction break */ - BRKT_READ, /* read break */ - BRKT_WRITE, /* write breakpoint */ - BRKT_ACCESS, /* read-or-write break */ - BRKT_EXEC, /* execution HW breakpoint */ - BRKT_OS_CALL, /* break on OS call, addr is call number */ - BRKT_OS_SWITCH, /* dispatch breakpoint */ - BRKT_STEPEMUL /* emulate hardware single-step */ -}; -const MAX_THRD_BRK = 4; /* enough for 128 threads per process */ -struct xdr_break -{ /* one per process local breakpoint */ - u_char type; /* BRKT_xxx type of break */ - u_char thread_spec; /* 0=all, else count of threads it affects */ - u_short handle; /* handle of breakpoint returned */ - u_long ee_loc; /* address of start */ - u_long ee_type; /* type/method of address */ - u_short length; /* length of break if range, else 0 */ - u_char pass_count; /* pass count to initialize to (0=none) */ - u_char curr_pass; /* pass count current value */ - u_long thread_list[MAX_THRD_BRK]; /* bit map for thread list */ -}; /* 20 bytes+4 per thread_list (4x4=16) = 36 */ - -const UTHREAD_MAX = 64; - -const THREADNAMEMAX = 16; -typedef string thread_name ; - -struct KernThread { - unsigned int threadLi; -}; - -#ifndef RPC_XDR - -#ifdef RPC_HDR -%typedef KernThread *ptThreadList; -#endif - -struct thread_list { - unsigned int nbThread; - ptThreadList threads; -}; - -#else /* RPC_XDR */ - -/* must write this function by hand */ - -%bool_t xdr_thread_list(xdrs, objp) -% XDR *xdrs; -% struct thread_list *objp; -%{ -% return (xdr_array(xdrs, (char**)&objp->threads, &objp->nbThread, -% UTHREAD_MAX, sizeof(KernThread), xdr_KernThread)); -%} - -#endif /* not RPC_XDR */ - - -union ptrace_addr_data_in switch (ptracereq req) { - /* - * due to rpcgen poor features, we cannot put RPC_SETREGS - * AND RPC_SETTHREADREGS in the case list. So we use a hack (FIX rpcgen). - */ -#ifndef RPC_HDR - case RPT_SETTHREADREGS : - xdr_regs regs; -#endif - case RPT_SETREGS: - - xdr_regs regs; - -#ifndef RPC_HDR - case RPT_PSETTHREADREGS: - u_int pregs<>; -#endif - case RPT_PSETREGS: - u_int pregs<>; - -#ifdef LATER - case RPT_SETFPREGS: - xdr_fp_status fpregs; -#endif - case RPT_SETTHREADNAME: - thread_name name; -#ifndef RPC_HDR - case RPT_WRITETEXT: - xdr_mem mem; -#endif - case RPT_WRITEDATA: - xdr_mem mem; - case RPT_SETBREAK: - xdr_break breakp; - default: - u_int address; -}; - -union ptrace_addr_data_out switch (ptracereq req) { - case RPT_GETREGS: - xdr_regs regs; -#ifndef RPC_HDR - case RPT_GETTHREADREGS: - xdr_regs regs; -#endif - - case RPT_PGETREGS: - u_int pregs<>; - -#ifndef RPC_HDR - case RPT_PGETTHREADREGS: - u_int pregs<>; -#endif - -#ifdef LATER - case RPT_GETFPREGS: - xdr_fp_status fpregs; -#endif - case RPT_THREADLIST: - thread_list threads; - case RPT_GETTHREADNAME: - thread_name name; -#ifndef RPC_HDR - case RPT_READTEXT: - xdr_mem mem; - case RPT_GETNAME: - xdr_mem mem; -#endif - case RPT_READDATA: - xdr_mem mem; - case RPT_GETBREAK: - xdr_break breakp; - default: - u_int addr; -}; - -typedef opaque CHAR_DATA ; /* variable sized data */ - -typedef string one_arg ; - -% /* now open_connex() routine which establishes a connection to server */ - -enum debug_type -{ /* type of connection requested */ - DEBTYP_PROCESS = 0, /* process connection */ - DEBTYP_C_ACTOR = 1, /* C-Actor connection */ - DEBTYP_KERNEL = 2, /* kernel debug connection */ - DEBTYP_OTHER = 3 /* other subsystem */ -}; - -%#define DEBUGGER_IS_GDB 0x2 /* */ - -struct open_in -{ /* input args to open a connection */ - u_char back_port[16]; /* opaque NET address format */ - u_short debug_type; /* type of process DEBTYP_xxx */ - u_short flags; /* connection information OPNFLG_xxx */ - u_char destination[16];/* opaque address if to router */ - one_arg user_name; /* name of user on host */ -}; - -struct open_out -{ /* return from open_connex */ - u_long port; /* connection number to server or -1 if error */ - u_int pad[4]; /* Planned to be KnIpcDest. Never used */ - u_int fp; /* True if floating point processor. If error, - set to errno for open error. */ - u_char cmd_table_num; /* command table used */ - u_char cmd_table_vers; /* version of command table */ - u_short server_vers; /* version number of server itself */ -}; - -% /* now close_connex() routine which detaches from server */ - -enum close_control -{ /* choice of how to handle owned processes */ - CLOSE_IGNORE = 0, /* ignore all controlled pids on close */ - CLOSE_KILL = 1, /* kill all controlled pids on close */ - CLOSE_DETACH = 2 /* detach free running all controlled pids */ -}; - -struct close_in -{ /* arg to close connection */ - close_control control; /* shutdown of owned processes control */ -}; - -% /* now send_signal() routine which sends signals to processes like kill(2) */ - -struct signal_in -{ /* input to send_signal */ - int pid; /* process/actor to send signal to */ - int sig; /* signal to send (from /usr/include/signal.h) */ -}; - -struct signal_out -{ /* return from send_signal */ - int kill_return; /* return code from kill(2) call */ - int errNo; /* error code if failed */ -}; - - -% /* now wait_info() routine which returns results of polling the wait status -% of a process/actor. It may return 0 if running, else pid or -1 */ - -enum stop_code -{ /* stop code information */ - STOP_ERROR = 0, /* error, errno set */ - STOP_NONE = 1, /* not stopped */ - STOP_UNKNOWN = 2, /* unknown stop reason */ - STOP_BREAK = 3, /* stopped on breakpoint */ - STOP_STEP = 4, /* stopped on step */ - STOP_SIGNAL = 5, /* stopped on signal receieve */ - STOP_TERM_EXIT = 6, /* terminated normally */ - STOP_TERM_SIG = 7, /* terminated by signal */ - STOP_DETACHED = 8, /* detached from server */ - STOP_KILLED = 9, /* killed by ptrace KILL */ - STOP_SPAWN_FAILED = 10 /* spawn failed in exec part, handle=errno */ -}; - -struct wait_in -{ /* input arg to wait is process */ - int pid; /* process/actor id */ -}; - -struct wait_out -{ /* result of wait_info call */ - int wait_return; /* -1=error,0=running,pid=stopped */ - int errNo; /* error code if error */ - int status; /* wait(2) status if stopped */ - stop_code reason; /* reason in more abstracted terms */ - int handle; /* handle of break if stopped on break, - or signal number or exit code */ - u_long PC; /* program counter if stopped */ - u_long SP; /* stack pointer if stopped */ - u_long FP; /* frame pointer if stopped */ - u_long thread; /* thread that stopped if applies (else -1) */ -}; - -% /* now ptrace() routine. This matches the Sun UNIX ptrace as well as -% some additions */ - -const PTRFLG_FORCE = 1; /* when set and process running, forces process - to stop, make the request, then start again. - This is used for breakpoints and the like */ -const PTRFLG_NON_OWNER = 2; /* do request even if not primary owner (will - notify all owners including caller if owns) */ -const PTRFLG_FREE = 4; /* free pid_list after KILL/DETACH */ - -const PTRDET_UNOWN = 0x100; /* data value in RPT_DETACH just disconnects - caller as an owner of process. */ - -struct ptrace_in -{ /* input args matches ptrace but for XDR */ - int pid; /* process to act on */ - ptrace_addr_data_in addr; /* mappings for addr and addr2 */ - u_int data; /* simple data arg of ptrace */ - u_int flags; /* mask of PTRFLG_xxx flags. */ -}; - -struct ptrace_out -{ /* return information from ptrace */ - ptrace_addr_data_out addr; /* return through addr/addr2 */ - int result; /* result of ptrace call (return value) */ - int errNo; /* error code if error */ -}; - - /* Data for GET_GLOBAL_SYMBOLS */ -struct one_symbol { /* Must match common/src/lib/ctx/ctx.h */ - string symbolName<>; - long symbolValue; -}; - -typedef one_symbol all_symbols<>; - -struct get_global_symbols_out { - all_symbols symbols; -}; - - /* Data for GET_TEXT_DATA */ -struct get_text_data_in { - int pid; /* process/actor id if non-zero */ - string actorName<16>; /* actor name for system mode */ -}; - -struct get_text_data_out { - int result; - int errNo; - u_long textStart; - u_long textSize; - u_long dataStart; - u_long dataSize; -}; - - /* Data for GET_SIGNAL_NAMES */ -struct one_signal { - u_int number; - string name<>; -}; - -typedef one_signal all_signals<>; - -struct get_signal_names_out { - all_signals signals; -}; - -% /* now define the actual calls we support */ - -program REMOTEDEB { - version REMOTEVERS { - - /* open a connection to server or router */ - open_out - OPEN_CONNEX(open_in) = 1; - - /* send a signal to a process */ - signal_out - SEND_SIGNAL(signal_in) = 2; - - /* all routines below require a connection first */ - - /* close the connection to the server */ - void - CLOSE_CONNEX(close_in) = 10; - - /* process ptrace request */ - ptrace_out - PTRACE(ptrace_in) = 11; - - /* poll for status of process */ - wait_out - WAIT_INFO(wait_in) = 13; - - get_signal_names_out - GET_SIGNAL_NAMES(void) = 17; - - } = 2; /* now version 2 */ -} = 0x20000fff; - -#ifdef RPC_HDR -%#define REMDEB_H -%#endif -#endif - -#ifdef RPC_SVC - -%const char* names [] = { -% "NULLPROC", "OPEN_CONNEX", "SEND_SIGNAL", "name3", -% "name4", "name5", "name6", "name7", -% "name8", "name9", "CLOSE_CONNEX", "PTRACE", -% "name12", "WAIT_INFO", "name14", "name15", -% "name16", "GET_SIGNAL_NAMES", "name18" -%}; -% - -%/*HEADER_END*/ -#endif -- cgit v1.2.3