diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2006-04-19 23:44:38 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2006-04-19 23:44:38 +0000 |
commit | b27590d60fae996d8238be98a918543298770ee6 (patch) | |
tree | 1794d9829ba61db94d394c29ec70c85d2391fcf9 /sys-freebsd | |
parent | Version bump. (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | sys-freebsd/freebsd-sources/Manifest | 27 | ||||
-rw-r--r-- | sys-freebsd/freebsd-sources/files/SA-06-14-fpu.patch | 141 | ||||
-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} || \ |