From owner-cvs-src-old@FreeBSD.ORG Mon Aug 24 16:20:36 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 86DCF106568D for ; Mon, 24 Aug 2009 16:20:36 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 584728FC26 for ; Mon, 24 Aug 2009 16:20:36 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n7OGKamV084438 for ; Mon, 24 Aug 2009 16:20:36 GMT (envelope-from bz@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n7OGKaU8084437 for cvs-src-old@freebsd.org; Mon, 24 Aug 2009 16:20:36 GMT (envelope-from bz@repoman.freebsd.org) Message-Id: <200908241620.n7OGKaU8084437@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to bz@repoman.freebsd.org using -f From: "Bjoern A. Zeeb" Date: Mon, 24 Aug 2009 16:19:47 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD 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 ... X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Aug 2009 16:20:36 -0000 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