Date: Thu, 30 Jun 2005 07:49:22 +0000 (UTC) From: Peter Wemm <peter@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org 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 ... Message-ID: <200506300749.j5U7nMEF089617@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506300749.j5U7nMEF089617>