]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/convex-xdep.c
import gdb-1999-07-07 post reformat
[thirdparty/binutils-gdb.git] / gdb / convex-xdep.c
index 60117ce7ceb0a49f548372073cda3c3fd161a3e5..857701dfc4288799a8c2497f09908ed47f30f61c 100644 (file)
@@ -55,7 +55,7 @@
 /* OBSOLETE static int n_threads; */
 /* OBSOLETE  */
 /* OBSOLETE #define MAXTHREADS 8 */
-/* OBSOLETE             */
+/* OBSOLETE              */
 /* OBSOLETE /* Thread state.  The remaining data is valid only if this is PI_TALIVE.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE static int thread_state[MAXTHREADS]; */
@@ -64,7 +64,7 @@
 /* OBSOLETE  */
 /* OBSOLETE static int thread_pc[MAXTHREADS]; */
 /* OBSOLETE static int thread_signal[MAXTHREADS]; */
-/* OBSOLETE static int thread_sigcode[MAXTHREADS];      */
+/* OBSOLETE static int thread_sigcode[MAXTHREADS];       */
 /* OBSOLETE  */
 /* OBSOLETE /* Thread registers. */
 /* OBSOLETE    If thread is selected, the regs are in registers[] instead.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE struct pmap  */
 /* OBSOLETE { */
-/* OBSOLETE     long mem_addr;         /* process start address *x/ */
-/* OBSOLETE     long mem_end;          /* process end+1 address *x/ */
-/* OBSOLETE     long file_addr;                /* file start address *x/ */
-/* OBSOLETE     long thread;           /* -1 shared; 0,1,... thread-local *x/ */
-/* OBSOLETE     long type;                     /* S_TEXT S_DATA S_BSS S_TBSS etc *x/ */
-/* OBSOLETE     long which;                    /* used to sort map for info files *x/ */
+/* OBSOLETE     long mem_addr;          /* process start address *x/ */
+/* OBSOLETE     long mem_end;           /* process end+1 address *x/ */
+/* OBSOLETE     long file_addr;         /* file start address *x/ */
+/* OBSOLETE     long thread;            /* -1 shared; 0,1,... thread-local *x/ */
+/* OBSOLETE     long type;                      /* S_TEXT S_DATA S_BSS S_TBSS etc *x/ */
+/* OBSOLETE     long which;                     /* used to sort map for info files *x/ */
 /* OBSOLETE }; */
 /* OBSOLETE  */
 /* OBSOLETE static int n_exec, n_core; */
 /* OBSOLETE       ps.pi_thread = inferior_thread; */
 /* OBSOLETE       ioctl (inferior_fd, PIXRDVREGS, &ps); */
 /* OBSOLETE       if (errno) */
-/* OBSOLETE    memset (&vector_registers, '\0', sizeof vector_registers); */
+/* OBSOLETE     memset (&vector_registers, '\0', sizeof vector_registers); */
 /* OBSOLETE     } */
 /* OBSOLETE   else if (corechan >= 0) */
 /* OBSOLETE     { */
 /* OBSOLETE       lseek (corechan, tcontext_offset[inferior_thread], 0); */
 /* OBSOLETE       if (myread (corechan, &tc, sizeof tc) < 0) */
-/* OBSOLETE    perror_with_name (corefile); */
+/* OBSOLETE     perror_with_name (corefile); */
 /* OBSOLETE       lseek (corechan, tc.core_thread_p, 0); */
 /* OBSOLETE       if (myread (corechan, &th, sizeof th) < 0) */
-/* OBSOLETE    perror_with_name (corefile); */
+/* OBSOLETE     perror_with_name (corefile); */
 /* OBSOLETE       lseek (corechan, tc.core_vregs_p, 0); */
 /* OBSOLETE       if (myread (corechan, &vector_registers, 16*128) < 0) */
-/* OBSOLETE    perror_with_name (corefile); */
+/* OBSOLETE     perror_with_name (corefile); */
 /* OBSOLETE       vector_registers.vm[0] = th.t_vect_ctx.vc_vm[0]; */
 /* OBSOLETE       vector_registers.vm[1] = th.t_vect_ctx.vc_vm[1]; */
 /* OBSOLETE       vector_registers.vls = th.t_vect_ctx.vc_vls; */
 /* OBSOLETE       ioctl (inferior_fd, PIXRDVREGS, &ps); */
 /* OBSOLETE  */
 /* OBSOLETE       switch (reg) */
