Bug 14730 - xorg/xserver - _X_EXPORT related patches, ensuring symbols used by modules are visible and fixing some missing symbols
Summary: xorg/xserver - _X_EXPORT related patches, ensuring symbols used by modules ar...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: git
Hardware: Other All
: highest blocker
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks: 14771 14781
  Show dependency treegraph
 
Reported: 2008-02-28 21:25 UTC by Paulo César Pereira de Andrade
Modified: 2008-11-28 21:40 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
0001-Replace-ALLOCATE_LOCAL-DEALLOCATE_LOCAL-with-xalloc.patch (1.04 KB, patch)
2008-02-28 21:25 UTC, Paulo César Pereira de Andrade
no flags Details | Splinter Review
0002-Rework-code-deferencing-return-value-of-LoaderSymbol.patch (32.33 KB, patch)
2008-02-28 21:25 UTC, Paulo César Pereira de Andrade
no flags Details | Splinter Review
0003-Ensure-symbols-that-replace-weak-symbols-in-librarie.patch (4.60 KB, patch)
2008-02-28 21:26 UTC, Paulo César Pereira de Andrade
no flags Details | Splinter Review
0004-Remove-symbol-clashes-by-not-compiling-shape.c-as-bu.patch (815 bytes, patch)
2008-02-28 21:26 UTC, Paulo César Pereira de Andrade
no flags Details | Splinter Review
0005-Make-public-default-visibility-symbols-used-by-diffe.patch (91.81 KB, patch)
2008-02-28 21:27 UTC, Paulo César Pereira de Andrade
no flags Details | Splinter Review
0006-Add-a-dummy-mfbChangeWindowAttributes-function.patch (1.37 KB, patch)
2008-02-28 21:27 UTC, Paulo César Pereira de Andrade
no flags Details | Splinter Review
0005-Make-public-default-visibility-symbols-used-by-diffe.patch (102.40 KB, patch)
2008-03-13 23:10 UTC, Paulo César Pereira de Andrade
no flags Details | Splinter Review
xserver-patches.tar.bz2 (29.12 KB, application/x-bzip)
2008-04-12 19:23 UTC, Paulo César Pereira de Andrade
no flags Details
xserver-patches.tar.bz2 (29.15 KB, application/octet-stream)
2008-05-10 15:45 UTC, Paulo César Pereira de Andrade
no flags Details

Description Paulo César Pereira de Andrade 2008-02-28 21:25:33 UTC
Created attachment 14683 [details] [review]
0001-Replace-ALLOCATE_LOCAL-DEALLOCATE_LOCAL-with-xalloc.patch

I just remade the patches I posted some time ago to the
xorg@lists.freedesktop.org mailing list, as all of them did
not apply cleanly anymore.
Comment 1 Paulo César Pereira de Andrade 2008-02-28 21:25:58 UTC
Created attachment 14684 [details] [review]
0002-Rework-code-deferencing-return-value-of-LoaderSymbol.patch
Comment 2 Paulo César Pereira de Andrade 2008-02-28 21:26:20 UTC
Created attachment 14685 [details] [review]
0003-Ensure-symbols-that-replace-weak-symbols-in-librarie.patch
Comment 3 Paulo César Pereira de Andrade 2008-02-28 21:26:40 UTC
Created attachment 14686 [details] [review]
0004-Remove-symbol-clashes-by-not-compiling-shape.c-as-bu.patch
Comment 4 Paulo César Pereira de Andrade 2008-02-28 21:27:05 UTC
Created attachment 14687 [details] [review]
0005-Make-public-default-visibility-symbols-used-by-diffe.patch
Comment 5 Paulo César Pereira de Andrade 2008-02-28 21:27:34 UTC
Created attachment 14688 [details] [review]
0006-Add-a-dummy-mfbChangeWindowAttributes-function.patch
Comment 6 Paulo César Pereira de Andrade 2008-03-09 04:03:55 UTC
  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
missing symbols.
Comment 7 Daniel Stone 2008-03-09 13:26:32 UTC
This looks okay to me, but it's really ajax's turf.
Comment 8 Paulo César Pereira de Andrade 2008-03-13 23:10:55 UTC
Created attachment 15112 [details] [review]
0005-Make-public-default-visibility-symbols-used-by-diffe.patch

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 9 Paulo César Pereira de Andrade 2008-03-24 19:01:25 UTC
Comment on attachment 14683 [details] [review]
0001-Replace-ALLOCATE_LOCAL-DEALLOCATE_LOCAL-with-xalloc.patch

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.
Comment 10 Paulo César Pereira de Andrade 2008-04-12 19:23:09 UTC
Created attachment 15864 [details]
xserver-patches.tar.bz2

  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.
Comment 11 Paulo César Pereira de Andrade 2008-04-27 12:07:51 UTC
  Changing priority/severity.

  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
AM_CFLAGS.

  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
in /usr/lib.

  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
https://bugs.freedesktop.org/show_bug.cgi?id=14912
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.
Comment 12 Paulo César Pereira de Andrade 2008-05-10 15:45:48 UTC
Created attachment 16466 [details]
xserver-patches.tar.bz2

  Update to current git master.

  Also _X_EXPORT'ed randr/randr.c:rrPrivKey required
by the geode driver, but not in the "sdk".
Comment 13 Paulo César Pereira de Andrade 2008-11-28 21:40:34 UTC
All required patches to allow compiling the
X Server and modules with hidden symbols by
default were applied.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.