On Thu, 2015-05-14 at 23:04 +0300, Dmitry Samersoff wrote: > Kurt, > > Debug symbols logic should work with GNU objcopy. > > could you try > > gmake LOG=debug > > and post make output? > > -Dmitry
Hi Dmitry, The debug symbol logic works in several places prior to it failing. When it does fail it fails with: /usr/bin/objcopy: libinstrument.debuginfo: Invalid operation I can manually reproduce the 'Invalid operation' error if I attempt to do --add-gnu-debuglink on a binary that already has gnu-debuglink set. When I read the build logs I don't see two calls to set gnu-debuglink, however it still fails with 'Invalid operation'. Very strange. Checking with readelf -S I can see that libinstrument.so does have gnu-debuglink set after the build fails. The complete log is here: http://www.intricatesoftware.com/OpenJDK/openbsd/build-jdk8.log The last chunk of the log follows inline below. Thanks, -Kurt /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjaas/libjaas_unix.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjaas_unix.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjaas/libjaas_unix.debuginfo /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libdt_socket/libdt_socket.debuginfo /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsdt/libjsdt.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjsdt.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsdt/libjsdt.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libdt_socket.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libdt_socket/libdt_socket.debuginfo cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjaas && /usr/bin/objcopy --add-gnu-debuglink=libjaas_unix.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjaas_unix.so /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libzip/libzip.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libzip.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libzip/libzip.debuginfo cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libdt_socket && /usr/bin/objcopy --add-gnu-debuglink=libdt_socket.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libdt_socket.so cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsdt && /usr/bin/objcopy --add-gnu-debuglink=libjsdt.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjsdt.so /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libattach/libattach.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libattach.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libattach/libattach.debuginfo /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjaas/libjaas_unix.debuginfo /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libinstrument/libinstrument.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libinstrument.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libinstrument/libinstrument.debuginfo cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libzip && /usr/bin/objcopy --add-gnu-debuglink=libzip.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libzip.so cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libattach && /usr/bin/objcopy --add-gnu-debuglink=libattach.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libattach.so /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libdt_socket/libdt_socket.debuginfo /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsdt/libjsdt.debuginfo /bin/cp /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjaas/libjaas_unix.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjaas_unix.debuginfo /bin/cp /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libdt_socket/libdt_socket.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libdt_socket.debuginfo /bin/cp /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsdt/libjsdt.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjsdt.debuginfo cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libinstrument && /usr/bin/objcopy --add-gnu-debuglink=libinstrument.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libinstrument.so /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsound/libjsound.debuginfo /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libzip/libzip.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjsound.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsound/libjsound.debuginfo /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libattach/libattach.debuginfo /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libunpack/libunpack.debuginfo /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libnet/libnet.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libunpack.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libunpack/libunpack.debuginfo /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libnet.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libnet/libnet.debuginfo /bin/rm -f /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libmanagement/libmanagement.debuginfo /usr/bin/objcopy: libinstrument.debuginfo: Invalid operation /usr/bin/objcopy --only-keep-debug /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libmanagement.so /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libmanagement/libmanagement.debuginfo cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsound && /usr/bin/objcopy --add-gnu-debuglink=libjsound.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libjsound.so lib/ServiceabilityLibraries.gmk:249: recipe for target '/home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libinstrument/libinstrument.debuginfo' failed gmake[2]: *** [/home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libinstrument/libinstrument.debuginfo] Error 1 gmake[2]: *** Waiting for unfinished jobs.... cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libunpack && /usr/bin/objcopy --add-gnu-debuglink=libunpack.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libunpack.so cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libnet && /usr/bin/objcopy --add-gnu-debuglink=libnet.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libnet.so cd /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libmanagement && /usr/bin/objcopy --add-gnu-debuglink=libmanagement.debuginfo /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/lib/amd64/libmanagement.so /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libjsound/libjsound.debuginfo /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libnet/libnet.debuginfo /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libunpack/libunpack.debuginfo /usr/bin/touch /home/truk/jdk/jdk8/build/bsd-x86_64-normal-server-release/jdk/objs/libmanagement/libmanagement.debuginfo gmake[2]: Leaving directory '/home/truk/jdk/jdk8/jdk/make' BuildJdk.gmk:70: recipe for target 'libs-only' failed gmake[1]: *** [libs-only] Error 2 gmake[1]: Leaving directory '/home/truk/jdk/jdk8/jdk/make' /home/truk/jdk/jdk8//make/Main.gmk:119: recipe for target 'jdk-only' failed gmake: *** [jdk-only] Error 2