-/* OBSOLETE    { */
-/* OBSOLETE    case VL_REGNUM: */
-/* OBSOLETE      vector_registers.vls = */
-/* OBSOLETE        (vector_registers.vls & 0xffffffff00000000LL) */
-/* OBSOLETE          + (unsigned long) val; */
-/* OBSOLETE      break; */
-/* OBSOLETE  */
-/* OBSOLETE    case VS_REGNUM: */
-/* OBSOLETE      vector_registers.vls = */
-/* OBSOLETE        (val << 32) + (unsigned long) vector_registers.vls; */
-/* OBSOLETE      break; */
-/* OBSOLETE         */
-/* OBSOLETE    default: */
-/* OBSOLETE      vector_registers.vr[reg].el[element] = val; */
-/* OBSOLETE      break; */
-/* OBSOLETE    } */
+/* OBSOLETE     { */
+/* OBSOLETE     case VL_REGNUM: */
+/* OBSOLETE       vector_registers.vls = */
+/* OBSOLETE         (vector_registers.vls & 0xffffffff00000000LL) */
+/* OBSOLETE           + (unsigned long) val; */
+/* OBSOLETE       break; */
+/* OBSOLETE  */
+/* OBSOLETE     case VS_REGNUM: */
+/* OBSOLETE       vector_registers.vls = */
+/* OBSOLETE         (val << 32) + (unsigned long) vector_registers.vls; */
+/* OBSOLETE       break; */
+/* OBSOLETE          */
+/* OBSOLETE     default: */
+/* OBSOLETE       vector_registers.vr[reg].el[element] = val; */
+/* OBSOLETE       break; */
+/* OBSOLETE     } */
 /* OBSOLETE  */
 /* OBSOLETE       ioctl (inferior_fd, PIXWRVREGS, &ps); */
 /* OBSOLETE  */
 /* OBSOLETE       if (errno) */
-/* OBSOLETE    perror_with_name ("writing vector register"); */
+/* OBSOLETE     perror_with_name ("writing vector register"); */
 /* OBSOLETE     } */
 /* OBSOLETE } */
 /* OBSOLETE  */
 /* OBSOLETE   for (n = 0; n < n_threads; n++) */
 /* OBSOLETE     if (thread_state[n] == PI_TALIVE) */
 /* OBSOLETE       { */
-/* OBSOLETE    select_thread (n); */
-/* OBSOLETE  */
-/* OBSOLETE    if ((thread < 0 || n == thread) && ! thread_is_in_kernel[n]) */
-/* OBSOLETE      { */
-/* OBSOLETE        /* Blam the trace bits in the stack's saved psws to match  */
-/* OBSOLETE           the desired step mode.  This is required so that */
-/* OBSOLETE           single-stepping a return doesn't restore a psw with a */
-/* OBSOLETE           clear trace bit and fly away, and conversely, */
-/* OBSOLETE           proceeding through a return in a routine that was */
-/* OBSOLETE           stepped into doesn't cause a phantom break by restoring */
-/* OBSOLETE           a psw with the trace bit set. *x/ */
-/* OBSOLETE        scan_stack (PSW_T_BIT, step); */
-/* OBSOLETE        scan_stack (PSW_S_BIT, sequential); */
-/* OBSOLETE      } */
-/* OBSOLETE  */
-/* OBSOLETE    ps.pi_buffer = registers; */
-/* OBSOLETE    ps.pi_nbytes = REGISTER_BYTES; */
-/* OBSOLETE    ps.pi_offset = 0; */
-/* OBSOLETE    ps.pi_thread = n; */
-/* OBSOLETE    if (! thread_is_in_kernel[n]) */
-/* OBSOLETE      if (ioctl (inferior_fd, PIXWRREGS, &ps)) */
-/* OBSOLETE        perror_with_name ("PIXWRREGS"); */
-/* OBSOLETE  */
-/* OBSOLETE    if (thread < 0 || n == thread) */
-/* OBSOLETE      { */
-/* OBSOLETE        ps.pi_pc = 1; */
-/* OBSOLETE        ps.pi_signo = signal; */
-/* OBSOLETE        if (ioctl (inferior_fd, step ? PIXSTEP : PIXCONTINUE, &ps) < 0) */
-/* OBSOLETE          perror_with_name ("PIXCONTINUE"); */
-/* OBSOLETE      } */
+/* OBSOLETE     select_thread (n); */
+/* OBSOLETE  */
+/* OBSOLETE     if ((thread < 0 || n == thread) && ! thread_is_in_kernel[n]) */
+/* OBSOLETE       { */
+/* OBSOLETE         /* Blam the trace bits in the stack's saved psws to match  */
+/* OBSOLETE            the desired step mode.  This is required so that */
+/* OBSOLETE            single-stepping a return doesn't restore a psw with a */
+/* OBSOLETE            clear trace bit and fly away, and conversely, */
+/* OBSOLETE            proceeding through a return in a routine that was */
+/* OBSOLETE            stepped into doesn't cause a phantom break by restoring */
+/* OBSOLETE            a psw with the trace bit set. *x/ */
+/* OBSOLETE         scan_stack (PSW_T_BIT, step); */
+/* OBSOLETE         scan_stack (PSW_S_BIT, sequential); */
+/* OBSOLETE       } */
+/* OBSOLETE  */
+/* OBSOLETE     ps.pi_buffer = registers; */
+/* OBSOLETE     ps.pi_nbytes = REGISTER_BYTES; */
+/* OBSOLETE     ps.pi_offset = 0; */
+/* OBSOLETE     ps.pi_thread = n; */
+/* OBSOLETE     if (! thread_is_in_kernel[n]) */
+/* OBSOLETE       if (ioctl (inferior_fd, PIXWRREGS, &ps)) */
+/* OBSOLETE         perror_with_name ("PIXWRREGS"); */
+/* OBSOLETE  */
+/* OBSOLETE     if (thread < 0 || n == thread) */
+/* OBSOLETE       { */
+/* OBSOLETE         ps.pi_pc = 1; */
+/* OBSOLETE         ps.pi_signo = signal; */
+/* OBSOLETE         if (ioctl (inferior_fd, step ? PIXSTEP : PIXCONTINUE, &ps) < 0) */
+/* OBSOLETE           perror_with_name ("PIXCONTINUE"); */
+/* OBSOLETE       } */
 /* OBSOLETE       } */
 /* OBSOLETE  */
 /* OBSOLETE   if (ioctl (inferior_fd, PIXRUN, &ps) < 0) */
 /* OBSOLETE       pid = wait3 (w, 0, 0); */
 /* OBSOLETE  */
 /* OBSOLETE       if (!WIFSTOPPED (*w) || pid != inferior_pid) */
