Date: Mon, 24 Aug 2009 16:19:47 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/amd64/amd64 elf_machdep.c trap.c src/sys/amd64/linux32 linux32_sysvec.c src/sys/compat/ia32 ia32_sysvec.c src/sys/i386/i386 elf_machdep.c trap.c src/sys/i386/linux linux_sysvec.c src/sys/kern imgact_elf.c ... Message-ID: <200908241620.n7OGKaU8084437@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
bz 2009-08-24 16:19:47 UTC FreeBSD src repository Modified files: sys/amd64/amd64 elf_machdep.c trap.c sys/amd64/linux32 linux32_sysvec.c sys/compat/ia32 ia32_sysvec.c sys/i386/i386 elf_machdep.c trap.c sys/i386/linux linux_sysvec.c sys/kern imgact_elf.c sys/sys imgact_elf.h Log: SVN rev 196512 on 2009-08-24 16:19:47Z by bz 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 Revision Changes Path 1.31 +17 -0 src/sys/amd64/amd64/elf_machdep.c 1.334 +3 -1 src/sys/amd64/amd64/trap.c 1.53 +30 -5 src/sys/amd64/linux32/linux32_sysvec.c 1.34 +15 -0 src/sys/compat/ia32/ia32_sysvec.c 1.28 +16 -0 src/sys/i386/i386/elf_machdep.c 1.322 +3 -1 src/sys/i386/i386/trap.c 1.168 +30 -5 src/sys/i386/linux/linux_sysvec.c 1.198 +54 -6 src/sys/kern/imgact_elf.c 1.35 +5 -1 src/sys/sys/imgact_elf.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908241620.n7OGKaU8084437>