NetBSD Problem Report #10142
Received: (qmail 12539 invoked from network); 17 May 2000 20:07:25 -0000
Message-Id: <200005172006.NAA07036@jtc.redback.com>
Date: Wed, 17 May 2000 13:06:55 -0700 (PDT)
From: <jtc@redback.com>
Reply-To: jtc@redback.com
To: gnats-bugs@gnats.netbsd.org
Subject: powerpc port does not support fp registers in core dumps
X-Send-Pr-Version: 3.95
>Number: 10142
>Category: port-powerpc
>Synopsis: powerpc port does not support fp registers in core dumps
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-powerpc-maintainer
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed May 17 20:08:00 +0000 2000
>Closed-Date: Tue Mar 04 05:23:47 +0000 2003
>Last-Modified: Tue Mar 04 05:23:47 +0000 2003
>Originator:
>Release: NetBSD-current 2000/04/29
>Organization:
J.T. Conklin
RedBack Networks
>Environment:
System: NetBSD powermac 1.4X NetBSD 1.4X (GENERIC) #1: Thu May 11 22:44:11 PDT 2000 jtc@powermac:/usr/src/sys/arch/macppc/compile/GENERIC macppc
>Description:
The powerpc port does not save the contents of floating point
registers in core dumps.
The enclosed patch depends on the patch submitted with port-powerpc/10130,
which adds struct fpreg to powerpc/reg.h.
>How-To-Repeat:
>Fix:
*** OLD/pcb.h Tue May 16 20:56:27 2000
--- include/pcb.h Tue May 16 20:57:48 2000
***************
*** 33,38 ****
--- 33,40 ----
#ifndef _MACHINE_PCB_H_
#define _MACHINE_PCB_H_
+ #include <powerpc/reg.h>
+
typedef int faultbuf[23];
struct pcb {
***************
*** 50,57 ****
};
struct md_coredump {
! struct trapframe frame;
! /* Need to add FPU regs here */
};
#ifdef _KERNEL
--- 52,59 ----
};
struct md_coredump {
! struct reg intreg;
! struct fpreg freg;
};
#ifdef _KERNEL
*** OLD/reg.h Tue May 16 21:01:16 2000
--- include/reg.h Tue May 16 21:04:25 2000
***************
*** 1,5 ****
--- 1,8 ----
/* $NetBSD: reg.h,v 1.3 1999/05/03 10:02:19 tsubai Exp $ */
+ #ifndef _POWERPC_REG_H_
+ #define _POWERPC_REG_H_
+
struct reg {
register_t fixreg[32];
register_t lr;
***************
*** 13,15 ****
--- 16,20 ----
double r_regs[32];
double r_fpscr;
};
+
+ #endif /* !_POWERPC_REG_H_ */
*** OLD/vm_machdep.c Tue May 16 20:58:01 2000
--- powerpc/vm_machdep.c Tue May 16 20:59:20 2000
***************
*** 221,228 ****
chdr->c_seghdrsize = ALIGN(sizeof cseg);
chdr->c_cpusize = sizeof md_core;
! tf = trapframe(p);
! bcopy(tf, &md_core.frame, sizeof md_core.frame);
CORE_SETMAGIC(cseg, CORESEGMAGIC, MID_MACHINE, CORE_CPU);
cseg.c_addr = 0;
--- 221,235 ----
chdr->c_seghdrsize = ALIGN(sizeof cseg);
chdr->c_cpusize = sizeof md_core;
! /* Save integer registers. */
! error = process_read_regs(p, &md_core.intreg);
! if (error)
! return error;
!
! /* Save floating point registers. */
! error = process_read_fpregs(p, &md_core.freg);
! if (error)
! return error;
CORE_SETMAGIC(cseg, CORESEGMAGIC, MID_MACHINE, CORE_CPU);
cseg.c_addr = 0;
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback
State-Changed-By: mycroft
State-Changed-When: Wed Apr 17 05:38:31 PDT 2002
State-Changed-Why:
Fixed in vm_machdep.c 1.18 on 2000/06/04.
State-Changed-From-To: feedback->closed
State-Changed-By: fair
State-Changed-When: Mon Mar 3 21:05:58 PST 2003
State-Changed-Why:
This is fixed and jtc has vanished.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.