freebsd-skq/sys/amd64/linux32
bz ba7b3afabc Fix handling of .note.ABI-tag section for GNU systems [1].
Handle GNU/Linux according to LSB Core Specification 4.0,
Chapter 11. Object Format, 11.8. ABI note tag.

Also check the first word of desc, not only name, according to
glibc abi-tags specification to distinguish between Linux and
kFreeBSD.

Add explicit handling for Debian GNU/kFreeBSD, which runs
on our kernels as well [2].

In {amd64,i386}/trap.c, when checking osrel of the current process,
also check the ABI to not change the signal behaviour for Linux
binary processes, now that we save an osrel version for all three
from the lists above in struct proc [2].

These changes make it possible to run FreeBSD, Debian GNU/kFreeBSD
and Linux binaries on the same machine again for at least i386 and
amd64, and no longer break kFreeBSD which was detected as GNU(/Linux).

PR:		kern/135468
Submitted by:	dchagin [1] (initial patch)
Suggested by:	kib [2]
Tested by:	Petr Salinger (Petr.Salinger seznam.cz) for kFreeBSD
Reviewed by:	kib
MFC after:	3 days
2009-08-24 16:19:47 +00:00
..
linux32_dummy.c Implement robust futexes. Most of the code is modelled after 2008-05-13 20:01:27 +00:00
linux32_genassym.c Segment registers are stored in the uc_mcontext member of the struct 2008-09-07 16:39:21 +00:00
linux32_ipc64.h
linux32_locore.s Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
linux32_machdep.c Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
linux32_proto.h Regenerate 2008-11-29 14:57:58 +00:00
linux32_support.s Move futex support code from <arch>/support.s into linux compat directory. 2007-05-23 08:33:06 +00:00
linux32_syscall.h Regenerate 2008-11-29 14:57:58 +00:00
linux32_sysent.c Regenerate generated syscall files following changes to struct sysent in 2009-06-01 16:14:38 +00:00
linux32_sysvec.c Fix handling of .note.ABI-tag section for GNU systems [1]. 2009-08-24 16:19:47 +00:00
linux.h Implement accept4 syscall. 2009-06-01 20:48:39 +00:00
Makefile
syscalls.conf - Remove unused sysvec variables from various syscalls.conf. 2006-08-15 17:25:55 +00:00
syscalls.master Fix iovec32 for linux32/amd64. 2008-11-29 14:55:24 +00:00