freebsd-skq/sys/compat/ia32
peter 921b3c5ee4 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
2005-06-30 07:49:22 +00:00
..
ia32_genassym.c DOH!!! Fix signals for freebsd-4.x/i386 binaries. The ucontext has 2004-02-21 23:35:56 +00:00
ia32_reg.h Jumbo-commit to enhance 32 bit application support on 64 bit kernels. 2005-06-30 07:49:22 +00:00
ia32_signal.h Fix 32 bit signals on amd64. It turns out that I was sign extending 2005-04-05 22:41:49 +00:00
ia32_sysvec.c o Split out kernel part of execve(2) syscall into two parts: one that 2005-01-29 23:12:00 +00:00
ia32_util.h Assimilate ia64 back into the fold with the common freebsd32/ia32 code. 2003-12-11 01:05:09 +00:00