Created attachment 14683 [details] [review]
I just remade the patches I posted some time ago to the
email@example.com mailing list, as all of them did
not apply cleanly anymore.
Created attachment 14684 [details] [review]
Created attachment 14685 [details] [review]
Created attachment 14686 [details] [review]
Created attachment 14687 [details] [review]
Created attachment 14688 [details] [review]
Changing priority/severity because these patches needs to be
remade from time to time. As of today they don't apply cleanly
anymore also, but I am not posting an update, at least until
at least one response is given to this bug report.
Note that I am also just editing configure.ac and Makefile.am's
in the X Server source tree and drivers, as I am using the macro
XORG_CHECK_SYMBOLS in the patch for util/macros, and then adding
a XORG_CHECK_SYMBOLS to configure.ac and @HIDDEN_SYMBOLS@ to
AM_CFLAGS as appropriate to most Makefile.am's.
After having things compiled with hidden symbols by default,
I can use xorg-symbols.pl (see #14912 for the scripts) to check for
This looks okay to me, but it's really ajax's turf.
Created attachment 15112 [details] [review]
Patch remade as of a few minutes ago.
It also adds exports functions that I previously opened another
bug report, but better to have only one patch for this issue.
Other patches diff is only the "From <commit>" line, so they should
still apply cleanly.
Comment on attachment 14683 [details] [review]
This has been fixed in commit 57d48d94b8947c571925e6fd4c9bf041fbd1b2ac
Other patches should still apply, but patch 5 isn't enough anymore to cover symbols required by different compilable modules.
Created attachment 15864 [details]
Adding all X Server patches in a single tarball.
This has been updated for the cfb removal, and
exports one xvmc and some dri2 symbols.
Ajax, can you give some comment on it?
Currently I use xorg/util/macros, and there is an
associated bugzilla (https://bugs.freedesktop.org/show_bug.cgi?id=14745)
to define the macro XORG_CHECK_SYMBOLS, that uses
AC_SUBST on HIDDEN_SYMBOLS and PUBLIC_SYMBOLS. This
was done initially to allow compiling half with public
symbols by default. But everything in the X Server should
compile and run fine if XORG_CFLAGS did include the
visibility argument, and this way avoid the requirement
of adding @@HIDDEN_SYMBOLS@@ or @@PUBLIC_SYMBOLS@@ to
I think the only code that may use XORG_CFLAGS and
should be public visibility (to match the default for all
other libraries) are the lib*XvMC.so binaries, that are
built for some drivers, and usually installed by default
Also, for an official version, it should export
everything that is defined in /usr/include/xorg/*.h.
I already posted information about these symbols, as
well as about symbols not in the "sdk" but that must
be made of public visibility because some drivers
use those "private" symbols.
The only reason I can think to still not at least
give a response is maybe fear of lack of maintenance.
But it should not be too hard, I already posted a script
that lists all missing symbols in an install, see
and knowing what symbols are not being exported,
just use ctags/cscope to find the symbol and make
it "visible". There are of course some problems with
symbols defined using macros that are harder to find,
that I plan to make them reachable from a text editor
that understands ctags, but did not make patches
because I consider maintaining and remaking these
patches is enough for now.
There is no script to do an automated check if
a symbol that is not in the sdk, but made public,
is no longer required to be made public, but if
this is also a problem, I can work on it.
Created attachment 16466 [details]
Update to current git master.
Also _X_EXPORT'ed randr/randr.c:rrPrivKey required
by the geode driver, but not in the "sdk".
All required patches to allow compiling the
X Server and modules with hidden symbols by
default were applied.