Review request 6981484: Update development launcher

Christian Thalinger christian.thalinger at oracle.com
Thu Sep 23 02:12:24 PDT 2010


On Thu, 2010-09-23 at 09:04 +0200, Magnus Ihse Bursie wrote:
> On 2010-09-22 21.46, Coleen Phillimore wrote: 
> > 
> > The only change that people would notice is if the libjvm.so is no
> > longer statically linked in, because this is the primary benefit:
> > 
> > dbx gamma
> > stop in <some vm function>  # no complaints from the debugger
> > because libjvm.so is loaded already
> > run
> > <stop at break>    # except this doesn't seem to work on linux now
> > anyway
> 
> Having libjvm.so statically linked in the loader seems to me like a
> way to just cause the resulting build to be twice as large as needed.

That's not true.  libjvm.so is not statically linked into gamma:

$ ls -l gamma libjvm.so
-rwxr-xr-x 1 twisti twisti     69725 2010-09-22 10:39 gamma*
-rwxr-xr-x 1 twisti twisti 134354760 2010-09-22 10:39 libjvm.so*
$ ldd gamma
	linux-vdso.so.1 =>  (0x00007fff1dfa8000)
	libjvm.so => not found
	libm.so.6 => /lib/libm.so.6 (0x00007f622580f000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007f622560b000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f62253ee000)
	libc.so.6 => /lib/libc.so.6 (0x00007f622506a000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f6225ab0000)

But DBX loads the libraries which it is linked against on startup and
you can set breakpoints right away:

$ dbx ./gamma
# Loading linux_amd64_compiler2/jvmg/.dbxrc
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.7' in your .dbxrc
Reading gamma
Reading ld-linux-x86-64.so.2
Reading libjvm.so
Reading libm.so.6
Reading libdl.so.2
Reading libpthread.so.0
Reading libc.so.6
(dbx) stop in Output
dbx: warning: 'Output' has no debugger info -- will trigger on first instruction
(2) stop in `libjvm.so`idealGraphPrinter.cpp`#_ZN7Compile6OutputEv	[non -g, demangles to: Compile::Output()]
(dbx) 

-- Christian



More information about the hotspot-dev mailing list