Module Name: src Committed By: hans Date: Fri Feb 28 18:08:51 UTC 2025
Modified Files: src/sys/arch/vax/vax: db_disasm.c Log Message: vax/ddb(4): fix disassembly of functions On the VAX, functions normally begin with a 16bit entry mask specifying which registers need to be saved on the stack by the CALLS/CALLG instructions. The VAX disassembler tries to take this into account, but the code didn't work as intended. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/vax/vax/db_disasm.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/vax/vax/db_disasm.c diff -u src/sys/arch/vax/vax/db_disasm.c:1.24 src/sys/arch/vax/vax/db_disasm.c:1.25 --- src/sys/arch/vax/vax/db_disasm.c:1.24 Sat Jul 24 21:31:36 2021 +++ src/sys/arch/vax/vax/db_disasm.c Fri Feb 28 18:08:51 2025 @@ -1,4 +1,4 @@ -/* $NetBSD: db_disasm.c,v 1.24 2021/07/24 21:31:36 andvar Exp $ */ +/* $NetBSD: db_disasm.c,v 1.25 2025/02/28 18:08:51 hans Exp $ */ /* * Copyright (c) 1996 Ludd, University of Lule}, Sweden. * All rights reserved. @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.24 2021/07/24 21:31:36 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.25 2025/02/28 18:08:51 hans Exp $"); #include <sys/param.h> #include <sys/proc.h> @@ -157,9 +157,9 @@ db_disasm(db_addr_t loc, bool altfmt) db_symbol_values(sym, &symname, 0); if (symname && !diff) { /* symbol at loc */ - db_printf("function \"%s()\", entry-mask 0x%x\n\t\t", + db_printf("function \"%s()\", entry-mask 0x%x\n", symname, (unsigned short) get_word(&ib)); - ib.ppc += 2; + return ((u_int) ib.ppc); } } get_opcode(&ib);