-/* OBSOLETE    return pid; */
+/* OBSOLETE     return pid; */
 /* OBSOLETE  */
 /* OBSOLETE       /* The inferior has done something and stopped.  Read in all the */
-/* OBSOLETE     threads' registers, and queue up any signals that happened.  *x/ */
+/* OBSOLETE      threads' registers, and queue up any signals that happened.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE       if (ioctl (inferior_fd, PIXGETTHCOUNT, &ps) < 0) */
-/* OBSOLETE    perror_with_name ("PIXGETTHCOUNT"); */
+/* OBSOLETE     perror_with_name ("PIXGETTHCOUNT"); */
 /* OBSOLETE        */
 /* OBSOLETE       n_threads = ps.pi_othdcnt; */
 /* OBSOLETE       for (thread = 0; thread < n_threads; thread++) */
-/* OBSOLETE    { */
-/* OBSOLETE      ps.pi_thread = thread; */
-/* OBSOLETE      if (ioctl (inferior_fd, PIXGETSUBCODE, &ps) < 0) */
-/* OBSOLETE        perror_with_name ("PIXGETSUBCODE"); */
-/* OBSOLETE      thread_state[thread] = ps.pi_otstate; */
-/* OBSOLETE  */
-/* OBSOLETE      if (ps.pi_otstate == PI_TALIVE) */
-/* OBSOLETE        { */
-/* OBSOLETE          select_thread (thread); */
-/* OBSOLETE          ps.pi_buffer = registers; */
-/* OBSOLETE          ps.pi_nbytes = REGISTER_BYTES; */
-/* OBSOLETE          ps.pi_offset = 0; */
-/* OBSOLETE          ps.pi_thread = thread; */
-/* OBSOLETE          if (ioctl (inferior_fd, PIXRDREGS, &ps) < 0) */
-/* OBSOLETE            perror_with_name ("PIXRDREGS"); */
-/* OBSOLETE  */
-/* OBSOLETE          registers_fetched (); */
-/* OBSOLETE  */
-/* OBSOLETE          thread_pc[thread] = read_pc (); */
-/* OBSOLETE          thread_signal[thread] = ps.pi_osigno; */
-/* OBSOLETE          thread_sigcode[thread] = ps.pi_osigcode; */
-/* OBSOLETE  */
-/* OBSOLETE          /* If the thread's stack has a context frame */
-/* OBSOLETE             on top, something fucked is going on.  I do not */
-/* OBSOLETE             know what, but do I know this: the only thing you */
-/* OBSOLETE             can do with such a thread is continue it.  *x/ */
-/* OBSOLETE  */
-/* OBSOLETE          thread_is_in_kernel[thread] =  */
-/* OBSOLETE            ((read_register (PS_REGNUM) >> 25) & 3) == 0; */
-/* OBSOLETE  */
-/* OBSOLETE          /* Signals push an extended frame and then fault */
-/* OBSOLETE             with a ridiculous pc.  Pop the frame.  *x/ */
-/* OBSOLETE  */
-/* OBSOLETE          if (thread_pc[thread] > STACK_END_ADDR) */
-/* OBSOLETE            { */
-/* OBSOLETE              POP_FRAME; */
-/* OBSOLETE              if (is_break_pc (thread_pc[thread])) */
-/* OBSOLETE                thread_pc[thread] = read_pc () - 2; */
-/* OBSOLETE              else */
-/* OBSOLETE                thread_pc[thread] = read_pc (); */
-/* OBSOLETE              write_register (PC_REGNUM, thread_pc[thread]); */
-/* OBSOLETE            } */
-/* OBSOLETE           */
-/* OBSOLETE          if (ps.pi_osigno || ps.pi_osigcode) */
-/* OBSOLETE            { */
-/* OBSOLETE              signal_stack++; */
-/* OBSOLETE              signal_stack->pid = pid; */
-/* OBSOLETE              signal_stack->thread = thread; */
-/* OBSOLETE              signal_stack->signo = thread_signal[thread]; */
-/* OBSOLETE              signal_stack->subsig = thread_sigcode[thread]; */
-/* OBSOLETE              signal_stack->pc = thread_pc[thread]; */
-/* OBSOLETE            } */
-/* OBSOLETE  */
-/* OBSOLETE          /* The following hackery is caused by a unix 7.1 feature: */
-/* OBSOLETE             the inferior's fixed scheduling mode is cleared when */
-/* OBSOLETE             it execs the shell (since the shell is not a parallel */
-/* OBSOLETE             program).  So, note the 5.4 trap we get when */
-/* OBSOLETE             the shell does its exec, then catch the 5.0 trap  */
-/* OBSOLETE             that occurs when the debuggee starts, and set fixed */
-/* OBSOLETE             scheduling mode properly.  *x/ */
-/* OBSOLETE  */
-/* OBSOLETE          if (ps.pi_osigno == 5 && ps.pi_osigcode == 4) */
-/* OBSOLETE            exec_trap_timer = 1; */
-/* OBSOLETE          else */
-/* OBSOLETE            exec_trap_timer--; */
-/* OBSOLETE           */
-/* OBSOLETE          if (ps.pi_osigno == 5 && exec_trap_timer == 0) */
-/* OBSOLETE            set_fixed_scheduling (pid, parallel == 2); */
-/* OBSOLETE        } */
-/* OBSOLETE    } */
+/* OBSOLETE     { */
+/* OBSOLETE       ps.pi_thread = thread; */
+/* OBSOLETE       if (ioctl (inferior_fd, PIXGETSUBCODE, &ps) < 0) */
+/* OBSOLETE         perror_with_name ("PIXGETSUBCODE"); */
+/* OBSOLETE       thread_state[thread] = ps.pi_otstate; */
+/* OBSOLETE  */
+/* OBSOLETE       if (ps.pi_otstate == PI_TALIVE) */
+/* OBSOLETE         { */
+/* OBSOLETE           select_thread (thread); */
+/* OBSOLETE           ps.pi_buffer = registers; */
+/* OBSOLETE           ps.pi_nbytes = REGISTER_BYTES; */
+/* OBSOLETE           ps.pi_offset = 0; */
+/* OBSOLETE           ps.pi_thread = thread; */
+/* OBSOLETE           if (ioctl (inferior_fd, PIXRDREGS, &ps) < 0) */
+/* OBSOLETE             perror_with_name ("PIXRDREGS"); */
+/* OBSOLETE  */
+/* OBSOLETE           registers_fetched (); */
+/* OBSOLETE  */
+/* OBSOLETE           thread_pc[thread] = read_pc (); */
+/* OBSOLETE           thread_signal[thread] = ps.pi_osigno; */
+/* OBSOLETE           thread_sigcode[thread] = ps.pi_osigcode; */
+/* OBSOLETE  */
+/* OBSOLETE           /* If the thread's stack has a context frame */
+/* OBSOLETE              on top, something fucked is going on.  I do not */
+/* OBSOLETE              know what, but do I know this: the only thing you */
+/* OBSOLETE              can do with such a thread is continue it.  *x/ */
+/* OBSOLETE  */
+/* OBSOLETE           thread_is_in_kernel[thread] =  */
+/* OBSOLETE             ((read_register (PS_REGNUM) >> 25) & 3) == 0; */
+/* OBSOLETE  */
+/* OBSOLETE           /* Signals push an extended frame and then fault */
+/* OBSOLETE              with a ridiculous pc.  Pop the frame.  *x/ */
+/* OBSOLETE  */
+/* OBSOLETE           if (thread_pc[thread] > STACK_END_ADDR) */
+/* OBSOLETE             { */
+/* OBSOLETE               POP_FRAME; */
+/* OBSOLETE               if (is_break_pc (thread_pc[thread])) */
+/* OBSOLETE                 thread_pc[thread] = read_pc () - 2; */
+/* OBSOLETE               else */
+/* OBSOLETE                 thread_pc[thread] = read_pc (); */
+/* OBSOLETE               write_register (PC_REGNUM, thread_pc[thread]); */
+/* OBSOLETE             } */
+/* OBSOLETE            */
+/* OBSOLETE           if (ps.pi_osigno || ps.pi_osigcode) */
+/* OBSOLETE             { */
+/* OBSOLETE               signal_stack++; */
+/* OBSOLETE               signal_stack->pid = pid; */
+/* OBSOLETE               signal_stack->thread = thread; */
+/* OBSOLETE               signal_stack->signo = thread_signal[thread]; */
+/* OBSOLETE               signal_stack->subsig = thread_sigcode[thread]; */
+/* OBSOLETE               signal_stack->pc = thread_pc[thread]; */
+/* OBSOLETE             } */
+/* OBSOLETE  */
+/* OBSOLETE           /* The following hackery is caused by a unix 7.1 feature: */
+/* OBSOLETE              the inferior's fixed scheduling mode is cleared when */
+/* OBSOLETE              it execs the shell (since the shell is not a parallel */
+/* OBSOLETE              program).  So, note the 5.4 trap we get when */
+/* OBSOLETE              the shell does its exec, then catch the 5.0 trap  */
+/* OBSOLETE              that occurs when the debuggee starts, and set fixed */
+/* OBSOLETE              scheduling mode properly.  *x/ */
+/* OBSOLETE  */
+/* OBSOLETE           if (ps.pi_osigno == 5 && ps.pi_osigcode == 4) */
+/* OBSOLETE             exec_trap_timer = 1; */
+/* OBSOLETE           else */
+/* OBSOLETE             exec_trap_timer--; */
+/* OBSOLETE            */
+/* OBSOLETE           if (ps.pi_osigno == 5 && exec_trap_timer == 0) */
+/* OBSOLETE             set_fixed_scheduling (pid, parallel == 2); */
+/* OBSOLETE         } */
+/* OBSOLETE     } */
 /* OBSOLETE  */
 /* OBSOLETE       if (signal_stack_is_empty ()) */
