From owner-cvs-all@FreeBSD.ORG Thu Jun 30 07:49:23 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5A1B116A41C; Thu, 30 Jun 2005 07:49:23 +0000 (GMT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED72043D55; Thu, 30 Jun 2005 07:49:22 +0000 (GMT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j5U7nM1V089618; Thu, 30 Jun 2005 07:49:22 GMT (envelope-from peter@repoman.freebsd.org) Received: (from peter@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j5U7nMEF089617; Thu, 30 Jun 2005 07:49:22 GMT (envelope-from peter) Message-Id: <200506300749.j5U7nMEF089617@repoman.freebsd.org> From: Peter Wemm Date: Thu, 30 Jun 2005 07:49:22 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/amd64/ia32 ia32_reg.c src/sys/compat/ia32 ia32_reg.h src/sys/conf files.amd64 files.ia64 src/sys/fs/procfs procfs_dbregs.c procfs_fpregs.c procfs_ioctl.c procfs_map.c procfs_regs.c src/sys/ia64/ia32 ia32_reg.c src/sys/kern ... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2005 07:49:23 -0000 peter 2005-06-30 07:49:22 UTC FreeBSD src repository Modified files: sys/conf files.amd64 files.ia64 sys/fs/procfs procfs_dbregs.c procfs_fpregs.c procfs_ioctl.c procfs_map.c procfs_regs.c sys/kern imgact_elf.c kern_clock.c sys_process.c sys/sys ptrace.h Added files: sys/amd64/ia32 ia32_reg.c sys/compat/ia32 ia32_reg.h sys/ia64/ia32 ia32_reg.c Log: Jumbo-commit to enhance 32 bit application support on 64 bit kernels. This is good enough to be able to run a RELENG_4 gdb binary against a RELENG_4 application, along with various other tools (eg: 4.x gcore). We use this at work. ia32_reg.[ch]: handle the 32 bit register file format, used by ptrace, procfs and core dumps. procfs_*regs.c: vary the format of proc/XXX/*regs depending on the client and target application. procfs_map.c: Don't print a 64 bit value to 32 bit consumers, or their sscanf fails. They expect an unsigned long. imgact_elf.c: produce a valid 32 bit coredump for 32 bit apps. sys_process.c: handle 32 bit consumers debugging 32 bit targets. Note that 64 bit consumers can still debug 32 bit targets. IA64 has got stubs for ia32_reg.c. Known limitations: a 5.x/6.x gdb uses get/setcontext(), which isn't implemented in the 32/64 wrapper yet. We also make a tiny patch to gdb pacify it over conflicting formats of ld-elf.so.1. Approved by: re Revision Changes Path 1.1 +224 -0 src/sys/amd64/ia32/ia32_reg.c (new) 1.1 +141 -0 src/sys/compat/ia32/ia32_reg.h (new) 1.71 +2 -1 src/sys/conf/files.amd64 1.81 +1 -0 src/sys/conf/files.ia64 1.26 +46 -3 src/sys/fs/procfs/procfs_dbregs.c 1.32 +46 -3 src/sys/fs/procfs/procfs_fpregs.c 1.12 +35 -0 src/sys/fs/procfs/procfs_ioctl.c 1.38 +26 -1 src/sys/fs/procfs/procfs_map.c 1.31 +46 -3 src/sys/fs/procfs/procfs_regs.c 1.1 +82 -0 src/sys/ia64/ia32/ia32_reg.c (new) 1.162 +40 -10 src/sys/kern/imgact_elf.c 1.177 +31 -2 src/sys/kern/kern_clock.c 1.131 +178 -22 src/sys/kern/sys_process.c 1.27 +11 -0 src/sys/sys/ptrace.h