RFR 8081770 [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc

Chris Plummer chris.plummer at oracle.com
Thu May 5 21:38:58 UTC 2016


On 5/5/16 1:42 PM, Gerald Thornbrugh wrote:
> Hi Chris,
>> On 5/5/16 1:18 PM, Gerald Thornbrugh wrote:
>>> Hi Chris,
>>>> Hi Jerry,
>>>>
>>>> Thanks for taking care of this. As Calvin pointed out in the other 
>>>> review, you should be using "hg rename".
>>>>
>>>> Otherwise overall your changes look fine, but I'm a little 
>>>> uncertain about one aspect of your changes, and if it might impact 
>>>> the nature of the testing. The shell script used LD_LIBRARY_PATH to 
>>>> make the jni libraries locatable. Your java version uses 
>>>> -Djava.library.path. I think this is probably ok, but just want to 
>>>> point it out and make sure.
>>> When the build process builds the native libraries it places them in 
>>> "java.library.path".  The old script
>>> built the native library itself and placed it in "LD_LIBRARY_PATH". 
>>> The difference is just where the
>>> native library is placed after it is built.
>> Yes, but it's also different in how the JVM finds them. I assume it 
>> looks in both places and treats the libraries equally no matter where 
>> they are found.
> My understanding is that "LD_LIBRARY_PATH" is placed in the 
> "java.library.path" list before the JVM is
> started.  If I remember correctly the new build process places the 
> native libraries in a different place
> and that path is also add to the "java.library.path" list.
>
> Does that make sense?
Yes. I was just a little unsure of how LD_LIBRARY_PATH worked with JNI 
libraries, but what you say above makes sense.

Chris
>
> Jerry
>>
>> Chris
>>>
>>> Thanks for the review.
>>>
>>> Jerry
>>>>
>>>> thanks,
>>>>
>>>> Chris
>>>>
>>>> On 5/3/16 2:54 PM, Gerald Thornbrugh wrote:
>>>>> Hi Everyone,
>>>>>
>>>>> I would like to have the following change reviewed:
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8081770
>>>>> Webrev: http://cr.openjdk.java.net/~gthornbr/8081770/webrev.00/ 
>>>>> <http://cr.openjdk.java.net/%7Egthornbr/8081770/webrev.00/>
>>>>>
>>>>> JPRT testing completed without errors and I verified that the test 
>>>>> was run.
>>>>>
>>>>>
>>>>> The changes consist of:
>>>>>
>>>>> Renaming the test directory from "7107135" to "execstack".
>>>>>
>>>>> Replacing the existing Test7107135.sh script file with a java test 
>>>>> source file Testexecstack.java.
>>>>>
>>>>> Adding the new test directory to the 
>>>>> "BUILD_HOTSPOT_JTREG_NATIVE_SRC" list for Linux builds
>>>>> so the native libtest-rw.c and libtest-rwx.c source files would be 
>>>>> compiled into native libraries.
>>>>>
>>>>> Renaming the existing test.c native source file to libtest-rw.c 
>>>>> and libtest-rwx.c so the build process
>>>>> would identify the file as a native library source file and build 
>>>>> the libraries.
>>>>>
>>>>> Adding native source file specific LDFLAGS so the source files 
>>>>> could be built with "-z noexecstack"
>>>>> and "-z execstack".
>>>>>
>>>>> To get the build process to create a "noexecstack" native library 
>>>>> and an "execstack" native library
>>>>> the existing test.c native library source was placed in two 
>>>>> separate files (libtest-rw.c and libtest-rwx.c).
>>>>> This was done so that different LDFLAGS could be specified per file.
>>>>>
>>>>> Please let me know if you have any questions or concerns.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Jerry
>>>>
>>>
>>
>



More information about the hotspot-runtime-dev mailing list