<div>Hi!</div><div><br /></div><div><br /></div><div>Q: Today AMD64_MINGW is static linked?</div><div><br /></div><div><br /></div><div>Best regards, Victor Miasnikov</div><div><br /></div><div>08.01.2022, 11:11, "Jay K" <jayk123@hotmail.com>:</div><blockquote><div dir="ltr">
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
Others had similar ideas:</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<a href="https://cgit.freebsd.org/ports/log/net/cvsup?id=108df0eb691bcf9f242e5ef830bea1bb80db10d3&showmsg=1" target="_blank">https://cgit.freebsd.org/ports/log/net/cvsup?id=108df0eb691bcf9f242e5ef830bea1bb80db10d3&showmsg=1</a>
<div><br />
</div>
<div>Upgrade to snap-16.1f. This snapshot is primarily cleanups, John Polstra <span class="1f1ea193f6735cf0wmi-callto">2002-01-02 2 -32</span>/+6<br />
</div>
<div><br />
</div>
<div>...</div>
<div><br />
</div>
<div>Remove the special static linking when PACKAGE_BUILDING is set.</div>
<div>When ezm3 is used, programs are always statically linked with the</div>
<div>Modula-3 libraries.  This means that binaries built with this port</div>
<div>will be stand-alone, but still dynamically linked with the system</div>
<div>libraries.  So, for example, they will work with runsocks</div>
<div><br />
</div>
<div>:)</div>
<div><br />
</div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px"> > I meant dynamic linking
 of libraries coded in Modula-3.</span><br />
</div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px"><br />
</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px">I find this still ambiguous,
 sorry.</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px">Can we speak of "to"
 and not "of"?<br />
What is being linked "to"?</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px">to libc?<br />
to m3core?</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px"><br />
</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px">My goal is to stop worrying
 about:</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px"> - maintaining the config
 files</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px"> - worrying about running
 "non-installed" executables </span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px"> - which systems support
 $origin </span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px"><br />
</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px">Dynamic linking to libc
 would remain.<br />
We don't do anything for that, it kinda just happens automatically. Kinda.</span></div>
<div><span style="background-color:rgb( 255 , 255 , 255 );display:inline !important;font-size:14px">I realize there is flexibilty
 there.</span></div>
<div><br />
</div>
<div>Building m3core.so, and therefore linking to it, is kinda the bothersome point.</div>
<div>I do realize the use cases though, say of multiple Modula-3 codebases, multiple Modula-3 .so</div>
<div>files, loaded into the same process, and sharing one m3core.so, one garbage collector.</div>
<div><br />
</div>
<div>That is something that might not work well w/o dynamic linking.</div>
<div>Though in the ELF model, it might..the first one kinda wins. But that doesn't</div>
<div>work on Mac with the two level namespace.</div>
<div><br />
</div>
<div>Perhaps delegating to libtool is a solution though, I have been mulling as well.</div>
<div><br />
</div>
 - Jay<br />
</div>
<div>
<div id="dd8fcbc3886f6beba9d56dd35eeb1be5appendonsend"></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<hr style="display:inline-block;width:98%" />
<div id="f2e387f28ef856c18dfa722bbcbb9bfadivRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> Tony Hosking <<a href="mailto:antony.hosking@anu.edu.au" target="_blank">antony.hosking@anu.edu.au</a>><br />
<b>Sent:</b> Saturday, July 3, 2021 5:46 AM<br />
<b>To:</b> Jay K <<a href="mailto:jayk123@hotmail.com" target="_blank">jayk123@hotmail.com</a>>; m3devel <<a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a>><br />
<b>Subject:</b> Re: dropping dynamic linking?</font>
<div> </div>
</div>
<div>
<div>
<div>
<div dir="ltr" style="background-color:rgb( 255 , 255 , 255 );color:rgb( 0 , 0 , 0 )">I meant dynamic linking of libraries coded in Modula-3.</div>
<div dir="ltr" style="background-color:rgb( 255 , 255 , 255 );color:rgb( 0 , 0 , 0 )"><br />
</div>
</div>
<div id="b88337d9eb843d67edd10a6074f9d0d9x_ms-outlook-mobile-signature">
<div><br />
</div>
Get <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fo0ukef&data=04%7C01%7C%7C6ba376bad4d84a3cfb7a08d93de5fabd%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637608880234270278%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=hVnl23ssW6Aj%2FkkEJ0DI4pPYEbXY8BhMbrU6Rm%2BSXOQ%3D&reserved=0" target="_blank">
Outlook for iOS</a></div>
</div>
<hr style="display:inline-block;width:98%" />
<div id="24dbee26ff517139c5431857a7e0db45x_divRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> Jay K <<a href="mailto:jayk123@hotmail.com" target="_blank">jayk123@hotmail.com</a>><br />
<b>Sent:</b> Saturday, July 3, 2021 4:43:15 AM<br />
<b>To:</b> Tony Hosking <<a href="mailto:antony.hosking@anu.edu.au" target="_blank">antony.hosking@anu.edu.au</a>>; m3devel <<a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a>><br />
<b>Subject:</b> Re: dropping dynamic linking?</font>
<div> </div>
</div>
<div dir="ltr">
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
Also, did you mean dynamic linking to Modula-3 i.e. m3core, or dynamically linked binaries in general, i.e. dynamically linked to libc?</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
These are really two separate things. Dynamic linking to libc is much more valuable and less negotiable and less problematic than dynamic linking to m3core. <span style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">Some platforms
 have no public stable syscall interface, except via thin layer in libc, so dynamic linking is required. e.g. Darwin and Solaris I believe, and NT. Libc versioning/compatbility is also generally pretty good.</span></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
