2011/11/10 17:45 -0800, david.hol...@oracle.com: > On 11/11/2011 1:47 AM, mark.reinh...@oracle.com wrote: >> 2011/11/10 4:49 -0800, robert.otten...@oracle.com: >>> The patch is correct, but in order to follow the convention in most other >>> makefiles, I advice to use OTHER_LDLIBS instead of EXTRA_LIBS. > > The common/Defs-*.gmk files say explicitly to use EXTRA_LIBS in place of > LDLIBS > or LDLIBS_COMMON (and seem ignorant of OTHER_LDLIBS). > > But if the intent was to ensure this link directive was at the end then I > don't > think OTHER_LDLIBS will work as it is the first set of entries in LDLIBS, > while > the last set is LDLIBS_COMMON to which EXTRA_LIBS is appended.
The intent is only to ensure that this link directive follows all object files; it's fine for it to precede the other libraries being linked. >From a build log, OTHER_LDLIBS is doing exactly what's needed: /usr/bin/gcc -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused \ -Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN -DNDEBUG \ -DARCH='"i586"' -Di586 -DLINUX -DRELEASE='"1.8.0-mr_2011.11.10.1106"' \ -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT \ -I. -I/w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/CClassHeaders \ -I../../../../src/solaris/javavm/export \ -I../../../../src/share/javavm/export \ -I../../../../src/share/native/common \ -I../../../../src/solaris/native/common \ -I../../../../src/share/native/javax/sound \ -I../../../../src/solaris/native/javax/sound -DX_PLATFORM=X_LINUX \ -DX_ARCH=X_I586 -DUSE_DAUDIO=TRUE -DUSE_PORTS=TRUE \ -DUSE_PLATFORM_MIDI_OUT=TRUE -DUSE_PLATFORM_MIDI_IN=TRUE \ -I../../../../src/share/native/com/sun/media/sound -Xlinker -O1 -Xlinker \ -version-script=mapfile-vers -Wl,--hash-style=both -Xlinker -z -Xlinker \ origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -z -Xlinker defs \ -L/w/jdk8/build/lib/i386 -Wl,-soname=libjsoundalsa.so -shared \ -mimpure-text -o /w/jdk8/build/lib/i386/libjsoundalsa.so \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/Utilities.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/DirectAudioDeviceProvider.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/DirectAudioDevice.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/MidiInDevice.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/MidiInDeviceProvider.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/MidiOutDevice.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/MidiOutDeviceProvider.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PlatformMidi.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PortMixerProvider.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PortMixer.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PLATFORM_API_LinuxOS_ALSA_CommonUtils.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PLATFORM_API_LinuxOS_ALSA_PCM.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PLATFORM_API_LinuxOS_ALSA_PCMUtils.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PLATFORM_API_LinuxOS_ALSA_MidiIn.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PLATFORM_API_LinuxOS_ALSA_MidiOut.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PLATFORM_API_LinuxOS_ALSA_MidiUtils.o \ /w/jdk8/build/tmp/sun/javax.sound/jsoundalsa/obj/PLATFORM_API_LinuxOS_ALSA_Ports.o \ -lasound -ljava -L/w/jdk8/build/lib/i386/server -ljvm -lc ^^^^^^^^ (Without this fix, "-lasound" was appearing right before "-shared".) - Mark