-/* OBSOLETE    error ("no active threads?!"); */
+/* OBSOLETE     error ("no active threads?!"); */
 /* OBSOLETE     } */
 /* OBSOLETE  */
 /* OBSOLETE   /* Select the thread that stopped, and return *w saying why.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE       fp = read_register (FP_REGNUM); */
 /* OBSOLETE       while (fp & 0x80000000) */
-/* OBSOLETE    { */
-/* OBSOLETE      ps = read_memory_integer (fp + 4, 4); */
-/* OBSOLETE      if (val ? (ps & bit) : !(ps & bit)) */
-/* OBSOLETE        break; */
-/* OBSOLETE      ps ^= bit; */
-/* OBSOLETE      write_memory (fp + 4, &ps, 4); */
-/* OBSOLETE      fp = read_memory_integer (fp + 8, 4); */
-/* OBSOLETE    } */
+/* OBSOLETE     { */
+/* OBSOLETE       ps = read_memory_integer (fp + 4, 4); */
+/* OBSOLETE       if (val ? (ps & bit) : !(ps & bit)) */
+/* OBSOLETE         break; */
+/* OBSOLETE       ps ^= bit; */
+/* OBSOLETE       write_memory (fp + 4, &ps, 4); */
+/* OBSOLETE       fp = read_memory_integer (fp + 8, 4); */
+/* OBSOLETE     } */
 /* OBSOLETE     } */
 /* OBSOLETE } */
 /* OBSOLETE  */
 /* OBSOLETE       make_cleanup (free, filename); */
 /* OBSOLETE        */
 /* OBSOLETE       if (have_inferior_p ()) */