I was really only asking about m3core, etc., not libc.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
 - Jay</div>
<div>
<div id="f57e443edba66501a9619cfdb2106aedx_x_appendonsend"></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<hr style="display:inline-block;width:98%" />
<div id="4825e962c42d624a5fbdbfce559af492x_x_divRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> Tony Hosking <<a href="mailto:antony.hosking@anu.edu.au" target="_blank">antony.hosking@anu.edu.au</a>><br />
<b>Sent:</b> Thursday, June 24, 2021 7:40 AM<br />
<b>To:</b> Jay K <<a href="mailto:jayk123@hotmail.com" target="_blank">jayk123@hotmail.com</a>>; m3devel <<a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a>><br />
<b>Subject:</b> Re: dropping dynamic linking?</font>
<div> </div>
</div>
<div lang="EN-US" style="word-wrap:break-word">
<div class="1c16767b9cb436f9767a29c795fef5a8x_x_x_WordSection1">
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in">
Dropping dynamic linking is a non-starter. It must be supported!</p>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in">
 </p>
<div style="border-style:solid none none none;border-top-color:#b5c4df;border-width:1pt medium medium medium;padding:3pt 0in 0in 0in">
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 12pt 0.5in">
<b><span style="color:black;font-size:12pt">From: </span></b><span style="color:black;font-size:12pt">M3devel <<a href="mailto:m3devel-bounces@elegosoft.com" target="_blank">m3devel-bounces@elegosoft.com</a>> on behalf of Jay K <<a href="mailto:jayk123@hotmail.com" target="_blank">jayk123@hotmail.com</a>><br />
<b>Date: </b>Thursday, June 24, 2021 at 2:22 PM<br />
<b>To: </b>m3devel <<a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a>><br />
<b>Subject: </b>[M3devel] dropping dynamic linking?</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">I am curious, if anyone would mind much, if we stopped doing dynamically linking, of Modula-3 code itself.</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt"> </span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">I am very well aware of all the tradeoffs.</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">Dynamic linking saves diskspace and memory when code is actually shared.</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">There is some indirection, but it <b>
should</b>​ not be much. But ELF defaults are also terrible.</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt"> </span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">The Modula-3 build system has a fair amount of code to support dynamic linking.</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">Is it worth maintaining?</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt"> </span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">We would continue dynamically linking to the underlying OS.</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt"> </span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt">The Go developers seem to have a blanket policy/implementation of static linking (to go code, not OS).</span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt"> </span></p>
</div>
<div>
<p class="65f625891341662a9d56054c9dd443f2x_x_x_MsoNormal" style="font-family:'calibri' , sans-serif;font-size:11pt;margin:0in 0in 0in 0.5in">
<span style="color:black;font-size:12pt"> - Jay</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
,<p>_______________________________________________<br />M3devel mailing list<br /><a href="mailto:M3devel@elegosoft.com" target="_blank">M3devel@elegosoft.com</a><br /><a href="https://m3lists.elegosoft.com/mailman/listinfo/m3devel" target="_blank">https://m3lists.elegosoft.com/mailman/listinfo/m3devel</a><br /></p></blockquote>