1. 12 Oct, 2008 2 commits
  2. 08 Oct, 2008 1 commit
  3. 09 Sep, 2008 1 commit
  4. 31 Aug, 2008 1 commit
  5. 17 Jul, 2008 1 commit
  6. 07 Jul, 2008 1 commit
  7. 29 May, 2008 1 commit
  8. 24 Apr, 2008 1 commit
  9. 19 Apr, 2008 1 commit
  10. 24 Jan, 2008 2 commits
  11. 07 Dec, 2007 1 commit
  12. 05 Nov, 2007 1 commit
  13. 06 Jun, 2007 1 commit
    • Christoph Pfister's avatar
      Print backtraces in case an assert fails inside xlib/xcb. · 605c778e
      Christoph Pfister authored and Jamey Sharp's avatar Jamey Sharp committed
      
      
      As you know there are some nasty libs / apps doing locking
      incorrectly. In order to improve the information given to the user
      when he encounters such a situation (people don't run apps in gdb
      normally) I created the patch attached.
      It's very non-intrusive (and affects only xlib/xcb, Josh told me on
      irc that it could be useful for other areas too, personally I don't
      think that it's really needed at other places ...).
      
      Some same outputs and the discussion of them:
      
          lxuser@pdln:/tmp$ ./main
          Got a backtrace:
          #0 /tmp/usr/lib/libxcb-xlib.so.0 [0xb7f9d728]
          #1 /tmp/usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb7f9d861]
          #2 ./test.so(function_a+0x11) [0xb7f9f3fd]
          #3 ./test.so(function_b+0x11) [0xb7f9f410]
          #4 ./main [0x80484a7]
          #5 /lib/libc.so.6(__libc_start_main+0xdc) [0xb7e60ebc]
          #6 ./main [0x80483f1]
          main: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
          Aborted
      
      That's kinda the normal situation.
      
          lxuser@pdln:/tmp$ ./main
          Got a backtrace:
          #0 /tmp/usr/lib/libxcb-xlib.so.0 [0xb7f90728]
          #1 /tmp/usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb7f90861]
          #2 /tmp/test.so [0xb7f923cd]
          #3 /tmp/test.so(function_b+0x11) [0xb7f923e0]
          #4 ./main [0x80484ab]
          #5 /lib/libc.so.6(__libc_start_main+0xdc) [0xb7e53ebc]
          #6 ./main [0x80483f1]
          main: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
          Aborted
      
      There are two possible reasons that the name doesn't appear in #2:
      a) a hidden symbol or a symbol with statical linkage in a library
      b) a symbol in an app not compiled with -rdynamic.
      But in both cases you still know _where_ the caller is.
      
      Note that in this example test.so was compiled with
      -fomit-frame-pointer; this isn't an issue as _one_ (= the caller)
      stack trace is still valid (as long as you don't have the insane idea
      to compile xcb with -fo-f-p).
      
      Another issue that may appear is "tail call elimination" (some entries
      are mysteriously missing; this is quite ugly, but you still get enough
      information so that you can do something useful with the issue e.g. by
      disassembling the relevant parts with gdb).
      
      Signed-off-by: Jamey Sharp's avatarJamey Sharp <jamey@minilop.net>
      605c778e
  14. 28 Nov, 2006 1 commit
  15. 25 Nov, 2006 1 commit
  16. 23 Nov, 2006 5 commits
  17. 19 Nov, 2006 1 commit
  18. 17 Nov, 2006 1 commit
    • Jamey Sharp's avatar
      Switch from the old AM_PATH_CHECK macro to pkg-config. · 3634299e
      Jamey Sharp authored
      check 0.9.4 is now required to build XCB's unit tests.
      
      The version that we were requiring was not actually new enough to let
      our unit tests compile, and the AM_PATH_CHECK macro is now considered
      deprecated. We know that versions of check using pkg-config are new
      enough to work, and the check dependency was optional anyway, so we've
      dropped support for older versions.
      3634299e
  19. 05 Nov, 2006 1 commit
  20. 03 Nov, 2006 1 commit
  21. 13 Oct, 2006 1 commit
  22. 08 Oct, 2006 1 commit
  23. 25 Sep, 2006 5 commits
  24. 27 Apr, 2006 1 commit
  25. 26 Apr, 2006 1 commit
    • Josh Triplett's avatar
      Add .pc.in files for all the new extension libraries. Generate .pc files from... · b825f338
      Josh Triplett authored
      Add .pc.in files for all the new extension libraries.  Generate .pc files from the new .pc.in files in configure.ac.  Install the new .pc files in Makefile.am, and add the new .pc.in files to EXTRA_DIST.
      
      Based on a patch by Vincent Torri.  Changes from that patch: add Requires to the .pc.in files based on the <import>s in the extensions, add a .pc.in file for libXCBxtest, change Name and Description fields to match extension names.
      b825f338
  26. 20 Apr, 2006 1 commit
  27. 13 Mar, 2006 1 commit
  28. 07 Mar, 2006 1 commit
  29. 02 Mar, 2006 1 commit
  30. 24 Feb, 2006 1 commit
    • Jamey Sharp's avatar
      Factor padding out of _xcb_out_write_block and into its callers, XCBSendRequest and write_setup. · 7f0bc778
      Jamey Sharp authored
      This requires dynamically allocating memory in XCBSendRequest, but this
      malloc/free pair turns out to cause a 30% speed hit for the 'x11perf -noop'
      test -- so for the moment I use alloca where available and fall back to malloc
      on other platforms. Later I think I'll change the contract of XCBSendRequest
      so the caller is responsible for memory allocation, because the caller ought
      to always be able to stack-allocate here.
      7f0bc778