-/* OBSOLETE    error ("To look at a core file, you must kill the program with \"kill\"."); */
+/* OBSOLETE     error ("To look at a core file, you must kill the program with \"kill\"."); */
 /* OBSOLETE       corechan = open (filename, O_RDONLY, 0); */
 /* OBSOLETE       if (corechan < 0) */
-/* OBSOLETE    perror_with_name (filename); */
+/* OBSOLETE     perror_with_name (filename); */
 /* OBSOLETE  */
 /* OBSOLETE       if (myread (corechan, &filehdr, sizeof filehdr) < 0) */
-/* OBSOLETE    perror_with_name (filename); */
+/* OBSOLETE     perror_with_name (filename); */
 /* OBSOLETE  */
 /* OBSOLETE       if (!IS_CORE_SOFF_MAGIC (filehdr.h_magic)) */
-/* OBSOLETE    error ("%s: not a core file.\n", filename); */
+/* OBSOLETE     error ("%s: not a core file.\n", filename); */
 /* OBSOLETE  */
 /* OBSOLETE       if (myread (corechan, &opthdr, filehdr.h_opthdr) < 0) */
-/* OBSOLETE    perror_with_name (filename); */
+/* OBSOLETE     perror_with_name (filename); */
 /* OBSOLETE  */
 /* OBSOLETE       /* Read through the section headers. */
-/* OBSOLETE     For text, data, etc, record an entry in the core file map. */
-/* OBSOLETE     For context and tcontext, record the file address of */
-/* OBSOLETE     the context blocks.  *x/ */
+/* OBSOLETE      For text, data, etc, record an entry in the core file map. */
+/* OBSOLETE      For context and tcontext, record the file address of */
+/* OBSOLETE      the context blocks.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE       lseek (corechan, (long) filehdr.h_scnptr, 0); */
 /* OBSOLETE  */
 /* OBSOLETE       n_threads = 0; */
 /* OBSOLETE       for (n = 0; n < filehdr.h_nscns; n++) */
-/* OBSOLETE    { */
-/* OBSOLETE      if (myread (corechan, &scnhdr, sizeof scnhdr) < 0) */
-/* OBSOLETE        perror_with_name (filename); */
-/* OBSOLETE      if ((scnhdr.s_flags & S_TYPMASK) >= S_TEXT */
-/* OBSOLETE          && (scnhdr.s_flags & S_TYPMASK) <= S_COMON) */
-/* OBSOLETE        { */
-/* OBSOLETE          core_map[n_core].mem_addr = scnhdr.s_vaddr; */
-/* OBSOLETE          core_map[n_core].mem_end = scnhdr.s_vaddr + scnhdr.s_size; */
-/* OBSOLETE          core_map[n_core].file_addr = scnhdr.s_scnptr; */
-/* OBSOLETE          core_map[n_core].type = scnhdr.s_flags & S_TYPMASK; */
-/* OBSOLETE          if (core_map[n_core].type != S_TBSS */
-/* OBSOLETE              && core_map[n_core].type != S_TDATA */
-/* OBSOLETE              && core_map[n_core].type != S_TTEXT) */
-/* OBSOLETE            core_map[n_core].thread = -1; */
-/* OBSOLETE          else if (n_core == 0 */
-/* OBSOLETE                   || core_map[n_core-1].mem_addr != scnhdr.s_vaddr) */
-/* OBSOLETE            core_map[n_core].thread = 0; */
-/* OBSOLETE          else  */
-/* OBSOLETE            core_map[n_core].thread = core_map[n_core-1].thread + 1; */
-/* OBSOLETE          n_core++; */
-/* OBSOLETE        } */
-/* OBSOLETE      else if ((scnhdr.s_flags & S_TYPMASK) == S_CONTEXT) */
-/* OBSOLETE        context_offset = scnhdr.s_scnptr; */
-/* OBSOLETE      else if ((scnhdr.s_flags & S_TYPMASK) == S_TCONTEXT)  */
-/* OBSOLETE        tcontext_offset[n_threads++] = scnhdr.s_scnptr; */
-/* OBSOLETE    } */
+/* OBSOLETE     { */
+/* OBSOLETE       if (myread (corechan, &scnhdr, sizeof scnhdr) < 0) */
+/* OBSOLETE         perror_with_name (filename); */
+/* OBSOLETE       if ((scnhdr.s_flags & S_TYPMASK) >= S_TEXT */
+/* OBSOLETE           && (scnhdr.s_flags & S_TYPMASK) <= S_COMON) */
+/* OBSOLETE         { */
+/* OBSOLETE           core_map[n_core].mem_addr = scnhdr.s_vaddr; */
+/* OBSOLETE           core_map[n_core].mem_end = scnhdr.s_vaddr + scnhdr.s_size; */
+/* OBSOLETE           core_map[n_core].file_addr = scnhdr.s_scnptr; */
+/* OBSOLETE           core_map[n_core].type = scnhdr.s_flags & S_TYPMASK; */
+/* OBSOLETE           if (core_map[n_core].type != S_TBSS */
+/* OBSOLETE               && core_map[n_core].type != S_TDATA */
+/* OBSOLETE               && core_map[n_core].type != S_TTEXT) */
+/* OBSOLETE             core_map[n_core].thread = -1; */
+/* OBSOLETE           else if (n_core == 0 */
+/* OBSOLETE                    || core_map[n_core-1].mem_addr != scnhdr.s_vaddr) */
+/* OBSOLETE             core_map[n_core].thread = 0; */
+/* OBSOLETE           else  */
+/* OBSOLETE             core_map[n_core].thread = core_map[n_core-1].thread + 1; */
+/* OBSOLETE           n_core++; */
+/* OBSOLETE         } */
+/* OBSOLETE       else if ((scnhdr.s_flags & S_TYPMASK) == S_CONTEXT) */
+/* OBSOLETE         context_offset = scnhdr.s_scnptr; */
+/* OBSOLETE       else if ((scnhdr.s_flags & S_TYPMASK) == S_TCONTEXT)  */
+/* OBSOLETE         tcontext_offset[n_threads++] = scnhdr.s_scnptr; */
+/* OBSOLETE     } */
 /* OBSOLETE  */
 /* OBSOLETE       /* Read the context block, struct user, struct proc, */
