[SRU disco 0/1] build and install libperf-jvmti.so

Thadeu Lima de Souza Cascardo cascardo at canonical.com
Tue Apr 23 12:19:00 UTC 2019


On Tue, Apr 23, 2019 at 10:57:02AM +0200, Stefan Bader wrote:
> On 11.04.19 15:48, Thadeu Lima de Souza Cascardo wrote:
> > BugLink: https://bugs.launchpad.net/bugs/1761379
> > 
> > [Impact]
> > File libperf-jvmti.so is missing in linux-tools-common deb making it
> > impossible to use perf for the JVM JITed methods.
> > 
> > [Test case]
> > $ sudo perf record -k 1 -e instructions:u ./java -agentpath:/usr/lib/linux-tools-5.0.0-8/libperf-jvmti.so crc32
> > $ sudo perf inject -i ./perf.data -j -o ./perf.data.jitted
> > $ sudo perf report -f -i ./perf.data.jitted
> > 
> > [Fix]
> > Include java build dependencies and install the library into linux-tools
> > package.
> > 
> > [Regression potential]
> > Small regression potential, an extra file is distributed and is not
> > automatically linked to anything. It could impact the build, which was
> > tested.
> > 
> > Thadeu Lima de Souza Cascardo (1):
> >   UBUNTU: [Packaging] Support building libperf-jvmti.so
> > 
> >  debian.master/control.stub.in   | 2 ++
> >  debian/rules.d/2-binary-arch.mk | 2 ++
> >  2 files changed, 4 insertions(+)
> > 
> What are the resulting dependencies for the binary package that ships the new
> library? Are those all in main?
> 
> -Stefan
> 
> 

No new dependencies, as everything used by the code is available in build time,
they are types, macros for constants, function pointers (structs with
callbacks), and an exported entry point.

This is supposed to be dynamically loaded by the JVM, which will give the
callbacks struct to the entry point and that's it.

The build dependencies are needed for that build time headers that are
necessary and to detect where they are available.

Cascardo.



More information about the kernel-team mailing list