CVS Update: xserver (branch: accel_indirect_glx)

Adam Jackson xorg-commit at cvs.freedesktop.org
Fri Feb 17 02:55:36 EET 2006


CVSROOT:	/cvs/xorg
Module name:	xserver
Changes by:	ajax at gabe.freedesktop.org	06/02/16 16:55:36

Log message:
  libdrm is built with libc wrapping in the server.  the DRI driver links against
  the system copy, which is not wrapped.  normal ELF symbol resolution will
  attempt to resolve drm* symbols by starting at the executable (Xorg) and
  working breadth-first.  this will hit the server's version of libdrm first,
  meaning drm calls from the DRI driver will succeed fine, when they succeed,
  but will fail with mangled errno values when they fail.  this will defeat
  some drivers that retry ioctls like drmCommandWrite on -EAGAIN or -EINTR.
  
  to work around this, dlopen the DRI driver with RTLD_DEEPBIND, which changes
  the resolution rules to only search within the lib dependencies listed by the
  driver itself.  this requires a relatively recent glibc and probably makes
  this entire branch linux-only.
  
  the real solution, as has already been done in HEAD, is to terminate the
  libc wrapper with extreme prejudice.  however that's a big backport so i'm
  not going to do it on this branch.

Modified files:
      xserver/xorg/GL/glx/:	Tag: accel_indirect_glx
        glxloader.c 
  
  Revision      Changes    Path
  1.1.2.2       +1 -1      xserver/xorg/GL/glx/Attic/glxloader.c
  http://cvs.freedesktop.org/xorg/xserver/xorg/GL/glx/Attic/glxloader.c




More information about the xorg-commit mailing list