RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Ralf S. Engelschall Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 29-Jun-2007 14:28:41 Branch: HEAD Handle: 2007062913284001 Modified files: rpm CHANGES rpm/lib rpmrc.c Log: Correctly restore SIGILL signal handler in machine detection code. Submitted by: OpenSUSE via Panu Matilainen at rpm.org Obtained from: http://hg.rpm.org/rpm?cs=8a1bbb5918b9 Summary: Revision Changes Path 1.1415 +1 -0 rpm/CHANGES 2.199 +10 -2 rpm/lib/rpmrc.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.1414 -r1.1415 CHANGES --- rpm/CHANGES 29 Jun 2007 11:56:06 -0000 1.1414 +++ rpm/CHANGES 29 Jun 2007 12:28:40 -0000 1.1415 @@ -1,4 +1,5 @@ 4.5 -> 5.0: + - rse: correctly restore SIGILL signal handler in machine detection code. - pmatilaj: nuke antique Red Hat Linux "reference" "baddeps" list (in lib/depends.c) - rse: allow one to explicitly select the RPM DB API with --with-dbapi={db,sqlite} - rse: provide automatically Autoconf chosen RPM DB API selection and configuration @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmrc.c ============================================================================ $ cvs diff -u -r2.198 -r2.199 rpmrc.c --- rpm/lib/rpmrc.c 19 Jun 2007 06:49:49 -0000 2.198 +++ rpm/lib/rpmrc.c 29 Jun 2007 12:28:41 -0000 2.199 @@ -1149,19 +1149,27 @@ { int cpu; unsigned int tfms, junk, cap, capamd; + struct sigaction oldsa; + sigaction(SIGILL, NULL, &oldsa); signal(SIGILL, model3); - if (sigsetjmp(jenv, 1)) + if (sigsetjmp(jenv, 1)) { + sigaction(SIGILL, &oldsa, NULL); return 3; + } - if (cpuid_eax(0x000000000)==0) + if (cpuid_eax(0x000000000)==0) { + sigaction(SIGILL, &oldsa, NULL); return 4; + } cpuid(0x00000001, &tfms, &junk, &junk, &cap); cpuid(0x80000001, &junk, &junk, &junk, &capamd); cpu = (tfms>>8)&15; + + sigaction(SIGILL, &oldsa, NULL); if (cpu < 6) return cpu; @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org