From: Mark Kettenis Date: Sat, 14 Aug 2004 20:40:15 +0000 (+0000) Subject: * standalone.c: Remove file. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5f0f34cbddd3cbbbbc0036ee29c7418ee1682cc5;p=binutils-gdb.git * standalone.c: Remove file. * Makefile.in (standalone.o): Remove dependency. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3bebe26237c..c35342b0fe0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2004-08-14 Mark Kettenis + * standalone.c: Remove file. + * Makefile.in (standalone.o): Remove dependency. + * i386-linux-nat.c (dummy_sse_values): Remove function and prototype. (i386_linux_dr_get): Fix typo in comment. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 0e27df5f4e4..62b7ec64921 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -2548,8 +2548,6 @@ stack.o: stack.c $(defs_h) $(gdb_string_h) $(value_h) $(symtab_h) \ $(gdbcore_h) $(target_h) $(source_h) $(breakpoint_h) $(demangle_h) \ $(inferior_h) $(annotate_h) $(ui_out_h) $(block_h) $(stack_h) \ $(gdb_assert_h) $(dictionary_h) $(reggroups_h) $(regcache_h) -standalone.o: standalone.c $(gdb_stat_h) $(defs_h) $(symtab_h) $(frame_h) \ - $(inferior_h) $(gdb_wait_h) std-regs.o: std-regs.c $(defs_h) $(user_regs_h) $(frame_h) $(gdbtypes_h) \ $(value_h) $(gdb_string_h) stop-gdb.o: stop-gdb.c $(defs_h) diff --git a/gdb/standalone.c b/gdb/standalone.c deleted file mode 100644 index 906e37a2b6e..00000000000 --- a/gdb/standalone.c +++ /dev/null @@ -1,580 +0,0 @@ -/* Interface to bare machine for GDB running as kernel debugger. - - Copyright 1986, 1989, 1991, 1992, 1993, 1995, 1996, 2000, 2001, - 2003 Free Software Foundation, Inc. - - This file is part of GDB. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#include -#include -#include -#include -#include "gdb_stat.h" - -#if defined (SIGTSTP) && defined (SIGIO) -#include -#include -#endif /* SIGTSTP and SIGIO defined (must be 4.2) */ - -#include "defs.h" -#include -#include "symtab.h" -#include "frame.h" -#include "inferior.h" -#include "gdb_wait.h" - - -/* Random system calls, mostly no-ops to prevent link problems */ - -ioctl (int desc, int code, int arg) -{ -} - -int (*signal ()) () -{ -} - -kill (void) -{ -} - -getpid (void) -{ - return 0; -} - -sigsetmask (void) -{ -} - -chdir (void) -{ -} - -char * -getcwd (char *buf, unsigned int len) -{ - buf[0] = '/'; - buf[1] = 0; - return buf; -} - -/* Used to check for existence of .gdbinit. Say no. */ - -access (void) -{ - return -1; -} - -exit (void) -{ - error ("Fatal error; restarting."); -} - -/* Reading "files". The contents of some files are written into kdb's - data area before it is run. These files are used to contain the - symbol table for kdb to load, and the source files (in case the - kdb user wants to print them). The symbols are stored in a file - named "kdb-symbols" in a.out format (except that all the text and - data have been stripped to save room). - - The files are stored in the following format: - int number of bytes of data for this file, including these four. - char[] name of the file, ending with a null. - padding to multiple of 4 boundary. - char[] file contents. The length can be deduced from what was - specified before. There is no terminating null here. - - If the int at the front is zero, it means there are no more files. - - Opening a file in kdb returns a nonzero value to indicate success, - but the value does not matter. Only one file can be open, and only - for reading. All the primitives for input from the file know - which file is open and ignore what is specified for the descriptor - or for the stdio stream. - - Input with fgetc can be done either on the file that is open - or on stdin (which reads from the terminal through tty_input () */ - -/* Address of data for the files stored in format described above. */ -char *files_start; - -/* The file stream currently open: */ - -char *sourcebeg; /* beginning of contents */ -int sourcesize; /* size of contents */ -char *sourceptr; /* current read pointer */ -int sourceleft; /* number of bytes to eof */ - -/* "descriptor" for the file now open. - Incremented at each close. - If specified descriptor does not match this, - it means the program is trying to use a closed descriptor. - We report an error for that. */ - -int sourcedesc; - -open (char *filename, int modes) -{ - char *next; - - if (modes) - { - errno = EROFS; - return -1; - } - - if (sourceptr) - { - errno = EMFILE; - return -1; - } - - for (next = files_start; *(int *) next; next += *(int *) next) - { - if (!strcmp (next + 4, filename)) - { - sourcebeg = next + 4 + strlen (next + 4) + 1; - sourcebeg = (char *) (((int) sourcebeg + 3) & (-4)); - sourceptr = sourcebeg; - sourcesize = next + *(int *) next - sourceptr; - sourceleft = sourcesize; - return sourcedesc; - } - } - return 0; -} - -close (int desc) -{ - sourceptr = 0; - sourcedesc++; - /* Don't let sourcedesc get big enough to be confused with stdin. */ - if (sourcedesc == 100) - sourcedesc = 5; -} - -FILE * -fopen (char *filename, char *modes) -{ - return (FILE *) open (filename, *modes == 'w'); -} - -FILE * -fdopen (int desc) -{ - return (FILE *) desc; -} - -fclose (int desc) -{ - close (desc); -} - -fstat (int desc, struct stat *statbuf) -{ - if (desc != sourcedesc) - { - errno = EBADF; - return -1; - } - statbuf->st_size = sourcesize; -} - -myread (int desc, char *destptr, int size, char *filename) -{ - int len = min (sourceleft, size); - - if (desc != sourcedesc) - { - errno = EBADF; - return -1; - } - - memcpy (destptr, sourceptr, len); - sourceleft -= len; - return len; -} - -int -fread (int bufp, int numelts, int eltsize, int stream) -{ - int elts = min (numelts, sourceleft / eltsize); - int len = elts * eltsize; - - if (stream != sourcedesc) - { - errno = EBADF; - return -1; - } - - memcpy (bufp, sourceptr, len); - sourceleft -= len; - return elts; -} - -int -fgetc (int desc) -{ - - if (desc == (int) stdin) - return tty_input (); - - if (desc != sourcedesc) - { - errno = EBADF; - return -1; - } - - if (sourceleft-- <= 0) - return EOF; - return *sourceptr++; -} - -lseek (int desc, int pos) -{ - - if (desc != sourcedesc) - { - errno = EBADF; - return -1; - } - - if (pos < 0 || pos > sourcesize) - { - errno = EINVAL; - return -1; - } - - sourceptr = sourcebeg + pos; - sourceleft = sourcesize - pos; -} - -/* Output in kdb can go only to the terminal, so the stream - specified may be ignored. */ - -printf (int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9) -{ - char buffer[1024]; - sprintf (buffer, a1, a2, a3, a4, a5, a6, a7, a8, a9); - display_string (buffer); -} - -fprintf (int ign, int a1, int a2, int a3, int a4, int a5, int a6, int a7, - int a8, int a9) -{ - char buffer[1024]; - sprintf (buffer, a1, a2, a3, a4, a5, a6, a7, a8, a9); - display_string (buffer); -} - -fwrite (char *buf, int numelts, int size, int stream) -{ - int i = numelts * size; - while (i-- > 0) - fputc (*buf++, stream); -} - -fputc (int c, int ign) -{ - char buf[2]; - buf[0] = c; - buf[1] = 0; - display_string (buf); -} - -/* sprintf refers to this, but loading this from the - library would cause fflush to be loaded from it too. - In fact there should be no need to call this (I hope). */ - -_flsbuf (void) -{ - error ("_flsbuf was actually called."); -} - -fflush (int ign) -{ -} - -/* Entries into core and inflow, needed only to make things link ok. */ - -exec_file_command (void) -{ -} - -core_file_command (void) -{ -} - -char * -get_exec_file (int err) -{ - /* Makes one printout look reasonable; value does not matter otherwise. */ - return "run"; -} - -/* Nonzero if there is a core file. */ - -have_core_file_p (void) -{ - return 0; -} - -kill_command (void) -{ - inferior_ptid = null_ptid; -} - -terminal_inferior (void) -{ -} - -terminal_ours (void) -{ -} - -terminal_init_inferior (void) -{ -} - -write_inferior_register (void) -{ -} - -read_inferior_register (void) -{ -} - -read_memory (CORE_ADDR memaddr, char *myaddr, int len) -{ - memcpy (myaddr, memaddr, len); -} - -/* Always return 0 indicating success. */ - -write_memory (CORE_ADDR memaddr, char *myaddr, int len) -{ - memcpy (memaddr, myaddr, len); - return 0; -} - -static REGISTER_TYPE saved_regs[NUM_REGS]; - -REGISTER_TYPE -read_register (int regno) -{ - if (regno < 0 || regno >= NUM_REGS) - error ("Register number %d out of range.", regno); - return saved_regs[regno]; -} - -void -write_register (int regno, REGISTER_TYPE value) -{ - if (regno < 0 || regno >= NUM_REGS) - error ("Register number %d out of range.", regno); - saved_regs[regno] = value; -} - -/* System calls needed in relation to running the "inferior". */ - -vfork (void) -{ - /* Just appear to "succeed". Say the inferior's pid is 1. */ - return 1; -} - -/* These are called by code that normally runs in the inferior - that has just been forked. That code never runs, when standalone, - and these definitions are so it will link without errors. */ - -ptrace (void) -{ -} - -setpgrp (void) -{ -} - -execle (void) -{ -} - -_exit (void) -{ -} - -/* Malloc calls these. */ - -malloc_warning (char *str) -{ - printf ("\n%s.\n\n", str); -} - -char *next_free; -char *memory_limit; - -char * -sbrk (int amount) -{ - if (next_free + amount > memory_limit) - return (char *) -1; - next_free += amount; - return next_free - amount; -} - -/* Various ways malloc might ask where end of memory is. */ - -char * -ulimit (void) -{ - return memory_limit; -} - -int -vlimit (void) -{ - return memory_limit - next_free; -} - -getrlimit (struct rlimit *addr) -{ - addr->rlim_cur = memory_limit - next_free; -} - -/* Context switching to and from program being debugged. */ - -/* GDB calls here to run the user program. - The frame pointer for this function is saved in - gdb_stack by save_frame_pointer; then we restore - all of the user program's registers, including PC and PS. */ - -static int fault_code; -static REGISTER_TYPE gdb_stack; - -resume (void) -{ - REGISTER_TYPE restore[NUM_REGS]; - - PUSH_FRAME_PTR; - save_frame_pointer (); - - memcpy (restore, saved_regs, sizeof restore); - POP_REGISTERS; - /* Control does not drop through here! */ -} - -save_frame_pointer (CORE_ADDR val) -{ - gdb_stack = val; -} - -/* Fault handlers call here, running in the user program stack. - They must first push a fault code, - old PC, old PS, and any other info about the fault. - The exact format is machine-dependent and is known only - in the definition of PUSH_REGISTERS. */ - -fault (void) -{ - /* Transfer all registers and fault code to the stack - in canonical order: registers in order of GDB register number, - followed by fault code. */ - PUSH_REGISTERS; - - /* Transfer them to saved_regs and fault_code. */ - save_registers (); - - restore_gdb (); - /* Control does not reach here */ -} - -restore_gdb (void) -{ - CORE_ADDR new_fp = gdb_stack; - /* Switch to GDB's stack */ - POP_FRAME_PTR; - /* Return from the function `resume'. */ -} - -/* Assuming register contents and fault code have been pushed on the stack as - arguments to this function, copy them into the standard place - for the program's registers while GDB is running. */ - -save_registers (int firstreg) -{ - memcpy (saved_regs, &firstreg, sizeof saved_regs); - fault_code = (&firstreg)[NUM_REGS]; -} - -/* Store into the structure such as `wait' would return - the information on why the program faulted, - converted into a machine-independent signal number. */ - -static int fault_table[] = FAULT_TABLE; - -int -wait (WAITTYPE *w) -{ - WSETSTOP (*w, fault_table[fault_code / FAULT_CODE_UNITS]); - return PIDGET (inferior_ptid); -} - -/* Allocate a big space in which files for kdb to read will be stored. - Whatever is left is where malloc can allocate storage. - - Initialize it, so that there will be space in the executable file - for it. Then the files can be put into kdb by writing them into - kdb's executable file. */ - -/* The default size is as much space as we expect to be available - for kdb to use! */ - -#ifndef HEAP_SIZE -#define HEAP_SIZE 400000 -#endif - -char heap[HEAP_SIZE] = -{0}; - -#ifndef STACK_SIZE -#define STACK_SIZE 100000 -#endif - -int kdb_stack_beg[STACK_SIZE / sizeof (int)]; -int kdb_stack_end; - -_initialize_standalone (void) -{ - char *next; - - /* Find start of data on files. */ - - files_start = heap; - - /* Find the end of the data on files. */ - - for (next = files_start; *(int *) next; next += *(int *) next) - { - } - - /* That is where free storage starts for sbrk to give out. */ - next_free = next; - - memory_limit = heap + sizeof heap; -}