[M3devel] unnecessary relinks when import libs change

Tony Hosking hosking at cs.purdue.edu
Sat Feb 23 17:24:29 CET 2008


Why @M3novm? That should no longer be needed.

On Feb 23, 2008, at 10:04 AM, Jay wrote:

> I see a lot of like:
>
> == package C:\\dev2\\cm3.2\m3-obliq\synloc ==
>  +++ ['cm3.exe -build -keep -DROOT=/C/dev2/cm3.2 - 
> DCM3_VERSION_TEXT=d5.6.0 -DCM3
> _VERSION_NUMBER=050600 -DCM3_LAST_CHANGED=2008-01-31 @M3novm',  
> 'cm3.exe -ship -k
> eep -DROOT=/C/dev2/cm3.2 -DCM3_VERSION_TEXT=d5.6.0 - 
> DCM3_VERSION_NUMBER=050600 -
> DCM3_LAST_CHANGED=2008-01-31 @M3novm'] +++
>
> --- building in NT386GNU ---
>
> ignoring ../src/m3overrides
> new "/C/cm3/pkg/libm3/NT386GNU/m3.lib" -> archiving  
> synwr.lib           *** This line ****
> mklib  -out:synwr.lib  SynWr.io SynWr.mo SynLocation.io  
> SynLocation.mo 2>&1 > sy
> nwr.lst
> gcc -shared -Wl, at _m3responsefile1.txt 2>&1 > synwr.lst
> Creating library file: synwr.lib
> --- shipping from NT386GNU ---
>
> This is mildly dumb.
> I should check as to why m3.lib changed, but an import .lib  
> changing is rarely legitimate cause for a relink.
> As long as no symbols were added or removed, no relink is needed.
> Even then, it usually doesn't matter, but harder to tell.
>
> It's true the import .libs have "hints" as to "ordinals" but I  
> don't think anyone cares about those.
>
> Definitely maybe the fix should be that when the import .lib is  
> made, if the list of symbols exported is identical to the previous  
> version, don't update the file.
>
>  - Jay
>
>
> Connect and share in new ways with Windows Live. Get it now!




More information about the M3devel mailing list