[foreign] libEndianTest fails on windows

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Fri Mar 1 16:23:38 UTC 2019


Already pushed something like that, but also had to disable the header, 
to prevent warnings and compilation errors from breaking the build.

Maurizio

On 01/03/2019 16:11, Henry Jen wrote:
> Uh, I know why, I didn’t merge the patch back in to my main laptop.
>
> Here is the webrev[1] fix the issue.
>
> [1] http://cr.openjdk.java.net/~henryjen/panama/8219975/webrev/
>
> Cheers,
> Henry
>
>
>> On Mar 1, 2019, at 7:48 AM, Henry Jen <henry.jen at oracle.com> wrote:
>>
>> It’s odd, I did a test before the first patch, and not remember I modify this test after…
>>
>> Sorry for the inconvenience, I’ll take a look.
>>
>> Cheers,
>> Henry
>>
>>> On Mar 1, 2019, at 5:24 AM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
>>>
>>>
>>> On 01/03/2019 13:16, Jorn Vernee wrote:
>>>> Can confirm. The fix for that is to move the stdint.h include outside of the compiler switch block. Also, the return type of the declared functions needs to be `long long` or unint64_t to avoid lossy conversion warnings.
>>>>
>>>> But! Even after that the linker is choking on a missing library dependency:
>>>>
>>>>     libEndianTest.obj : error LNK2019: unresolved external symbol __imp_htonl referenced in function calc
>>>>
>>>> To fix that would probably take some build system tinkering :/
>>>>
>>>> Maybe we can re-write the test without the dependency?
>>> I got to the same place, and then I gave up. I need to be able to build/test on all platforms, so I will shortly submit a webrev which disables the test on Win.
>>>
>>> We can rewrite the test at some later point.
>>>
>>> Maurizio
>>>
>>>> Jorn
>>>>
>>>> Maurizio Cimadamore schreef op 2019-03-01 12:19:
>>>>> Hi,
>>>>> The new endianness tests fails on windows platform:
>>>>>
>>>>> === Output from failing command(s) repeated here ===
>>>>> jib > * For target
>>>>> support_test_jdk_jtreg_native_support_libEndianTest_libEndianTest.obj:
>>>>> jib > libEndianTest.c
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(43):
>>>>> error C2061: syntax error: identifier 'uint16_t'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(44):
>>>>> error C2061: syntax error: identifier 'hl'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(44):
>>>>> error C2059: syntax error: ';'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(45):
>>>>> error C2061: syntax error: identifier 'hll'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(45):
>>>>> error C2059: syntax error: ';'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(46):
>>>>> error C2059: syntax error: '}'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(47):
>>>>> error C2061: syntax error: identifier 'ns'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(47):
>>>>> error C2059: syntax error: ';'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(48):
>>>>> error C2061: syntax error: identifier 'nl'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(48):
>>>>> error C2059: syntax error: ';'
>>>>> jib >
>>>>> t:/workspace/open/test/jdk/java/foreign/types/libEndianTest.c(49):
>>>>> error C2061: syntax error: identifier 'nll'
>>>>> jib >    ... (rest of output omitted)
>>>>>
>>>>> I think it's an issue with stdint.h not being included...
>>>>>
>>>>> Maurizio


More information about the panama-dev mailing list