From owner-cvs-src@FreeBSD.ORG Sun Dec 17 06:48:40 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EA12D16A403; Sun, 17 Dec 2006 06:48:40 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 96A2843CA1; Sun, 17 Dec 2006 06:48:40 +0000 (GMT) (envelope-from kmacy@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kBH6meaZ027333; Sun, 17 Dec 2006 06:48:40 GMT (envelope-from kmacy@repoman.freebsd.org) Received: (from kmacy@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kBH6meUJ027332; Sun, 17 Dec 2006 06:48:40 GMT (envelope-from kmacy) Message-Id: <200612170648.kBH6meUJ027332@repoman.freebsd.org> From: Kip Macy Date: Sun, 17 Dec 2006 06:48:40 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/amd64/amd64 apic_vector.S exception.S local_apic.c trap.c src/sys/amd64/ia32 ia32_exception.S ia32_syscall.c src/sys/amd64/include apicvar.h src/sys/amd64/isa atpic.c atpic_vector.S X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2006 06:48:41 -0000 kmacy 2006-12-17 06:48:40 UTC FreeBSD src repository Modified files: sys/amd64/amd64 apic_vector.S exception.S local_apic.c trap.c sys/amd64/ia32 ia32_exception.S ia32_syscall.c sys/amd64/include apicvar.h sys/amd64/isa atpic.c atpic_vector.S Log: Newer versions of gcc don't support treating structures passed by value as if they were really passed by reference. Specifically, the dead stores elimination pass in the GCC 4.1 optimiser breaks the non-compliant behavior on which FreeBSD relied. This change brings FreeBSD up to date by switching trap frames to being explicitly passed by reference. Reviewed by: kan Tested by: kan Revision Changes Path 1.110 +2 -1 src/sys/amd64/amd64/apic_vector.S 1.128 +2 -0 src/sys/amd64/amd64/exception.S 1.34 +7 -7 src/sys/amd64/amd64/local_apic.c 1.313 +48 -50 src/sys/amd64/amd64/trap.c 1.5 +1 -0 src/sys/amd64/ia32/ia32_exception.S 1.17 +17 -17 src/sys/amd64/ia32/ia32_syscall.c 1.21 +2 -2 src/sys/amd64/include/apicvar.h 1.21 +2 -2 src/sys/amd64/isa/atpic.c 1.48 +1 -0 src/sys/amd64/isa/atpic_vector.S