RFR 8144278 [TESTBUG] hotspot/runtime/StackGuardPages/testme.sh should use native library build support
Gerald Thornbrugh
gerald.thornbrugh at oracle.com
Fri Jun 3 04:48:17 UTC 2016
Hi David,
> <removed non openjdk.java.net mailing list from cc list>
>
> Hi Jerry,
>
> Some additional comments to those you are already working on ...
>
> On 3/06/2016 1:28 AM, Gerald Thornbrugh wrote:
>> Hi Everyone,
>>
>> Please review my changes to address JDK-8144278.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8144278
>>
>> JDK Webrev: http://cr.openjdk.java.net/~gthornbr/8144278/jdk-webrev.00/
>> <http://cr.openjdk.java.net/%7Egthornbr/8144278/jdk-webrev.00/>
>
> So IIUC this change was to factor some of the flags into
> JAVA_BASE_LDFLAGS so they can be added to LDFLAGS_TESTEXE.
>
> Seems reasonable.
>
>> Hotspot Webrev:
>> http://cr.openjdk.java.net/~gthornbr/8144278/hotspot-webrev.00/
>> <http://cr.openjdk.java.net/%7Egthornbr/8144278/hotspot-webrev.00/>
>
> make/test/JtregNative.gmk
>
> Copyright change is incorrect: "2015," should become "2015, 2016,"
>
> Please collapse the two conditional blocks into one - they check the
> same condition.
>
I will make this change.
>
> ---
>
> test/runtime/StackGuardPages/testme.sh
>
> Aside: this file is missing a copyright block!
OK, I will add a copyright block to the file.
>
> ---
>
> test/runtime/StackGuardPages/exeinvoke.c
>
> I'll wait to see the revised version.
I have implemented Dmitry's suggestion to use a buffer on the stack
instead of allocated
memory and now the test is getting a segmentation violation and failing.....
As soon as I figure out what is going on I will send out another webrev.
Thanks,
Gerald
>
> Thanks,
> David
> -----
>
>
>>
>> The fix makes changes to two areas.
>>
>> The JDK changes where needed to add a path to the libjvm.so library when
>> linking test executables.
>> These changes where provide by Erik Joelsson.
>>
>> The Hotspot changes addressed the following issues:
>>
>> The StackGuardPages test directory needed to be added to the list of
>> native executable tests.
>>
>> The libjvm.so and libpthread.so libraries needed to be added to the
>> LDFLAGS definition for the
>> "invoke" test executable.
>>
>> The StackGuardPages/testme.sh script needed to specify that
>> DoOverflow.java must be complied,
>> specify the new location of the "invoke" test executable and remove all
>> portions of the script that
>> compiled and linked DoOverflow.java and invoke.c.
>>
>> The native test source file "invoke.c" needed to be renamed
>> "exeinvoke.c" so the build system will
>> automatically build it.
>>
>> The native test source file exeinvoke.c needed to be changed to compile
>> without warnings, pass the
>> path of the DoOverflow.class file to the function which starts the JVM
>> and keep the linux gcc compiler
>> optimizer from in-lining the do_overflow() function which caused it not
>> to get called.
>>
>> Please let me know if you have any questions or concerns.
>>
>> Thanks,
>>
>> Gerald
>>
More information about the build-dev
mailing list