On Fri, Sep 10, 2010 at 9:52 AM, Ozkan Sezer <[email protected]> wrote:
> On Fri, Sep 10, 2010 at 9:47 AM, Xiaofan Chen <[email protected]> wrote:
>> On Fri, Sep 10, 2010 at 2:07 PM, Ozkan Sezer <[email protected]> wrote:
>>
>>> Well, src/driver/usbdlib_gcc.h at line around 23, I added :
>>>
>>> #if !defined(DDKAPI)
>>> #define DDKAPI NTAPI
>>> #endif
>>>
>>> ... and error.c compiled just fine.
>>>
>>
>> Thanks a lot for the fast help. Now every files can be compiled. The linking
>> step failed. One step closer.
>>
>> mc...@win7homex64_pc /d/work/mingw-w64/libusb-win32-src-1.2.1.20
>> $ make driver
>> gcc -c ./src/driver/abort_endpoint.c -o abort_endpoint.o -O2 -Wall 
>> -mno-cygwin -
>> DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./sr
>> c/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/abort_endpoint.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/claim_interface.c -o claim_interface.o -O2 -Wall 
>> -mno-cygwin
>>  -DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./
>> src/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/claim_interface.c:21:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/clear_feature.c -o clear_feature.o -O2 -Wall -mno-cygwin 
>> -DW
>> INVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./src/
>> driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/clear_feature.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/dispatch.c -o dispatch.o -O2 -Wall -mno-cygwin 
>> -DWINVER=0x50
>> 0  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src -I./src/driver 
>> -I.
>> /src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/dispatch.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/get_configuration.c -o get_configuration.o -O2 -Wall 
>> -mno-cy
>> gwin -DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  
>> -I./src
>> -I./src/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/get_configuration.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/get_descriptor.c -o get_descriptor.o -O2 -Wall 
>> -mno-cygwin -
>> DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./sr
>> c/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/get_descriptor.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/get_interface.c -o get_interface.o -O2 -Wall -mno-cygwin 
>> -DW
>> INVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./src/
>> driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/get_interface.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/get_status.c -o get_status.o -O2 -Wall -mno-cygwin 
>> -DWINVER=
>> 0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./src/driver
>>  -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/get_status.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/ioctl.c -o ioctl.o -O2 -Wall -mno-cygwin -DWINVER=0x500  
>> -DL
>> OG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src -I./src/driver 
>> -I./src/d
>> dk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/ioctl.c:21:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> ./src/driver/ioctl.c: In function 'dispatch_ioctl':
>> ./src/driver/ioctl.c:326:4: warning: pointer targets in passing argument 2 
>> of 'g
>> et_configuration' differ in signedness
>> ./src/driver/libusb_driver.h:218:10: note: expected 'unsigned char *' but 
>> argume
>> nt is of type 'char *'
>> ./src/driver/ioctl.c:346:32: warning: pointer targets in passing argument 3 
>> of '
>> get_interface' differ in signedness
>> ./src/driver/libusb_driver.h:225:10: note: expected 'unsigned char *' but 
>> argume
>> nt is of type 'char *'
>> gcc -c ./src/driver/libusb_driver.c -o libusb_driver.o -O2 -Wall -mno-cygwin 
>> -DW
>> INVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./src/
>> driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/libusb_driver.c:22:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/pnp.c -o pnp.o -O2 -Wall -mno-cygwin -DWINVER=0x500  
>> -DLOG_A
>> PPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src -I./src/driver 
>> -I./src/ddk -
>> I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/pnp.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/release_interface.c -o release_interface.o -O2 -Wall 
>> -mno-cy
>> gwin -DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  
>> -I./src
>> -I./src/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/release_interface.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/reset_device.c -o reset_device.o -O2 -Wall -mno-cygwin 
>> -DWIN
>> VER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./src/dr
>> iver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/reset_device.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/reset_endpoint.c -o reset_endpoint.o -O2 -Wall 
>> -mno-cygwin -
>> DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./sr
>> c/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/reset_endpoint.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/set_configuration.c -o set_configuration.o -O2 -Wall 
>> -mno-cy
>> gwin -DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  
>> -I./src
>> -I./src/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/set_configuration.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/set_descriptor.c -o set_descriptor.o -O2 -Wall 
>> -mno-cygwin -
>> DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./sr
>> c/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/set_descriptor.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/set_feature.c -o set_feature.o -O2 -Wall -mno-cygwin 
>> -DWINVE
>> R=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./src/driv
>> er -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/set_feature.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/set_interface.c -o set_interface.o -O2 -Wall -mno-cygwin 
>> -DW
>> INVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./src/
>> driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/set_interface.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/transfer.c -o transfer.o -O2 -Wall -mno-cygwin 
>> -DWINVER=0x50
>> 0  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src -I./src/driver 
>> -I.
>> /src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/transfer.c:21:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> ./src/driver/transfer.c: In function 'large_transfer':
>> ./src/driver/transfer.c:793:3: warning: value computed is not used
>> ./src/driver/transfer.c: In function 'large_transfer_complete':
>> ./src/driver/transfer.c:1098:3: warning: value computed is not used
>> gcc -c ./src/driver/vendor_request.c -o vendor_request.o -O2 -Wall 
>> -mno-cygwin -
>> DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./sr
>> c/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/vendor_request.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/power.c -o power.o -O2 -Wall -mno-cygwin -DWINVER=0x500  
>> -DL
>> OG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src -I./src/driver 
>> -I./src/d
>> dk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/power.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/driver/driver_registry.c -o driver_registry.o -O2 -Wall 
>> -mno-cygwin
>>  -DWINVER=0x500  -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src 
>> -I./
>> src/driver -I./src/ddk -I.
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/driver/libusb_driver.h:28,
>>                 from ./src/driver/driver_registry.c:20:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> gcc -c ./src/error.c -o error.o -O2 -Wall -mno-cygwin -DWINVER=0x500  
>> -DLOG_APPN
>> AME=\"libusb0-sys\" -DTARGETTYPE=DRIVER  -I./src -I./src/driver -I./src/ddk 
>> -I.
>>
>> In file included from ./src/ddk/ntddk.h:38:0,
>>                 from ./src/error.c:28:
>> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything
>> windres  -I./src ./src/driver/libusb_driver_rc.rc -o libusb_driver_rc.o
>> gcc -o libusb0.sys abort_endpoint.o claim_interface.o clear_feature.o 
>> dispatch.o
>>  get_configuration.o get_descriptor.o get_interface.o get_status.o ioctl.o 
>> libus
>> b_driver.o pnp.o release_interface.o reset_device.o reset_endpoint.o 
>> set_configu
>> ration.o set_descriptor.o set_feature.o set_interface.o transfer.o 
>> vendor_reques
>> t.o power.o driver_registry.o error.o libusb_driver_rc.o  libusb0_drv.def -s 
>> -sh
>> ared -Wl,--entry,_driveren...@8 -nostartfiles -nostdlib -L. -lusbd 
>> -lntoskrnl -l
>> hal
>> d:/tdm/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.1/../../../../x86_64-w64-mi
>> ngw32/bin/ld.exe: warning: cannot find entry symbol _driveren...@8; 
>> defaulting t
>> o 0000000068641000
>
> Don't know this one ...
>


One note here that just crossed my mind:  why are you using a __stdcall suffix
DriverEntry, _and_ you are adding a leading underscore to it?


>> 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'
>
> Well this is the price if we insist on declaring those ms intrinsics
> as _CRT_INLINE
> and not as __forceinline.  Leaving this to Kai.
>

OK, I was too quick to judge, because we get the prototypes of the Interlocked*
stuff from wdm.h here.  So we are supposed to get the symbols from ntoskrnl.exe
and we are missing those entries in our ntoskrnl.def file???

Jon?


>> collect2: ld returned 1 exit status
>> make: *** [libusb0.sys] Error 1
>>
>> --
>> Xiaofan
>
> --
> Ozkan
>

--
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