RFR: JDK-8164297: Jtreg test exeinvoke fails to link on Ubuntu
David Holmes
david.holmes at oracle.com
Thu Aug 18 12:36:50 UTC 2016
On 18/08/2016 9:15 PM, Erik Joelsson wrote:
> On 2016-08-18 12:51, David Holmes wrote:
>> Sorry missed this. Resending reply ...
>>
>> On 18/08/2016 6:14 PM, Erik Joelsson wrote:
>>> (Resending with proper subject)
>>>
>>>
>>> On 2016-08-18 10:11, Erik Joelsson wrote:
>>>> Thank you,
>>>>
>>>> Here is a request for review on that change.
>>>>
>>>> Webrev: http://cr.openjdk.java.net/~erikj/8164297/webrev.01/
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8164297
>>>>
>>>> I will push this to jdk9/hs when reviewed unless anyone thinks it
>>>> belongs better somewhere else.
>>
>> Fix seems to work, as reported, but why do we have:
>>
>> BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_* := -ljvm ...
>>
>> yet:
>>
>> BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_* := -lc
>>
>> ? Shouldn't they both be _LIBS ?
>>
> You are correct, I quickly scanned for more -l* in the file but somehow
> missed those. I also checked the jdk version of this makefile but there
> were no instances there.
>
> New webrev: http://cr.openjdk.java.net/~erikj/8164297/webrev.02/
Looks good.
Thanks,
David
> /Erik
>> Thanks,
>> David
>>
>>
>>>> /Erik
>>>>
>>>> On 2016-08-17 19:56, Gustavo Romero wrote:
>>>>> Hi Erik,
>>>>>
>>>>> On 17-08-2016 12:23, Erik Joelsson wrote:
>>>>>> I'm sorry, you also need this patch, which I for some reason I can't
>>>>>> remember had in my local forest.
>>>>>>
>>>>>> diff -r a24702d4d5ab make/common/TestFilesCompilation.gmk
>>>>>> --- a/make/common/TestFilesCompilation.gmk
>>>>>> +++ b/make/common/TestFilesCompilation.gmk
>>>>>> @@ -86,6 +86,7 @@
>>>>>> LANG := C, \
>>>>>> CFLAGS := $$($1_CFLAGS)
>>>>>> $$($1_CFLAGS_$$($1_PREFIX)$$(name)), \
>>>>>> LDFLAGS := $$($1_LDFLAGS)
>>>>>> $$($1_LDFLAGS_$$($1_PREFIX)$$(name)), \
>>>>>> + LIBS := $$($1_LIBS_$$($1_PREFIX)$$(name)), \
>>>>>> OPTIMIZATION := LOW, \
>>>>>> )) \
>>>>>> $$(eval $1 += $$(BUILD_TEST_$$(name)) ) \
>>>>>>
>>>>>> /Erik
>>>>>>
>>>>>> On 2016-08-17 16:56, Gustavo Romero wrote:
>>>>>>> Hi Erik,
>>>>>>>
>>>>>>> I applied your change:
>>>>>>>
>>>>>>> diff -r 397565766eb4 make/test/JtregNative.gmk
>>>>>>> --- a/make/test/JtregNative.gmk Thu Aug 11 16:22:08 2016 -0700
>>>>>>> +++ b/make/test/JtregNative.gmk Wed Aug 17 09:54:20 2016 -0500
>>>>>>> @@ -79,7 +79,7 @@
>>>>>>> ifeq ($(OPENJDK_TARGET_OS), linux)
>>>>>>> BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z
>>>>>>> noexecstack
>>>>>>> BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z
>>>>>>> execstack
>>>>>>> - BUILD_HOTSPOT_JTREG_EXECUTABLES_LDFLAGS_exeinvoke := -ljvm
>>>>>>> -lpthread
>>>>>>> + BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeinvoke := -ljvm
>>>>>>> -lpthread
>>>>>>> BUILD_TEST_invoke_exeinvoke.c_OPTIMIZATION := NONE
>>>>>>> endif
>>>>>>>
>>>>>>>
>>>>>>> but it seems the new param is not passed to the linker now. So it
>>>>>>> failed.
>>>>>>>
>>>>> I confirm that your patch fixes the issue on Ubuntu 16.04 PPC64 &&
>>>>> x64, applying
>>>>> cleanly to:
>>>>>
>>>>> http://hg.openjdk.java.net/jdk9/hs-comp, 37de4195dd18+ tip:
>>>>>
>>>>> diff -r 37de4195dd18 make/common/TestFilesCompilation.gmk
>>>>> --- a/make/common/TestFilesCompilation.gmk Fri Aug 05 09:50:23
>>>>> 2016 -0700
>>>>> +++ b/make/common/TestFilesCompilation.gmk Wed Aug 17 13:54:43
>>>>> 2016 -0400
>>>>> @@ -86,6 +86,7 @@
>>>>> LANG := C, \
>>>>> CFLAGS := $$($1_CFLAGS)
>>>>> $$($1_CFLAGS_$$($1_PREFIX)$$(name)), \
>>>>> LDFLAGS := $$($1_LDFLAGS)
>>>>> $$($1_LDFLAGS_$$($1_PREFIX)$$(name)), \
>>>>> + LIBS := $$($1_LIBS_$$($1_PREFIX)$$(name)), \
>>>>> OPTIMIZATION := LOW, \
>>>>> )) \
>>>>> $$(eval $1 += $$(BUILD_TEST_$$(name)) ) \
>>>>>
>>>>>
>>>>> http://hg.openjdk.java.net/jdk9/hs-comp/hotspot, 031f53ef620a+ tip:
>>>>>
>>>>> diff -r 031f53ef620a make/test/JtregNative.gmk
>>>>> --- a/make/test/JtregNative.gmk Wed Aug 17 06:23:04 2016 +0000
>>>>> +++ b/make/test/JtregNative.gmk Wed Aug 17 13:54:58 2016 -0400
>>>>> @@ -79,7 +79,7 @@
>>>>> ifeq ($(OPENJDK_TARGET_OS), linux)
>>>>> BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z
>>>>> noexecstack
>>>>> BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z
>>>>> execstack
>>>>> - BUILD_HOTSPOT_JTREG_EXECUTABLES_LDFLAGS_exeinvoke := -ljvm
>>>>> -lpthread
>>>>> + BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeinvoke := -ljvm -lpthread
>>>>> BUILD_TEST_invoke_exeinvoke.c_OPTIMIZATION := NONE
>>>>> endif
>>>>>
>>>>> Thank you very much for having a look.
>>>>>
>>>>> Kind regards,
>>>>> Gustavo
>>>>>
>>>>>
>>>>
>>>
>
More information about the build-dev
mailing list