RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Ralf S. Engelschall
Root: /v/rpm/cvs Email: rse@rpm5.org
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;
@@ .
Received on Fri Jun 29 14:28:41 2007