Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 May 2002 13:55:09 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 10841 for review
Message-ID:  <200205052055.g45Kt9S01170@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=10841

Change 10841 by marcel@marcel_vaio on 2002/05/05 13:54:28

	Prune the branch:
	We don't need a dummy __cxa_finalize anymore. We now handle
	weak references to undefined symbols correctly.

Affected files ...

... //depot/projects/ia64/lib/libc/ia64/gen/Makefile.inc#8 edit
... //depot/projects/ia64/lib/libc/ia64/gen/cxa.c#4 delete
... //depot/projects/ia64/sys/ia64/ia64/exception.s#13 edit
... //depot/projects/ia64/sys/ia64/ia64/genassym.c#6 edit
... //depot/projects/ia64/sys/ia64/ia64/machdep.c#36 edit
... //depot/projects/ia64/sys/ia64/include/frame.h#3 edit
... //depot/projects/ia64/sys/ia64/include/reg.h#3 edit

Differences ...

==== //depot/projects/ia64/lib/libc/ia64/gen/Makefile.inc#8 (text+ko) ====

@@ -9,6 +9,3 @@
 # The following may go away if function _Unwind_FindTableEntry()
 # will be part of GCC.
 SRCS+=	unwind.c
-
-# The following will go away if gcc ever fixes their crtbegin.asm bug
-SRCS+=	cxa.c

==== //depot/projects/ia64/sys/ia64/ia64/exception.s#13 (text+ko) ====


==== //depot/projects/ia64/sys/ia64/ia64/genassym.c#6 (text+ko) ====

@@ -92,7 +92,7 @@
 ASSYM(TF_CR_IPSR,	offsetof(struct trapframe, tf_cr_ipsr));
 ASSYM(TF_CR_IFS,	offsetof(struct trapframe, tf_cr_ifs));
 ASSYM(TF_NDIRTY,	offsetof(struct trapframe, tf_ndirty));
-ASSYM(TF_AR_FPSR,	offsetof(struct trapframe, tf_ar_fpsr));
+ASSYM(TF_AR_EC,		offsetof(struct trapframe, tf_ar_ec));
 ASSYM(TF_B,		offsetof(struct trapframe, tf_b));
 ASSYM(TF_R,		offsetof(struct trapframe, tf_r));
 ASSYM(TF_R_R1,		offsetof(struct trapframe, tf_r[FRAME_R1]));

==== //depot/projects/ia64/sys/ia64/ia64/machdep.c#36 (text+ko) ====

@@ -1171,7 +1171,9 @@
 	struct thread *td;
 	struct reg *regs;
 {
-	/* TODO copy trapframe to regs */
+	bcopy(td->td_frame->tf_b, regs->r_br, sizeof(regs->r_br));
+	bcopy(td->td_frame->tf_r, regs->r_gr+1,
+	    sizeof(regs->r_gr) - sizeof(uint64_t));
 	return (0);
 }
 
@@ -1180,7 +1182,8 @@
 	struct thread *td;
 	struct reg *regs;
 {
-	/* TODO copy regs to trapframe */
+	bcopy(regs->r_br, td->td_frame->tf_b, sizeof(td->td_frame->tf_b));
+	bcopy(regs->r_gr+1, td->td_frame->tf_r, sizeof(td->td_frame->tf_r));
 	return (0);
 }
 

==== //depot/projects/ia64/sys/ia64/include/frame.h#3 (text+ko) ====


==== //depot/projects/ia64/sys/ia64/include/reg.h#3 (text+ko) ====

@@ -32,7 +32,7 @@
 #ifndef _IA64_FPREG_DEFINED
 
 struct ia64_fpreg {
-	u_int64_t	fpr_bits[2];
+	uint64_t	fpr_bits[2];
 } __attribute__ ((aligned (16)));
 
 #define _IA64_FPREG_DEFINED
@@ -40,7 +40,21 @@
 #endif
 
 struct reg {
-	u_int64_t	r_regs[128];
+	uint64_t	r_gr[32];	/* No rotating registers */
+	uint64_t	r_br[8];
+	uint64_t	r_cfm;
+	uint64_t	r_ip;		/* Bits 0-3 encode the slot number */
+	uint64_t	r_pr;
+	uint64_t	r_psr;		/* User mask */
+	uint64_t	r_ar_rsc;
+	uint64_t	r_ar_bspstore;
+	uint64_t	r_ar_rnat;
+	uint64_t	r_ar_ccv;
+	uint64_t	r_ar_unat;
+	uint64_t	r_ar_fpsr;
+	uint64_t	r_ar_pfs;
+	uint64_t	r_ar_lc;
+	uint64_t	r_ar_ec;
 };
 
 struct fpreg {
@@ -48,8 +62,8 @@
 };
 
 struct dbreg {
-	u_int64_t	dbr_data[8];
-	u_int64_t	dbr_inst[8];
+	uint64_t	dbr_data[8];
+	uint64_t	dbr_inst[8];
 };
 
 #ifdef _KERNEL

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205052055.g45Kt9S01170>