From: SourceForge.net <no...@so...> - 2007-12-12 00:14:52
|
Bugs item #1849022, was opened at 2007-12-12 01:14 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-13 08:20:29
|
Bugs item #1849022, was opened at 2007-12-12 13:14 Message generated for change (Comment added) made by dannysmith You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 21:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-13 12:49:57
|
Bugs item #1849022, was opened at 2007-12-11 19:14 Message generated for change (Settings changed) made by earnie You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc >Group: Waiting User Response >Status: Pending Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 03:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-14 17:56:06
|
Bugs item #1849022, was opened at 2007-12-12 01:14 Message generated for change (Comment added) made by jkarretero_ You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: Waiting User Response >Status: Open Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- >Comment By: jkarretero (jkarretero_) Date: 2007-12-14 18:56 Message: Logged In: YES user_id=1847057 Originator: YES Hi Dannysmith! I think you are not right, because if I use the following prototype: unsigned long __stdcall WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); I get the following linking error: C:\DOCUME~1\CARRET~1\LOCALS~1\Temp/ccE7aaaa.o:bug.c:(.text+0x54): undefined reference to `WlanSetProfile@32' collect2: ld returned 1 exit status Can you succesfully compile bug.c adding __stdcall to the prototype? I have try compiling bug.c this way: gcc -Wl,--add-stdcall-alias -L./ -lwlanapi bug.c -o bug.exe but it still returns the same error. Thanks. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 09:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-14 19:58:02
|
Bugs item #1849022, was opened at 2007-12-11 19:14 Message generated for change (Comment added) made by earnie You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: Waiting User Response >Status: Pending Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- >Comment By: Earnie Boyd (earnie) Date: 2007-12-14 14:58 Message: Logged In: YES user_id=15438 Originator: NO You have the command wrong. See http://www.mingw.org/MinGWiki/index.php/FAQ and the "Compiling" section. ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-14 12:56 Message: Logged In: YES user_id=1847057 Originator: YES Hi Dannysmith! I think you are not right, because if I use the following prototype: unsigned long __stdcall WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); I get the following linking error: C:\DOCUME~1\CARRET~1\LOCALS~1\Temp/ccE7aaaa.o:bug.c:(.text+0x54): undefined reference to `WlanSetProfile@32' collect2: ld returned 1 exit status Can you succesfully compile bug.c adding __stdcall to the prototype? I have try compiling bug.c this way: gcc -Wl,--add-stdcall-alias -L./ -lwlanapi bug.c -o bug.exe but it still returns the same error. Thanks. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 03:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-17 18:36:34
|
Bugs item #1849022, was opened at 2007-12-12 01:14 Message generated for change (Comment added) made by jkarretero_ You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: Waiting User Response >Status: Open Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- >Comment By: jkarretero (jkarretero_) Date: 2007-12-17 19:36 Message: Logged In: YES user_id=1847057 Originator: YES Hi earnie! You are rigth, command line was in the wrong order. But compiling with the right order: gcc -L./ -o bug.exe bug.c -lwlanapi gives exactly the same results: -undefined reference to `WlanSetProfile@32' when WlanSetProfile is prototyped with __stdcall -result=87 .i=4206603 ... when WlanSetProfile is prototyped with __cdecl So the bug isn't fixed. ---------------------------------------------------------------------- Comment By: Earnie Boyd (earnie) Date: 2007-12-14 20:58 Message: Logged In: YES user_id=15438 Originator: NO You have the command wrong. See http://www.mingw.org/MinGWiki/index.php/FAQ and the "Compiling" section. ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-14 18:56 Message: Logged In: YES user_id=1847057 Originator: YES Hi Dannysmith! I think you are not right, because if I use the following prototype: unsigned long __stdcall WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); I get the following linking error: C:\DOCUME~1\CARRET~1\LOCALS~1\Temp/ccE7aaaa.o:bug.c:(.text+0x54): undefined reference to `WlanSetProfile@32' collect2: ld returned 1 exit status Can you succesfully compile bug.c adding __stdcall to the prototype? I have try compiling bug.c this way: gcc -Wl,--add-stdcall-alias -L./ -lwlanapi bug.c -o bug.exe but it still returns the same error. Thanks. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 09:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-18 07:21:59
|
Bugs item #1849022, was opened at 2007-12-12 13:14 Message generated for change (Comment added) made by dannysmith You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: Waiting User Response Status: Open Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-18 20:21 Message: Logged In: YES user_id=11494 Originator: NO jkarretero wrote "But compiling with the right order: gcc -L./ -o bug.exe bug.c -lwlanapi gives exactly the same results: -undefined reference to `WlanSetProfile@32' when WlanSetProfile is prototyped with __stdcall" I think you've hit a genuine bug in older versions of ld here. Try moving the dll Wlanapi.dll out of library search path. Alternatively rename wlanapi.lib to libwlanapi.a Older versions of ld acted as if *.lib suffix was only used for static libs, and ignored it in preference to a shared lib named *.dll. The dll itself however only exports aliased names (without the "@n" suffix) so you really do need the import lib, wlanapi.lib Danny ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-18 07:36 Message: Logged In: YES user_id=1847057 Originator: YES Hi earnie! You are rigth, command line was in the wrong order. But compiling with the right order: gcc -L./ -o bug.exe bug.c -lwlanapi gives exactly the same results: -undefined reference to `WlanSetProfile@32' when WlanSetProfile is prototyped with __stdcall -result=87 .i=4206603 ... when WlanSetProfile is prototyped with __cdecl So the bug isn't fixed. ---------------------------------------------------------------------- Comment By: Earnie Boyd (earnie) Date: 2007-12-15 08:58 Message: Logged In: YES user_id=15438 Originator: NO You have the command wrong. See http://www.mingw.org/MinGWiki/index.php/FAQ and the "Compiling" section. ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-15 06:56 Message: Logged In: YES user_id=1847057 Originator: YES Hi Dannysmith! I think you are not right, because if I use the following prototype: unsigned long __stdcall WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); I get the following linking error: C:\DOCUME~1\CARRET~1\LOCALS~1\Temp/ccE7aaaa.o:bug.c:(.text+0x54): undefined reference to `WlanSetProfile@32' collect2: ld returned 1 exit status Can you succesfully compile bug.c adding __stdcall to the prototype? I have try compiling bug.c this way: gcc -Wl,--add-stdcall-alias -L./ -lwlanapi bug.c -o bug.exe but it still returns the same error. Thanks. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 21:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-19 09:12:51
|
Bugs item #1849022, was opened at 2007-12-12 01:14 Message generated for change (Comment added) made by jkarretero_ You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: Waiting User Response Status: Open Resolution: None Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- >Comment By: jkarretero (jkarretero_) Date: 2007-12-19 10:12 Message: Logged In: YES user_id=1847057 Originator: YES Thanks Danny! You are completely right. The bug is fixed doing the following: - add __stdcall to the prototype of WlanSetProfile - rename wlanapi.lib to libwlanapi.a - compile with gcc -L./ -o bug.exe bug.c -lwlanapi Furthermore, bug.c executes perfectly with the last releases of packages. Sorry because I thought I had the last releases of packages, and this was an old bug. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-18 08:21 Message: Logged In: YES user_id=11494 Originator: NO jkarretero wrote "But compiling with the right order: gcc -L./ -o bug.exe bug.c -lwlanapi gives exactly the same results: -undefined reference to `WlanSetProfile@32' when WlanSetProfile is prototyped with __stdcall" I think you've hit a genuine bug in older versions of ld here. Try moving the dll Wlanapi.dll out of library search path. Alternatively rename wlanapi.lib to libwlanapi.a Older versions of ld acted as if *.lib suffix was only used for static libs, and ignored it in preference to a shared lib named *.dll. The dll itself however only exports aliased names (without the "@n" suffix) so you really do need the import lib, wlanapi.lib Danny ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-17 19:36 Message: Logged In: YES user_id=1847057 Originator: YES Hi earnie! You are rigth, command line was in the wrong order. But compiling with the right order: gcc -L./ -o bug.exe bug.c -lwlanapi gives exactly the same results: -undefined reference to `WlanSetProfile@32' when WlanSetProfile is prototyped with __stdcall -result=87 .i=4206603 ... when WlanSetProfile is prototyped with __cdecl So the bug isn't fixed. ---------------------------------------------------------------------- Comment By: Earnie Boyd (earnie) Date: 2007-12-14 20:58 Message: Logged In: YES user_id=15438 Originator: NO You have the command wrong. See http://www.mingw.org/MinGWiki/index.php/FAQ and the "Compiling" section. ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-14 18:56 Message: Logged In: YES user_id=1847057 Originator: YES Hi Dannysmith! I think you are not right, because if I use the following prototype: unsigned long __stdcall WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); I get the following linking error: C:\DOCUME~1\CARRET~1\LOCALS~1\Temp/ccE7aaaa.o:bug.c:(.text+0x54): undefined reference to `WlanSetProfile@32' collect2: ld returned 1 exit status Can you succesfully compile bug.c adding __stdcall to the prototype? I have try compiling bug.c this way: gcc -Wl,--add-stdcall-alias -L./ -lwlanapi bug.c -o bug.exe but it still returns the same error. Thanks. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 09:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |
From: SourceForge.net <no...@so...> - 2007-12-19 12:30:24
|
Bugs item #1849022, was opened at 2007-12-11 19:14 Message generated for change (Settings changed) made by earnie You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc >Group: Behaves as Documented >Status: Closed >Resolution: Invalid Priority: 5 Private: No Submitted By: jkarretero (jkarretero_) Assigned to: Nobody/Anonymous (nobody) Summary: Another bad compilation Initial Comment: I compile bug.c (attached) saccesfully. However, the execution has a bug. The output of the program is: result=87 .i=4206603 .i=4206603 .i=4206603 .i=4206603 ... When it is expected to be: result=87 .i=0 .i=1 .i=2 .i=3 ... The source no_bug.c (attached) gives the expected output. The only difference between bug.c and no_bug.c is the line 40. Line 40 bug.c -> printf("%s", "."); Line 40 no_bug.c -> printf("."); The value returned by WlanSetProfile is the expected. 87 means ERROR_INVALID_PARAMETER. See msdn documentation for details: http://msdn2.microsoft.com/en-us/library/ms706795.aspx Wlanapi.dll and wlanapi.lib can be found in Microsoft Windows SDK v6.0. ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-19 04:12 Message: Logged In: YES user_id=1847057 Originator: YES Thanks Danny! You are completely right. The bug is fixed doing the following: - add __stdcall to the prototype of WlanSetProfile - rename wlanapi.lib to libwlanapi.a - compile with gcc -L./ -o bug.exe bug.c -lwlanapi Furthermore, bug.c executes perfectly with the last releases of packages. Sorry because I thought I had the last releases of packages, and this was an old bug. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-18 02:21 Message: Logged In: YES user_id=11494 Originator: NO jkarretero wrote "But compiling with the right order: gcc -L./ -o bug.exe bug.c -lwlanapi gives exactly the same results: -undefined reference to `WlanSetProfile@32' when WlanSetProfile is prototyped with __stdcall" I think you've hit a genuine bug in older versions of ld here. Try moving the dll Wlanapi.dll out of library search path. Alternatively rename wlanapi.lib to libwlanapi.a Older versions of ld acted as if *.lib suffix was only used for static libs, and ignored it in preference to a shared lib named *.dll. The dll itself however only exports aliased names (without the "@n" suffix) so you really do need the import lib, wlanapi.lib Danny ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-17 13:36 Message: Logged In: YES user_id=1847057 Originator: YES Hi earnie! You are rigth, command line was in the wrong order. But compiling with the right order: gcc -L./ -o bug.exe bug.c -lwlanapi gives exactly the same results: -undefined reference to `WlanSetProfile@32' when WlanSetProfile is prototyped with __stdcall -result=87 .i=4206603 ... when WlanSetProfile is prototyped with __cdecl So the bug isn't fixed. ---------------------------------------------------------------------- Comment By: Earnie Boyd (earnie) Date: 2007-12-14 14:58 Message: Logged In: YES user_id=15438 Originator: NO You have the command wrong. See http://www.mingw.org/MinGWiki/index.php/FAQ and the "Compiling" section. ---------------------------------------------------------------------- Comment By: jkarretero (jkarretero_) Date: 2007-12-14 12:56 Message: Logged In: YES user_id=1847057 Originator: YES Hi Dannysmith! I think you are not right, because if I use the following prototype: unsigned long __stdcall WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); I get the following linking error: C:\DOCUME~1\CARRET~1\LOCALS~1\Temp/ccE7aaaa.o:bug.c:(.text+0x54): undefined reference to `WlanSetProfile@32' collect2: ld returned 1 exit status Can you succesfully compile bug.c adding __stdcall to the prototype? I have try compiling bug.c this way: gcc -Wl,--add-stdcall-alias -L./ -lwlanapi bug.c -o bug.exe but it still returns the same error. Thanks. Jesus. ---------------------------------------------------------------------- Comment By: Danny Smith (dannysmith) Date: 2007-12-13 03:20 Message: Logged In: YES user_id=11494 Originator: NO The bug is in your prototype: unsigned long WlanSetProfile ( void* hClientHandle, const GUID *pInterfaceGuid, unsigned long dwFlags, const unsigned short* strProfileXml, const unsigned short* strAllUserProfileSecurity, long bOverwrite, void* pReserved, unsigned long *pdwReasonCode ); It should be: unsigned long /* WINAPI*/ __stdcall WlanSetProfile ... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1849022&group_id=2435 |