Age | Commit message (Collapse) | Author |
|
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
The GNU/kFreeBSD (and BSDs in general) have a different
layout of struct sockaddr, sockaddr_in, sockaddr_un ...
The first member do not have to be "sa_family",
they also have "sa_len" field.
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
|
|
|
|
|
|
|
|
making each extension library individually selectable for build.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
|
|
|
|
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 <jamey@minilop.net>
|
|
|
|
|
|
version is found.
|
|
|
|
The documentation generation with doxygen now works when built out of tree,
with srcdir != builddir. xcb.doxygen now gets generated from xcb.doxygen.in,
so that it can use top_builddir and top_srcdir to find source and to output
documentation. Also fill in PROJECT_NUMBER from @VERSION@, now that we have
it readily available via autoconf.
|
|
configure supports using custom CFLAGS, so remove the --with-opt and
--with-debug options from configure.ac, and the corresponding usage of
COPTFLAGS and CDEBUGFLAGS in src/Makefile.am.
|
|
Since the addition of IPv6 support, we now use getaddrinfo rather than
gethostbyname; update configure.ac accordingly.
|
|
built to use it.
|
|
versions.
|
|
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.
|
|
|
|
|
|
|
|
This is version 1.1 of the Xinerama (PanoramiX) extension.
|
|
|
|
|
|
|
|
We don't want to have to change the libxcb soname if we later manage to remove
the Xlib compatibility functions, and nothing except Xlib should ever use
them, so split them into a separate library.
|
|
|
|
|
|
change its Libs line to use -lXCBxf86dri, and change configure.ac and Makefile.am accordingly.
|
|
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.
|
|
compiler and use its enhanced warning flag.
|
|
bug #6106.
|
|
|
|
When not in RAW mode, a null pointer for iov_base is replaced by up to 3 padding bytes.
|
|
XCBSendRequest and write_setup.
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.
|
|
|
|
|
|
|