2010/9/10 Xiaofan Chen <[email protected]>:
> On Fri, Sep 10, 2010 at 3:59 PM, Ozkan Sezer <[email protected]> wrote:
>
>>>>> 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?
>>
>>> Yes, you got it. And therefore we provide them in our libminwex.
>>>
>>
>>
>> Hrmph, I guess the only way here is to bite the bullet and
>> really add a -lmingwex after all other libs. However it would
>> have been really nice if we provided them as always_inlines
>
> Yes changing the Makefile to link to libmingwex will make
> the driver building through.
>
> DRIVER_LDFLAGS = -s -shared -Wl,--entry,DriverEntry \
> -nostartfiles -nostdlib -L. -lusbd -lntoskrnl -lhal -lmingwex
>
> Thanks for all the helps. The support here is really superior!
>
> One more question, what will be the potential issues of linking
> to libmingwex for the libusb0.sys kernel driver?
>
> --
> Xiaofan
>
Well, libmingwex code is written for user-mode applications. This
means that there is some API used, which is in kernel-mode not
necessarily present. (See as example those VirtualAlloc routines).
Also math can be an issue, as kernel doesn't setup x87 stack AFAIK.
But in special case of intrinsics there shouldn't be any side-effects AFAICS.
Kai
--
| (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination
------------------------------------------------------------------------------
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