Hi Emil, Emil Velikov schrieb am 29.03.2014 14:21: > On 29/03/14 12:37, Kai Wasserbäch wrote: >> I saw one of your patches currently in review touching the Makefile.am of >> libxatracker. Can you squeeze in another patch, that ensures, that the >> library >> only exports its own symbols and not the entirety of LLVM as well? Because >> somewhere between 4c79f088c0 and 9b6b084eb7, that started to happen. My >> 4c79f088c0 build only exported symbols for xa_* functions, the current build >> of >> 9b6b084eb7 adds some ten thousand LLVM symbols. >> > Yes that is the privilege of using LLVM, you export the whole LLVM world as > soon as you go anywhere near it :P > > My initial plan was to do another round of "cleanup the exported symbols" > but got sidetracked by stripping out duplication and making sure that the > libraries just work (tm). > >> I tried a version script and and -export-symbols-regex '^xa_.*$$', which >> really >> got added to the linking command, according to the build log, but didn't have >> any impact on the actually exported symbols. I'm probably missing something >> as >> I'm not too well versed in how to do things with Automake. >> > Strange... things were working fine last time I've checked. While I try to > reproduce what build options are you using, LLVM version ? Can I take a look > at the patch that you've used ?
Sure. I've tried several variants of the attached "0001-Build-libxatracker-Only-export-our-own-symbols.patch", where I replaced "LDFLAGS" with "AM_LDFLAGS" and "libxatracker_la_LDFLAGS". The last didn't work at all and Automake warned, that no library is using the name libxatracker_la, even though just a few lines up there was "libxatracker_la_SOURCES". I also tried listing all symbols explicitly in the version script, but that didn't change anything either. The second approach was really just patching the Makefile to add the -export-symbols-regex '^xa_.*$' to the LDFLAGS. I did it the same way, it's used with the OMX stuff, see the attached patch "0001-Build-libxatracker-pass-export-symbols-regex-to-link.patch" As far as my build goes, I'm using the following configure options (basically what Debian's mesa package uses, except, that I'm using a development snapshot of LLVM 3.5, and compile LLVM in statically – I was unable to configure Mesa against Debian's LLVM package for dynamic linking, unless I would patch the configure.ac): configure --prefix=/usr --mandir=\${prefix}/share/man \ --infodir=\${prefix}/share/info --sysconfdir=/etc \ --libdir=\${prefix}/lib/x86_64-linux-gnu \ --localstatedir=/var --disable-silent-rules \ --build=x86_64-linux-gnu --enable-dri --with-dri-drivers=" nouveau i915 i965 r200 radeon" \ --with-dri-driverdir=/usr/lib/x86_64-linux-gnu/dri \ --with-dri-searchpath='/usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri' \ --enable-osmesa --enable-glx-tls --enable-shared-glapi --enable-texture-float --enable-xa \ --disable-xvmc --enable-driglx-direct --enable-dri3 --with-egl-platforms="x11 drm wayland" \ --enable-opencl --enable-opencl-icd --enable-gallium-llvm --enable-vdpau \ --with-gallium-drivers=" nouveau svga swrast r600 r300 radeonsi" --enable-gles1 \ --enable-gles2 --enable-openvg --enable-gallium-egl \ CFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall" \ CPPFLAGS="-D_FORTIFY_SOURCE=2" \ CXXFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall" \ FFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4" \ GCJFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4" LDFLAGS="-Wl,-z,relro" \ --disable-llvm-shared-libs \ ac_cv_path_LLVM_CONFIG=llvm-config-3.5 LLVM is at SVN:trunk/r204915 (the packages from <http://llvm.org/apt>, which are maintained by Debian's LLVM maintainer). > Btw. feel free Cc the ML as other people may have spotted/resolved this > (kind of) issue(s). Even if I cocked up something I do not mind being called > out :) Done. > ... > Hmm I cannot see how any of the commits in that range may be causing such > problem. Can you please confirm that it's not a "stale file" issue - git > clean -nxd should help out. Yes, I'm sure of that. I'm always building in a clean chroot with pbuilder. No stale files around. > P.S. Why does BlunderBird throws a hissy fit when replying to a signed emails. > It's not like it's a "new and unknown thing". Am I asking for too much ? Do you have Enigmail installed? Cheers, Kai -- Kai Wasserbäch (Kai Wasserbaech) E-Mail: k...@dev.carbon-project.org
From a8ea1a8989a8f1c337c2249b71829b48690ff671 Mon Sep 17 00:00:00 2001 Message-Id: <a8ea1a8989a8f1c337c2249b71829b48690ff671.1396101923.git....@dev.carbon-project.org> From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= <k...@dev.carbon-project.org> Date: Sat, 29 Mar 2014 15:04:22 +0100 Subject: [PATCH] Build: libxatracker: Only export our own symbols. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kai Wasserbäch <k...@dev.carbon-project.org> --- src/gallium/state_trackers/xa/Makefile.am | 2 ++ src/gallium/state_trackers/xa/xa.link | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 src/gallium/state_trackers/xa/xa.link diff --git a/src/gallium/state_trackers/xa/Makefile.am b/src/gallium/state_trackers/xa/Makefile.am index 72486b9..16d0354 100644 --- a/src/gallium/state_trackers/xa/Makefile.am +++ b/src/gallium/state_trackers/xa/Makefile.am @@ -36,6 +36,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/gallium/winsys \ -I$(top_srcdir)/src/gallium/drivers +LDFLAGS += -Wl,--version-script=$(top_srcdir)/src/gallium/state_trackers/xa/xa.link + xa_includedir = $(includedir) xa_include_HEADERS = \ xa_composite.h \ diff --git a/src/gallium/state_trackers/xa/xa.link b/src/gallium/state_trackers/xa/xa.link new file mode 100644 index 0000000..daebcd5 --- /dev/null +++ b/src/gallium/state_trackers/xa/xa.link @@ -0,0 +1,5 @@ +VERSION { + global: + xa_*; + local: *; +}; -- 1.9.1
From 4464424b83c4280ac2fe7affbf09d74d31f5ef19 Mon Sep 17 00:00:00 2001 Message-Id: <4464424b83c4280ac2fe7affbf09d74d31f5ef19.1396102487.git....@dev.carbon-project.org> From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= <k...@dev.carbon-project.org> Date: Sat, 29 Mar 2014 15:13:55 +0100 Subject: [PATCH] Build: libxatracker: pass -export-symbols-regex to linker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Try to just export the xa_* symbols. Signed-off-by: Kai Wasserbäch <k...@dev.carbon-project.org> --- src/gallium/state_trackers/xa/Makefile.am | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/state_trackers/xa/Makefile.am b/src/gallium/state_trackers/xa/Makefile.am index 72486b9..d537b81 100644 --- a/src/gallium/state_trackers/xa/Makefile.am +++ b/src/gallium/state_trackers/xa/Makefile.am @@ -23,6 +23,8 @@ include Makefile.sources include $(top_srcdir)/src/gallium/Automake.inc +EXPORTS = '^xa_.*$$' + AM_CFLAGS = \ -Wall -pedantic \ $(GALLIUM_CFLAGS) \ @@ -36,6 +38,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/gallium/winsys \ -I$(top_srcdir)/src/gallium/drivers +AM_LDFLAGS = -export-symbols-regex $(EXPORTS) + xa_includedir = $(includedir) xa_include_HEADERS = \ xa_composite.h \ -- 1.9.1
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev