[lttng-dev] [RFC PATCH lttng-ust 2/2] dl instrumentation: add dlmopen event, trace dlopen flags

Jonathan Rajotte-Julien jonathan.rajotte-julien at efficios.com
Tue Feb 21 15:45:03 UTC 2017


On Tue, Feb 21, 2017 at 02:40:28PM +0000, Mathieu Desnoyers wrote:
> ----- On Feb 21, 2017, at 9:19 AM, Thomas Petazzoni thomas.petazzoni at free-electrons.com wrote:
> 
> > Hello,
> > 
> > On Tue, 21 Feb 2017 14:08:08 +0000 (UTC), Mathieu Desnoyers wrote:
> > 
> >> My expectation is that the dlmopen override symbol gets generated,
> >> but it is never invoked in builds where the libc does not implement
> >> it, so we never have to look it up dynamically through dlsym().
> > 
> > The main issue is that the Lmid_t type doesn't exist I believe.
> 
> Ah yes, good point. This typedef is only there with glibc header
> files.
> 
> So we'd have to add a configure.ac test that would detect if dlmopen()
> is there, and expose a define to lttng-ust to skip the dlmopen() bits
> accordingly.
> 
> Jonathan, can you have a look and prepare a patch please ?

Sure.

> 
> Thanks,
> 
> Mathieu
> 
> > 
> >> How does the build fail with musl ? Can you provide the build
> >> output ?
> > 
> > Sure:
> > 
> >  http://autobuild.buildroot.net/results/113/113fa95a054df183014b43ec36b329f9c59bd356/build-end.log
> > 
> > If you want to reproduce:
> > 
> > $ git clone git://git.busybox.net/buildroot
> > $ cd buildroot/
> > $ git checkout 2017.02-rc2
> > $ cat > .config
> > BR2_arm=y
> > BR2_cortex_a9=y
> > BR2_ARM_ENABLE_VFP=y
> > BR2_TOOLCHAIN_EXTERNAL=y
> > BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> > BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> > BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2017.02-rc1-2-g133c5ac.tar.bz2"
> > BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
> > BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
> > BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
> > BR2_TOOLCHAIN_EXTERNAL_CXX=y
> > BR2_INIT_NONE=y
> > BR2_SYSTEM_BIN_SH_NONE=y
> > # BR2_PACKAGE_BUSYBOX is not set
> > BR2_PACKAGE_LTTNG_LIBUST=y
> > # BR2_TARGET_ROOTFS_TAR is not set
> > $ make olddefconfig
> > $ make
> > 
> > Takes ~5 minutes maybe for the all build to proceed until it breaks on
> > lttng-ust.
> > 
> > Thanks!
> > 
> > Thomas
> > --
> > Thomas Petazzoni, CTO, Free Electrons
> > Embedded Linux and Kernel engineering
> > http://free-electrons.com
> 
> -- 
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com

-- 
Jonathan Rajotte-Julien
EfficiOS


More information about the lttng-dev mailing list