-/* OBSOLETE     and the comm regs.  *x/ */
+/* OBSOLETE      and the comm regs.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE       lseek (corechan, context_offset, 0); */
 /* OBSOLETE       if (myread (corechan, &c, sizeof c) < 0) */
-/* OBSOLETE    perror_with_name (filename); */
+/* OBSOLETE     perror_with_name (filename); */
 /* OBSOLETE       lseek (corechan, c.core_user_p, 0); */
 /* OBSOLETE       if (myread (corechan, &u, sizeof u) < 0) */
-/* OBSOLETE    perror_with_name (filename); */
+/* OBSOLETE     perror_with_name (filename); */
 /* OBSOLETE       lseek (corechan, c.core_proc_p, 0); */
 /* OBSOLETE       if (myread (corechan, &pr, sizeof pr) < 0) */
-/* OBSOLETE    perror_with_name (filename); */
+/* OBSOLETE     perror_with_name (filename); */
 /* OBSOLETE       comm_registers = pr.p_creg; */
 /* OBSOLETE  */
 /* OBSOLETE       /* Core file apparently is really there.  Make it really exist */
-/* OBSOLETE     for xfer_core_file so we can do read_memory on it. *x/ */
+/* OBSOLETE      for xfer_core_file so we can do read_memory on it. *x/ */
 /* OBSOLETE  */
 /* OBSOLETE       if (filename[0] == '/') */
-/* OBSOLETE    corefile = savestring (filename, strlen (filename)); */
+/* OBSOLETE     corefile = savestring (filename, strlen (filename)); */
 /* OBSOLETE       else */
-/* OBSOLETE    corefile = concat (current_directory, "/", filename, NULL); */
+/* OBSOLETE     corefile = concat (current_directory, "/", filename, NULL); */
 /* OBSOLETE  */
 /* OBSOLETE       printf_filtered ("Program %s ", u.u_comm); */
 /* OBSOLETE  */
 /* OBSOLETE       /* Read the thread registers and fill in the thread_xxx[] data.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE       for (n = 0; n < n_threads; n++) */
