]> Zhao Yanbai Git Server - minix.git/commitdiff
Drop obsolete sdump
authorAntoine Leca <Antoine.Leca.1@gmail.com>
Thu, 29 Mar 2012 12:15:42 +0000 (14:15 +0200)
committerDavid van Moolenbroek <david@minix3.org>
Thu, 29 Mar 2012 12:15:42 +0000 (14:15 +0200)
The code cannot be compiled, and is not included for over a year.
And it creates a corefile which is obsolete.

commands/sdump/Makefile [deleted file]
commands/sdump/sdump.c [deleted file]

diff --git a/commands/sdump/Makefile b/commands/sdump/Makefile
deleted file mode 100644 (file)
index cf6177c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-PROG=  sdump
-CPPFLAGS+= -I${MINIXSRCDIR} -I${MINIXSRCDIR}/servers
-MAN=
-
-.include <bsd.prog.mk>
diff --git a/commands/sdump/sdump.c b/commands/sdump/sdump.c
deleted file mode 100644 (file)
index 1574f6c..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-/* sdump - dump memory */
-
-#include <minix/config.h>
-#include <sys/types.h>
-#include <minix/const.h>
-#include <minix/type.h>
-#include <minix/ipc.h>
-#include <timers.h>
-#include <signal.h>
-
-#undef EXTERN
-#define EXTERN
-#include <machine/archtypes.h>
-#include "pm/const.h"
-#include "pm/type.h"
-#include "pm/mproc.h"
-#include "kernel/const.h"
-#include "kernel/type.h"
-#include "kernel/proc.h"
-#undef printf                  /* printf was misdefined by the sys headers */
-
-#include <ctype.h>
-#include <fcntl.h>
-#include <limits.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-
-#define STACK_BYTES 30000
-
-char *default_core = "core";
-int stack[STACK_BYTES / sizeof (int)];
-
-int main(int argc, char **argv);
-void read_segmap(int fd, struct mproc *mp, long *seg_size);
-void read_registers(int fd, struct proc *p);
-void dump_stack(int fd, struct mproc *mp, long *seg_size);
-void error(char *s1, char *s2);
-
-int main(argc, argv)
-int argc;
-char *argv[];
-{
-  int fd;
-  long seg_size[NR_LOCAL_SEGS];        /* segment sizes in bytes */
-  struct mproc *mp;
-  struct proc *p;
-  char *file;
-
-  if (argc > 2) error("Usage: rdump [core_file]\n", "");
-
-  if (argc == 1)
-       file = default_core;
-  else
-       file = argv[1];
-
-  if ( (fd = open(file, O_RDONLY)) < 0) error("Cannot open", file);
-
-  mp = &mproc[0];
-  p = &proc[0];
-  read_segmap(fd, mp, seg_size);
-  read_registers(fd, p);
-  dump_stack(fd, mp, seg_size);
-  return(0);
-}
-
-void read_segmap(fd, mp, seg_size)
-int fd;
-struct mproc *mp;
-long seg_size[NR_LOCAL_SEGS];
-{
-  int i, segmap_size;
-
-  /* Read in the segment map. */
-  segmap_size = sizeof mp->mp_seg;
-  if (read(fd, (char *) mp, segmap_size) != segmap_size)
-       error("Cannot read segmap map from core image file", "");
-
-  for (i = 0; i < NR_LOCAL_SEGS; i++)
-       seg_size[i] = (long) mp->mp_seg[i].mem_len << CLICK_SHIFT;
-  printf("Seg sizes in bytes:  Text: %ld  Data: %ld, Stack: %ld\n",
-        seg_size[T], seg_size[D], seg_size[S]);
-}
-
-void read_registers(fd, p)
-int fd;
-struct proc *p;
-{
-  int proctblsize;
-  struct stackframe_s r;
-
-  proctblsize = sizeof (struct proc);
-  if (read(fd, (char *) p, proctblsize) != proctblsize)
-       error("Cannot read process table from core image file", "");
-  r = p->p_reg;
-
-  /* Print proc table. */
-  printf("\n");
-#if (CHIP == INTEL)
-#if _WORD_SIZE == 4
-  printf("eax=%8lX   ebx=%8lX   ecx=%8lX   edx=%8lX\n",
-        r.retreg, r.bx, r.cx, r.dx);
-  printf("esi=%8lX   edi=%8lX   ebp=%8lX   esp=%8lX   eip=%8lX\n",
-        r.si, r.di, r.fp, r.sp, r.pc);
-  printf(" ds=%8lX    es=%8lX                   ss=%8lX    cs=%8lX\n",
-        r.ds, r.es, r.ss, r.cs);
-  printf(" fs=%8lX    gs=%8lX                                  ef=%8lX\n",
-         r.fs, r.gs, r.psw);
-#else
-  printf(
-"ax=%4X  bx=%4X  cx=%4X  dx=%4X  si=%4X  di=%4X  bp=%4X  sp=%4X  ip=%4X\n",
-        r.retreg, r.bx, r.cx, r.dx, r.si, r.di, r.fp, r.sp, r.pc);
-  printf(
-" f=%4X                             ds=%4X  es=%4X           ss=%4X  cs=%4X\n",
-        r.psw, r.ds, r.es, r.ss, r.cs);
-#endif
-#endif /* (CHIP == INTEL) */
-#if (CHIP == M68000)
-  printf("pc=%8lx   psw=%4x\n", r.pc, r.psw);
-  printf("d0=%8lx   d1=%8lx   d2=%8lx   d3=%8lx\n", r.retreg, r.d1, r.d2, r.d3);
-  printf("d4=%8lx   d5=%8lx   d6=%8lx   d7=%8lx\n", r.d4, r.d5, r.d6, r.d7);
-  printf("a0=%8lx   a1=%8lx   a2=%8lx   a3=%8lx\n", r.a0, r.a1, r.a2, r.a3);
-  printf("a4=%8lx   a5=%8lx   a6=%8lx   a7=%8lx\n", r.a4, r.a5, r.a6, r.sp);
-#endif
-  printf("\n");
-}
-
-void dump_stack(fd, mp, seg_size)
-int fd;
-struct mproc *mp;
-long seg_size[NR_LOCAL_SEGS];
-{
-  unsigned char ch;
-  char format[32];
-  int word, i, stack_size, j;
-  vir_bytes v, vi;
-
-  /* Seek past text and data segments. */
-  lseek(fd, seg_size[T] + seg_size[D], SEEK_CUR);
-  v = mp->mp_seg[S].mem_vir << CLICK_SHIFT;
-
-  stack_size = (int) seg_size[S];
-  if (stack_size != seg_size[S] || stack_size < 0 || stack_size > STACK_BYTES)
-       error("Stack too large", "");
-
-  /* Dump the stack. */
-  if (read(fd, (char *) stack, stack_size) != stack_size)
-       error("Error reading stack from core file", "");
-
-#define BYTES(num)      ((unsigned) sizeof (num))
-#define DEC_DIGITS(num) (sizeof (num) <= 2 ? 6 : 11)   /* for 16/32 bit num */
-#define HEX_DIGITS(num) (((unsigned) sizeof (num) * CHAR_BIT + 3) / 4)
-
-  printf("%*s   %*s  %*s  %*s\n",
-        HEX_DIGITS(vi), "Addr",
-        HEX_DIGITS(word), "Hex",
-        DEC_DIGITS(word), "Dec",
-        BYTES(word), "Char");
-
-  /* The format string depends messily on the size of various things. */
-  strcpy(format, "%*");
-  if (sizeof v > sizeof (int)) strcat(format, "l");
-  strcat(format, "X:  %*");
-  if (sizeof word > sizeof (int)) strcat(format, "l");
-  strcat(format, "X  %*");
-  if (sizeof word > sizeof (int)) strcat(format, "l");
-  strcat(format, "d  ");
-  
-  for (i = stack_size / sizeof (int) - 1, vi = v + stack_size - sizeof (int);
-       i >= 0; --i, vi -= sizeof (int)) {
-       word = stack[i];
-       printf(format,
-              HEX_DIGITS(vi), vi,
-              HEX_DIGITS(word), word,
-              DEC_DIGITS(word), word);
-       for (j = 0; j < BYTES(word); ++j, word >>= CHAR_BIT) {
-               ch = (unsigned char) word;
-               if (!isprint(ch)) ch = '.';
-               putchar(ch);
-       }
-       putchar('\n');
-  }
-}
-
-void error(s1, s2)
-char *s1, *s2;
-{
-  printf("%s %s\n", s1, s2);
-  exit(1);
-}