[PATCH] Update RPATH to make loading libjawt possible

Kumar Srinivasan kumar.x.srinivasan at oracle.COM
Mon Aug 13 21:57:32 UTC 2012


I have pointed out some changes below,  but there is a serious problem.
You are checking for the system arch using uname but the
java architecture may not be the same.

For example we run 32-bit jdk on a 64bit system, this will cause test 
failures
since we will be using the wrong path names.

You can use the following to determine the java arch.

% java -XshowSettings:props -version 2>&1 | grep os.arch

other diffs follow.....

@@ -22,16 +22,17 @@
  # questions.

  # @test runtest.sh
-# @bug 9999999
+# @bug 7190813
  # @summary Native code linked against libjawt.so should be sufficent 
for libjawt.so to be found
  # @run shell runtest.sh

-if [ "${TESTSRC}" = "" ]
-then TESTSRC=.
+set -x
+
+if [ "${TESTSRC}" = "" ]; then
+  TESTSRC=.
  fi

-if [ "${TESTJAVA}" = "" ]
-then
+if [ "${TESTJAVA}" = "" ]; then
    PARENT=`dirname \`which java\``
    TESTJAVA=`dirname ${PARENT}`
    echo "TESTJAVA not set, selecting " ${TESTJAVA}
@@ -46,14 +47,10 @@
      PS=":"
      FS="/"
      ;;
-  SunOS | Windows_* )
-    echo "Test passed; only valid for Linux"
+  * )
+    echo "Warning: test passes vacuously for non linux systems"
      exit 0;
      ;;
-  * )
-    echo "Unrecognized system!"
-    exit 1;
-    ;;
  esac

  # Get ARCH specifics
@@ -71,13 +68,13 @@

  gcc -v > /dev/null 2>&1
  if [ "$?" != 0 ] ; then
-  echo "No compiler found"
-  exit 1
+  echo "Warning: No gcc compiler found, test passes vacuously"
+  exit 0
  fi

-JAVAC=${TEST_JAVA}${FS}bin${FS}javac
-JAVAH=${TEST_JAVA}${FS}bin${FS}javah
-JAVA=${TEST_JAVA}${FS}bin${FS}java
+JAVAC=${TESTJAVA}${FS}bin${FS}javac
+JAVAH=${TESTJAVA}${FS}bin${FS}javah
+JAVA=${TESTJAVA}${FS}bin${FS}java

  $JAVAC -d . ${TESTSRC}${FS}TestJawt.java || exit 1
  $JAVAH TestJawt || exit 1


Thanks
Kumar

> On 08/13/2012 10:39 AM, Anthony Petrov wrote:
>> The test looks great, and I like that it doesn't depend on the JAWT
>> machinery, but tests the actual problematic RPATH entry only.
> I generally go for tests that verify behaviour (that jawt-linked
> programs are working) rather than implementation details (which changed,
> for example, when we switched from LD_LIBRARY_PATH to RPATHS).
>
>> +1 from me.
> Yes, good to have something that guards us from changing something
> unintentionally. Looks fine to me too.
>
> Cheers,
> Omair




More information about the build-dev mailing list