summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-04-19 23:44:38 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-04-19 23:44:38 +0000
commitb27590d60fae996d8238be98a918543298770ee6 (patch)
tree1794d9829ba61db94d394c29ec70c85d2391fcf9 /sys-freebsd
parentVersion bump. (diff)
downloadhistorical-b27590d60fae996d8238be98a918543298770ee6.tar.gz
historical-b27590d60fae996d8238be98a918543298770ee6.tar.bz2
historical-b27590d60fae996d8238be98a918543298770ee6.zip
Bump with patch for SA-06:14 patch.
Package-Manager: portage-2.1_pre7-r5
Diffstat (limited to 'sys-freebsd')
-rw-r--r--sys-freebsd/freebsd-sources/ChangeLog9
-rw-r--r--sys-freebsd/freebsd-sources/Manifest27
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-06-14-fpu.patch141
-rw-r--r--sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r4 (renamed from sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r3)0
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-6.0-r4.ebuild (renamed from sys-freebsd/freebsd-sources/freebsd-sources-6.0-r3.ebuild)7
5 files changed, 168 insertions, 16 deletions
diff --git a/sys-freebsd/freebsd-sources/ChangeLog b/sys-freebsd/freebsd-sources/ChangeLog
index 67efdd200e18..8e074a6311ea 100644
--- a/sys-freebsd/freebsd-sources/ChangeLog
+++ b/sys-freebsd/freebsd-sources/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-freebsd/freebsd-sources
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sources/ChangeLog,v 1.6 2006/04/12 13:58:15 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sources/ChangeLog,v 1.7 2006/04/19 23:44:38 flameeyes Exp $
+
+*freebsd-sources-6.0-r4 (19 Apr 2006)
+
+ 19 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/SA-06-14-fpu.patch, -freebsd-sources-6.0-r3.ebuild,
+ +freebsd-sources-6.0-r4.ebuild:
+ Bump with patch for SA-06:14 patch.
*freebsd-sources-6.0-r3 (12 Apr 2006)
diff --git a/sys-freebsd/freebsd-sources/Manifest b/sys-freebsd/freebsd-sources/Manifest
index 205ed7440132..b6777eee2210 100644
--- a/sys-freebsd/freebsd-sources/Manifest
+++ b/sys-freebsd/freebsd-sources/Manifest
@@ -1,9 +1,9 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 aa834f08691ff8d1a81db358e4e01a52 ChangeLog 4606
-RMD160 9d41af5d3e6827609b578b319e11cf3276bd3e4d ChangeLog 4606
-SHA256 f163e5e63134c20e024eb67b4417b76c8032a7dda85ca4b3868090e64ae203ee ChangeLog 4606
+MD5 83cb88ff943ccabaa0e0a3c59a437752 ChangeLog 4832
+RMD160 50183ad109a03746aa8603a8b218f4085bf86c82 ChangeLog 4832
+SHA256 0148ae4888ebaa3384123a537494f68623760f3db6fbcd87fce0eded12d99679 ChangeLog 4832
MD5 ad048c616ac22cb627fd226084ca33e3 files/SA-06-04-ipfw.patch 637
RMD160 77e10b9e2148f59bd4a96eafa1f2e39c014d562e files/SA-06-04-ipfw.patch 637
SHA256 4d7b1a9c39c51e4ef1d30f1af4df5aa77f04ef454821fefdc57060c0d4a5fda3 files/SA-06-04-ipfw.patch 637
@@ -19,9 +19,12 @@ SHA256 876dc53071bf2f743ae443eed42fa55a5d902a7c7902e1f1581dd20979be12c7 files/SA
MD5 afbee903132dd6d6d400b6d1ede0146f files/SA-06-11-ipsec.patch 906
RMD160 dbd41d9ce4d2f0b6d5c45f915c9780c2ee43391a files/SA-06-11-ipsec.patch 906
SHA256 33ee98a658ac5abaa8b1d1dea7e53c0e8a47aa11d109c3279defe29c734728ad files/SA-06-11-ipsec.patch 906
-MD5 fdd5f9464a24e94d9c07afb96d280ec8 files/digest-freebsd-sources-6.0-r3 256
-RMD160 f0a1c1e21d535da51ee9e2839293c99a8b3fea3b files/digest-freebsd-sources-6.0-r3 256
-SHA256 d131f7b9b2b777da5691e816935b626d3c2bb33eaf3085b5dac2e64f1c9011ad files/digest-freebsd-sources-6.0-r3 256
+MD5 fe620e5fe67345b123180d225957c9ee files/SA-06-14-fpu.patch 3778
+RMD160 d76db671e257ad3310ddd02484c60829562ad9f7 files/SA-06-14-fpu.patch 3778
+SHA256 b8a630eb05974fc69424c0f64a90134976de12126131cad1ba472d316d3ff887 files/SA-06-14-fpu.patch 3778
+MD5 fdd5f9464a24e94d9c07afb96d280ec8 files/digest-freebsd-sources-6.0-r4 256
+RMD160 f0a1c1e21d535da51ee9e2839293c99a8b3fea3b files/digest-freebsd-sources-6.0-r4 256
+SHA256 d131f7b9b2b777da5691e816935b626d3c2bb33eaf3085b5dac2e64f1c9011ad files/digest-freebsd-sources-6.0-r4 256
MD5 d7ba170be5603b2bc377cbd544c82a23 files/freebsd-sources-6.0-asm.patch 4172
RMD160 7872cbedbbe9fbead0d69f26674489b335317606 files/freebsd-sources-6.0-asm.patch 4172
SHA256 2431b2dae991eef15c00c3e19ac01e23e374a1e8e6992053e64486032631b52e files/freebsd-sources-6.0-asm.patch 4172
@@ -37,16 +40,16 @@ SHA256 7fbd139296e98697c94dcc6a4cd4d926b057779cb2415cb62bbb881b8acf26e5 files/fr
MD5 91662a80d0cd0cd3dca34f3c1ca54830 files/freebsd-sources-gentoo.patch 1191
RMD160 1c8ce1849d767a995f075fe43b7313b341bd0805 files/freebsd-sources-gentoo.patch 1191
SHA256 e5e7186858259e7d6d21e925dde640a68b27255cf69ab089ee82675568e7d9a7 files/freebsd-sources-gentoo.patch 1191
-MD5 52a0830eabd832deddac9d7f1227edf8 freebsd-sources-6.0-r3.ebuild 1848
-RMD160 f2f743a1daaa9ae05f0599c25e51a3d650951c5f freebsd-sources-6.0-r3.ebuild 1848
-SHA256 b065b28b0c59576ef7cd49e14f514be673831d16452d089b8e94d98ef331be9e freebsd-sources-6.0-r3.ebuild 1848
+MD5 50b3a06fdf221b6339dfdd06179bf783 freebsd-sources-6.0-r4.ebuild 1916
+RMD160 6511c5b9c3212fd2d4075662e9b44b92da6fa815 freebsd-sources-6.0-r4.ebuild 1916
+SHA256 0a562948ab908c26d4d09d3c06873db6b5c7519ca21bdd9286b4911ac8cb484b freebsd-sources-6.0-r4.ebuild 1916
MD5 2bd48a5ae413433cbb36110b219ce97c metadata.xml 156
RMD160 60b5820a08275f307e5bd936d78f5afd1f141086 metadata.xml 156
SHA256 30ab515d6ac492d3d6c36ac3c675511742c2149e56a6b3228c8d22ab8edb3ff7 metadata.xml 156
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
-iD8DBQFEPQeFAiZjviIA2XgRAmChAJsF8lGbSD0V49oDIoRVw6ctwCt7YQCfTq3Z
-sQtlHs9Dur+nxRq0trpGpZA=
-=xKOS
+iD8DBQFERsqzAiZjviIA2XgRAksmAJ9THh5wm2LcCMMulYNrctGumHoPngCgyPVE
+NDLXmFYuuSNyh0AkRP2p8yI=
+=gXva
-----END PGP SIGNATURE-----
diff --git a/sys-freebsd/freebsd-sources/files/SA-06-14-fpu.patch b/sys-freebsd/freebsd-sources/files/SA-06-14-fpu.patch
new file mode 100644
index 000000000000..1758f124d49f
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-06-14-fpu.patch
@@ -0,0 +1,141 @@
+Index: sys/amd64/amd64/fpu.c
+===================================================================
+RCS file: /home/ncvs/src/sys/amd64/amd64/fpu.c,v
+retrieving revision 1.157
+diff -u -I__FBSDID -r1.157 fpu.c
+--- sys/amd64/amd64/fpu.c 11 Mar 2005 22:16:09 -0000 1.157
++++ sys/amd64/amd64/fpu.c 16 Apr 2006 20:18:07 -0000
+@@ -96,6 +96,8 @@
+
+ typedef u_char bool_t;
+
++static void fpu_clean_state(void);
++
+ int hw_float = 1;
+ SYSCTL_INT(_hw,HW_FLOATINGPT, floatingpoint,
+ CTLFLAG_RD, &hw_float, 0,
+@@ -407,6 +409,8 @@
+ PCPU_SET(fpcurthread, curthread);
+ pcb = PCPU_GET(curpcb);
+
++ fpu_clean_state();
++
+ if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) {
+ /*
+ * This is the first time this thread has used the FPU,
+@@ -474,6 +478,7 @@
+
+ s = intr_disable();
+ if (td == PCPU_GET(fpcurthread)) {
++ fpu_clean_state();
+ fxrstor(addr);
+ intr_restore(s);
+ } else {
+@@ -484,6 +489,37 @@
+ }
+
+ /*
++ * On AuthenticAMD processors, the fxrstor instruction does not restore
++ * the x87's stored last instruction pointer, last data pointer, and last
++ * opcode values, except in the rare case in which the exception summary
++ * (ES) bit in the x87 status word is set to 1.
++ *
++ * In order to avoid leaking this information across processes, we clean
++ * these values by performing a dummy load before executing fxrstor().
++ */
++static double dummy_variable = 0.0;
++static void
++fpu_clean_state(void)
++{
++ u_short status;
++
++ /*
++ * Clear the ES bit in the x87 status word if it is currently
++ * set, in order to avoid causing a fault in the upcoming load.
++ */
++ fnstsw(&status);
++ if (status & 0x80)
++ fnclex();
++
++ /*
++ * Load the dummy variable into the x87 stack. This mangles
++ * the x87 stack, but we don't care since we're about to call
++ * fxrstor() anyway.
++ */
++ __asm __volatile("ffree %%st(7); fld %0" : : "m" (dummy_variable));
++}
++
++/*
+ * This really sucks. We want the acpi version only, but it requires
+ * the isa_if.h file in order to get the definitions.
+ */
+Index: sys/i386/isa/npx.c
+===================================================================
+RCS file: /home/ncvs/src/sys/i386/isa/npx.c,v
+retrieving revision 1.164
+diff -u -I__FBSDID -r1.164 npx.c
+--- sys/i386/isa/npx.c 6 Apr 2006 17:17:45 -0000 1.164
++++ sys/i386/isa/npx.c 16 Apr 2006 20:18:08 -0000
+@@ -142,6 +142,10 @@
+
+ typedef u_char bool_t;
+
++#ifdef CPU_ENABLE_SSE
++static void fpu_clean_state(void);
++#endif
++
+ static void fpusave(union savefpu *);
+ static void fpurstor(union savefpu *);
+ static int npx_attach(device_t dev);
+@@ -952,15 +956,49 @@
+ fnsave(addr);
+ }
+
++#ifdef CPU_ENABLE_SSE
++/*
++ * On AuthenticAMD processors, the fxrstor instruction does not restore
++ * the x87's stored last instruction pointer, last data pointer, and last
++ * opcode values, except in the rare case in which the exception summary
++ * (ES) bit in the x87 status word is set to 1.
++ *
++ * In order to avoid leaking this information across processes, we clean
++ * these values by performing a dummy load before executing fxrstor().
++ */
++static double dummy_variable = 0.0;
++static void
++fpu_clean_state(void)
++{
++ u_short status;
++
++ /*
++ * Clear the ES bit in the x87 status word if it is currently
++ * set, in order to avoid causing a fault in the upcoming load.
++ */
++ fnstsw(&status);
++ if (status & 0x80)
++ fnclex();
++
++ /*
++ * Load the dummy variable into the x87 stack. This mangles
++ * the x87 stack, but we don't care since we're about to call
++ * fxrstor() anyway.
++ */
++ __asm __volatile("ffree %%st(7); fld %0" : : "m" (dummy_variable));
++}
++#endif /* CPU_ENABLE_SSE */
++
+ static void
+ fpurstor(addr)
+ union savefpu *addr;
+ {
+
+ #ifdef CPU_ENABLE_SSE
+- if (cpu_fxsr)
++ if (cpu_fxsr) {
++ fpu_clean_state();
+ fxrstor(addr);
+- else
++ } else
+ #endif
+ frstor(addr);
+ }
diff --git a/sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r3 b/sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r4
index 8ece252ae3b5..8ece252ae3b5 100644
--- a/sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r3
+++ b/sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r4
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r3.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r4.ebuild
index c601af0342f7..a0b2c9af9269 100644
--- a/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r3.ebuild
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r3.ebuild,v 1.1 2006/04/12 13:58:15 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r4.ebuild,v 1.1 2006/04/19 23:44:38 flameeyes Exp $
inherit bsdmk freebsd
@@ -37,6 +37,7 @@ src_unpack() {
epatch "${FILESDIR}/SA-06-06-kmem60.patch"
epatch "${FILESDIR}/SA-06-07-pf.patch"
epatch "${FILESDIR}/SA-06-11-ipsec.patch"
+ epatch "${FILESDIR}/SA-06-14-fpu.patch"
sed -i -e "s:%GENTOOPVR%:${PVR}:" conf/newvers.sh
}
@@ -51,7 +52,7 @@ src_install() {
}
pkg_postinst() {
- if [[ ! -L ${ROOT}usr/src/sys ]]; then
+ if [[ ! -L ${ROOT}/usr/src/sys ]]; then
einfo "/usr/src/sys symlink doesn't exist; creating..."
ln -sf sys-${MY_PVR} ${ROOT}/usr/src/sys || \
eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
@@ -59,7 +60,7 @@ pkg_postinst() {
eerror "Couldn't create ${ROOT}/usr/src/sys-${RV} symlink."
elif use symlink; then
einfo "Updating /usr/src/sys symlink..."
- rm ${ROOT}/usr/src/sys
+ rm ${ROOT}/usr/src/sys ${ROOT}/usr/src/sys-${RV}
ln -sf sys-${MY_PVR} ${ROOT}/usr/src/sys || \
eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
ln -sf sys-${MY_PVR} ${ROOT}/usr/src/sys-${RV} || \