Module Name: src
Committed By: matt
Date: Sat Jun 6 22:19:07 UTC 2015
Modified Files:
src/sys/arch/mips/include: db_machdep.h
src/sys/arch/mips/mips: db_disasm.c db_interface.c db_trace.c
Log Message:
Make db_expr_t long long when using the N32 ABI.
To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/mips/include/db_machdep.h
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/mips/mips/db_disasm.c
cvs rdiff -u -r1.76 -r1.77 src/sys/arch/mips/mips/db_interface.c
cvs rdiff -u -r1.42 -r1.43 src/sys/arch/mips/mips/db_trace.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/include/db_machdep.h
diff -u src/sys/arch/mips/include/db_machdep.h:1.28 src/sys/arch/mips/include/db_machdep.h:1.29
--- src/sys/arch/mips/include/db_machdep.h:1.28 Sat Jul 9 16:58:05 2011
+++ src/sys/arch/mips/include/db_machdep.h Sat Jun 6 22:19:07 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: db_machdep.h,v 1.28 2011/07/09 16:58:05 matt Exp $ */
+/* $NetBSD: db_machdep.h,v 1.29 2015/06/06 22:19:07 matt Exp $ */
/*
* Copyright (c) 1997 Jonathan Stone (hereinafter referred to as the author)
@@ -46,8 +46,13 @@
#endif
typedef vaddr_t db_addr_t; /* address - unsigned */
+#ifdef __mips_n32
+#define DDB_EXPR_FMT "ll" /* expression is long long */
+typedef int64_t db_expr_t; /* expression - signed */
+#else
#define DDB_EXPR_FMT "l" /* expression is long */
typedef long db_expr_t; /* expression - signed */
+#endif
typedef struct reg db_regs_t;
Index: src/sys/arch/mips/mips/db_disasm.c
diff -u src/sys/arch/mips/mips/db_disasm.c:1.27 src/sys/arch/mips/mips/db_disasm.c:1.28
--- src/sys/arch/mips/mips/db_disasm.c:1.27 Sat Jun 6 04:32:47 2015
+++ src/sys/arch/mips/mips/db_disasm.c Sat Jun 6 22:19:07 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: db_disasm.c,v 1.27 2015/06/06 04:32:47 matt Exp $ */
+/* $NetBSD: db_disasm.c,v 1.28 2015/06/06 22:19:07 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.27 2015/06/06 04:32:47 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.28 2015/06/06 22:19:07 matt Exp $");
#include <sys/param.h>
#include <sys/cpu.h>
@@ -820,7 +820,7 @@ print_addr(db_addr_t loc)
if (diff == 0)
db_printf("%s", symname);
else
- db_printf("<%s+%lx>", symname, diff);
+ db_printf("<%s+%"DDB_EXPR_FMT"x>", symname, diff);
db_printf("\t[addr:%#"PRIxVADDR"]", loc);
} else {
db_printf("%#"PRIxVADDR, loc);
Index: src/sys/arch/mips/mips/db_interface.c
diff -u src/sys/arch/mips/mips/db_interface.c:1.76 src/sys/arch/mips/mips/db_interface.c:1.77
--- src/sys/arch/mips/mips/db_interface.c:1.76 Sat Jun 6 04:38:52 2015
+++ src/sys/arch/mips/mips/db_interface.c Sat Jun 6 22:19:07 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: db_interface.c,v 1.76 2015/06/06 04:38:52 matt Exp $ */
+/* $NetBSD: db_interface.c,v 1.77 2015/06/06 22:19:07 matt Exp $ */
/*
* Mach Operating System
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.76 2015/06/06 04:38:52 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.77 2015/06/06 22:19:07 matt Exp $");
#include "opt_multiprocessor.h"
#include "opt_cputype.h" /* which mips CPUs do we support? */
@@ -290,7 +290,7 @@ db_kvtophys_cmd(db_expr_t addr, bool hav
* Cast the physical address -- some platforms, while
* being ILP32, may be using 64-bit paddr_t's.
*/
- db_printf("0x%lx -> 0x%" PRIx64 "\n", addr,
+ db_printf("0x%" DDB_EXPR_FMT "x -> 0x%" PRIx64 "\n", addr,
(uint64_t) kvtophys(addr));
} else
printf("not a kernel virtual address\n");
Index: src/sys/arch/mips/mips/db_trace.c
diff -u src/sys/arch/mips/mips/db_trace.c:1.42 src/sys/arch/mips/mips/db_trace.c:1.43
--- src/sys/arch/mips/mips/db_trace.c:1.42 Fri Apr 29 22:14:59 2011
+++ src/sys/arch/mips/mips/db_trace.c Sat Jun 6 22:19:07 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: db_trace.c,v 1.42 2011/04/29 22:14:59 matt Exp $ */
+/* $NetBSD: db_trace.c,v 1.43 2015/06/06 22:19:07 matt Exp $ */
/*
* Mach Operating System
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.42 2011/04/29 22:14:59 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.43 2015/06/06 22:19:07 matt Exp $");
#include "opt_ddb.h"
@@ -169,7 +169,7 @@ db_stack_trace_print(db_expr_t addr, boo
}
if (lwpaddr) {
- l = (struct lwp *)addr;
+ l = (struct lwp *)(intptr_t)addr;
(*pr)("pid %d.%d ", l->l_proc->p_pid, l->l_lid);
} else {
/* "trace/t" */