RFR: JDK-8164297: Jtreg test exeinvoke fails to link on Ubuntu

Erik Joelsson erik.joelsson at oracle.com
Thu Aug 18 11:15:57 UTC 2016



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/

/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