Package: xserver-xfree86
Version: 4.3.0.dfsg.1-8
Severity: important
Tags: patch

I cannot start X since I downgraded (from 64bit kernel) to i386 PAE 
enabled 2.6.9 kernel, as XFree86 binary available in Debian is not 
compatible with no-exec changes.  They die with sigsegv when trying
to initialize first extension they load.

Please apply patch below or (better) switch to Xorg or fix problem
in some other way.

Actually whole elfloader.c needs some serious cleanup on #ifdefs - archs
without mprotect should provide empty one instead of scattering
#ifdefs (each checking for different set of architectures!) through
the code.
                                                Thanks,
                                                        Petr Vandrovec


--- 
/usr/src/debian/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/hw/xfree86/loader/elfloader.c.orig
      2004-09-24 09:57:59.000000000 +0200
+++ 
/usr/src/debian/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/hw/xfree86/loader/elfloader.c
   2004-10-21 21:55:21.000000000 +0200
@@ -2740,12 +2740,10 @@
        elffile->lsection[j].size=SecSize(i);
        elffile->lsection[j].flags=flags;
        switch (SecType(i)) {
-#ifdef __OpenBSD__
        case SHT_PROGBITS:
            mprotect(elffile->lsection[j].saddr, SecSize(i), 
                     PROT_READ|PROT_WRITE|PROT_EXEC);
            break;
-#endif
        case SHT_SYMTAB:
            elffile->symtab = (Elf_Sym *)elffile->saddr[i];
            elffile->symndx = i;

Reply via email to