-/* OBSOLETE    { */
-/* OBSOLETE      select_thread (n); */
-/* OBSOLETE  */
-/* OBSOLETE      lseek (corechan, tcontext_offset[n], 0); */
-/* OBSOLETE      if (myread (corechan, &tc, sizeof tc) < 0) */
-/* OBSOLETE        perror_with_name (corefile); */
-/* OBSOLETE      lseek (corechan, tc.core_thread_p, 0); */
-/* OBSOLETE      if (myread (corechan, &th, sizeof th) < 0) */
-/* OBSOLETE        perror_with_name (corefile); */
-/* OBSOLETE  */
-/* OBSOLETE      lseek (corechan, tc.core_syscall_context_p, 0); */
-/* OBSOLETE      if (myread (corechan, registers, REGISTER_BYTES) < 0) */
-/* OBSOLETE        perror_with_name (corefile); */
-/* OBSOLETE  */
-/* OBSOLETE      thread_signal[n] = th.t_cursig; */
-/* OBSOLETE      thread_sigcode[n] = th.t_code; */
-/* OBSOLETE      thread_state[n] = th.t_state; */
-/* OBSOLETE      thread_pc[n] = read_pc (); */
-/* OBSOLETE  */
-/* OBSOLETE      if (thread_pc[n] > STACK_END_ADDR) */
-/* OBSOLETE        { */
-/* OBSOLETE          POP_FRAME; */
-/* OBSOLETE          if (is_break_pc (thread_pc[n])) */
-/* OBSOLETE            thread_pc[n] = read_pc () - 2; */
-/* OBSOLETE          else */
-/* OBSOLETE            thread_pc[n] = read_pc (); */
-/* OBSOLETE          write_register (PC_REGNUM, thread_pc[n]); */
-/* OBSOLETE        } */
-/* OBSOLETE  */
-/* OBSOLETE      printf_filtered ("thread %d received signal %d, %s\n", */
-/* OBSOLETE                       n, thread_signal[n], */
-/* OBSOLETE                       safe_strsignal (thread_signal[n])); */
-/* OBSOLETE    } */
+/* OBSOLETE     { */
+/* OBSOLETE       select_thread (n); */
+/* OBSOLETE  */
+/* OBSOLETE       lseek (corechan, tcontext_offset[n], 0); */
+/* OBSOLETE       if (myread (corechan, &tc, sizeof tc) < 0) */
+/* OBSOLETE         perror_with_name (corefile); */
+/* OBSOLETE       lseek (corechan, tc.core_thread_p, 0); */
+/* OBSOLETE       if (myread (corechan, &th, sizeof th) < 0) */
+/* OBSOLETE         perror_with_name (corefile); */
+/* OBSOLETE  */
+/* OBSOLETE       lseek (corechan, tc.core_syscall_context_p, 0); */
+/* OBSOLETE       if (myread (corechan, registers, REGISTER_BYTES) < 0) */
+/* OBSOLETE         perror_with_name (corefile); */
+/* OBSOLETE  */
+/* OBSOLETE       thread_signal[n] = th.t_cursig; */
+/* OBSOLETE       thread_sigcode[n] = th.t_code; */
+/* OBSOLETE       thread_state[n] = th.t_state; */
+/* OBSOLETE       thread_pc[n] = read_pc (); */
+/* OBSOLETE  */
+/* OBSOLETE       if (thread_pc[n] > STACK_END_ADDR) */
+/* OBSOLETE         { */
+/* OBSOLETE           POP_FRAME; */
+/* OBSOLETE           if (is_break_pc (thread_pc[n])) */
+/* OBSOLETE             thread_pc[n] = read_pc () - 2; */
+/* OBSOLETE           else */
+/* OBSOLETE             thread_pc[n] = read_pc (); */
+/* OBSOLETE           write_register (PC_REGNUM, thread_pc[n]); */
+/* OBSOLETE         } */
+/* OBSOLETE  */
+/* OBSOLETE       printf_filtered ("thread %d received signal %d, %s\n", */
+/* OBSOLETE                        n, thread_signal[n], */
+/* OBSOLETE                        safe_strsignal (thread_signal[n])); */
+/* OBSOLETE     } */
 /* OBSOLETE  */
 /* OBSOLETE       /* Select an interesting thread -- also-rans died with SIGKILL, */
-/* OBSOLETE     so find one that didn't.  *x/ */
+/* OBSOLETE      so find one that didn't.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE       for (n = 0; n < n_threads; n++) */
-/* OBSOLETE    if (thread_signal[n] != 0 && thread_signal[n] != SIGKILL) */
-/* OBSOLETE      { */
-/* OBSOLETE        select_thread (n); */
-/* OBSOLETE        stop_signal = thread_signal[n]; */
-/* OBSOLETE        stop_sigcode = thread_sigcode[n]; */
-/* OBSOLETE        break; */
-/* OBSOLETE      } */
+/* OBSOLETE     if (thread_signal[n] != 0 && thread_signal[n] != SIGKILL) */
+/* OBSOLETE       { */
+/* OBSOLETE         select_thread (n); */
+/* OBSOLETE         stop_signal = thread_signal[n]; */
+/* OBSOLETE         stop_sigcode = thread_sigcode[n]; */
+/* OBSOLETE         break; */
+/* OBSOLETE       } */
 /* OBSOLETE  */
 /* OBSOLETE       core_aouthdr.a_magic = 0; */
 /* OBSOLETE  */