-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wlink failure with lib file containing win32 COFF objects #1356
Comments
It looks like issue with COFF format libraries. |
The lib was created with |
I think issue happens only in situation if wlink uses COFF archive library with COFF objects. |
P.S.: For the time being, I changed my projects to build nasm asm code in obj output format. |
@jmalak I stumbled upon this same problem, but I have some additional info here, I think the problem goes a bit deeper than what's described. Please say whether this (related) problem should be handled here, or whether another separate issue should be created. WLIB creates AR libs for non-OMF objs even if explicitly requested not to, and issues no warning/error in such cases. I believe that shouldn't happen. If providing a purely OMF OBJ(s), WLIB respects the command-line flags, and generates either OMF or AR lib (with the default behaviour being equal to We have two coupled problems - first, WLIB silently creates AR files even though asked not to (even though having so as a default is reasonable, it's no longer reasonable with explicit flag for OMF lib), and then WLINK fails to link them without saying why explicitly (as in the error message from @sezero ). Note that manual linking of both the OBJs provided succeeded - only the library-based approach fails. |
Thanks for your info. |
I did analysis of your library and it is mixture of objects with different format. The main issue is that you combine two different formats in the library therefore wlib desided to create archive format and include there all your object types. wlib cannot create OMF library if you include COFF or ELF objects but can create archive format and mix object type there. Probably we should add some diagnostics which will warn about this situation that you ask OMF library but it is not possible and wlib create different library format with possible objects combination. Anyway wlink has bug for such libraries processing and need to fix because such library format is legal. |
Please could you check creation of your library (with mixed object types) by OW 1.9 wlib, what happen? |
As I told before, wlink from ow2.0 fails, wlink from ow19 succeeds. In any case, here are lib files created with oq19 and ow20: OW20 version used was from 28 Aug 2024. If you really need me to use the latest,then tell me. As I told before, for both ow19 and ow20, the wlib command line switches used Do you need anything else? |
Build the following test source with
wcc386 -zq -bt=nt -5s -fo=1.obj 1.c
:And link it with FLAC.lib :
This is the lib file in question: FLAC.lib.zip
This error doesn't happen with wlink from OW19.
It doesn't seem to matter if FLAC.lib is built using wlib from ow1.9
or ow2.0.
The lib contains object files built using nasm with its
-f win32
flag.If the asm sources of the library were built using
-f obj
instead, thenwlink from ow2.0 succeeds.
The text was updated successfully, but these errors were encountered: