On Fri, Sep 10, 2010 at 10:34 AM, Kai Tietz <[email protected]> wrote:
> 2010/9/10 Ozkan Sezer <[email protected]>:
>> On Fri, Sep 10, 2010 at 10:28 AM, Kai Tietz <[email protected]> wrote:
>>> 2010/9/10 Teemu Nätkinniemi <[email protected]>:
>>>>
>>>>> libusb_driver.o:libusb_driver.c:(.text+0x6a9): undefined
>>>>> reference to `_Interloc
>>>>> kedIncrement'
>>>>> libusb_driver.o:libusb_driver.c:(.text+0x6d4): undefined
>>>>> reference to `_Interloc
>>>>> kedDecrement'
>>>>> libusb_driver.o:libusb_driver.c:(.text+0x70d): undefined
>>>>> reference to `_Interloc
>>>>> kedDecrement'
>>>>> transfer.o:transfer.c:(.text+0x149): undefined reference to
>>>>> `_InterlockedIncreme
>>>>> nt'
>>>>> transfer.o:transfer.c:(.text+0x19a): undefined reference to
>>>>> `_InterlockedDecreme
>>>>> nt'
>>>>> transfer.o:transfer.c:(.text+0x1cd): undefined reference to
>>>>> `_InterlockedDecreme
>>>>> nt'
>>>>> transfer.o:transfer.c:(.text+0x324): undefined reference to
>>>>> `_InterlockedDecreme
>>>>> nt'
>>>>> transfer.o:transfer.c:(.text+0x457): undefined reference to
>>>>> `_InterlockedExchang
>>>>> ePointer'
>>>>> transfer.o:transfer.c:(.text+0x4ed): undefined reference to
>>>>> `_InterlockedExchang
>>>>> ePointer'
>>>>> transfer.o:transfer.c:(.text+0x66d): undefined reference to
>>>>> `_InterlockedIncreme
>>>>> nt'
>>>>> transfer.o:transfer.c:(.text+0xe3f): undefined reference to
>>>>> `_InterlockedExchang
>>>>> ePointer'
>>>>> transfer.o:transfer.c:(.text+0xf76): undefined reference to
>>>>> `_InterlockedIncreme
>>>>> nt'
>>>>> collect2: ld returned 1 exit status
>>>>> make: *** [libusb0.sys] Error 1
>>>>
>>>> On 64-bit Windows those should be InterlockedIncrement64 and 
>>>> InterlockedDecrement64.
>>>>
>>>>
>>>>
>>>>
>>>
>>> On 64-bit are acutual no Interlocked...-API. It reflects always to
>>> _Interlocked..-API on x64. But why you get unresolved externals? We
>>> are providing those intrinsics in libminwex.a
>>
>> See wdm.h, they are probably expected to be exported from ntoskrnl.exe
>> I guess?
>>
>> As for libmingwex.a, they are linking with -nostdlib
>>
>>>
>>> Kai
>>>
>>
>> --
>> Ozkan
>>
>
> Well, to link without mingwex library cause here for sure issues as
> all intrinsics are missing. If they can't link to this library, then
> they need to provide at least a library which declares those
> intrinsics of VC, which are by obvious reasons not present in gcc.
> All this has for sure nothing to do with force-inline, as not all
> intrinsics are described in wdm.h headers as such kind of inlines.


wdm.h defines all of the Interlocked* as _Interlocked* for non-x86
so where is it supposed to retrieve them?  Only as compiler builtins?


>
> Kai
>
>
> --
> |  (\_/) This is Bunny. Copy and paste
> | (='.'=) Bunny into your signature to help
> | (")_(") him gain world domination
>

--
Ozkan

------------------------------------------------------------------------------
Automate Storage Tiering Simply
Optimize IT performance and efficiency through flexible, powerful, 
automated storage tiering capabilities. View this brief to learn how
you can reduce costs and improve performance. 
http://p.sf.net/sfu/dell-sfdev2dev
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to