summaryrefslogtreecommitdiff
path: root/gdb/convex-xdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/convex-xdep.c')
-rw-r--r--gdb/convex-xdep.c446
1 files changed, 223 insertions, 223 deletions
diff --git a/gdb/convex-xdep.c b/gdb/convex-xdep.c
index 60117ce7ceb..857701dfc42 100644
--- a/gdb/convex-xdep.c
+++ b/gdb/convex-xdep.c
@@ -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/ */
@@ -98,12 +98,12 @@
/* 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; */
@@ -391,19 +391,19 @@
/* 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; */
@@ -452,27 +452,27 @@
/* 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 */
@@ -574,36 +574,36 @@
/* 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) */
@@ -639,89 +639,89 @@
/* 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/ */
@@ -772,14 +772,14 @@
/* 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 */
@@ -827,128 +827,128 @@
/* 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 */