<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div><br>> jazzynico posted a version as an attachment for message 6 here:<br>> <br>>     https://bugs.launchpad.net/inkscape-devlibs/+bug/1552913<br><br></div><div>I forgot to add to the previous email that "nm libpoppler-58.dll | grep vfprintf | sort -u" returns</div><div><br></div><div>6a2df964 T ___mingw_vfprintf</div><div><br></div><div>6a300388 T _vfprintf</div><div><br></div><div>6a300388 t .text$vfprintf</div><div><br></div><div>6a7f1d48 N .debug_frame$vfprint</div><div><br></div><div>and nm shows a sequence</div><div><br></div><div><div>6a2df33c T ___main</div><div><br></div><div>6a2e2f78 t ___mbrtowc_cp</div><div><br></div><div>6a2df4cc T ___mingw_TLScallback</div><div><br></div><div>6a2e1084 T ___mingw_pformat</div><div><br></div><div>6a2df938 T ___mingw_snprintf</div><div><br></div><div>6a2df964 T ___mingw_vfprintf</div><div><br></div><div>6a2df998 T ___mingw_vprintf</div><div><br></div><div>6a2dfbb4 T ___mingw_vsnprintf</div><div><br></div><div>6a2df9d0 T ___mingw_vsprintf</div></div><div><br></div><div>I think that these are all part of the mechanics of creating a dll with COFF. The symbols are too close together to have any significant amount of code. I think that one of the differences between ELF and COFF is that ELF dedicates a cpu register to support position independent code. At least on unix, COFF shared objects have to be preconfigured to load at a fixed address. You have to make stubs with import modules for each library (which might be one reason that some maintainers complain whenever a poppler release changes the external API of libpoppler). "<span style="font-size: 12pt;">nm libpoppler-58.dll" has a section of links to import stubs. The lines below are an example. "I" means an indirect reference.</span></div><div><span style="font-size: 12pt;"><br></span></div><div><div>6a3c56f0 I __imp__cos</div><div><br></div><div>6a3c56f4 I __imp__exit</div><div><br></div><div>6a3c56f8 I __imp__fclose</div><div><br></div><div>6a3c56fc I __imp__fflush</div><div><br></div><div>6a3c5700 I __imp__fgetc</div><div><br></div><div>6a3c5704 I __imp__fgetpos</div><div><br></div><div>6a3c5708 I __imp__floor</div></div><div><br></div><div>It looks like libpoppler is requesting all of the *printf functions from mingw but the rest of stdio from msvcrt.</div><div><br></div><div>The link below says that mingw replaces the stdio libraries because the msvcrt versions are not ANSI compatible and that you can force the msvcrt versions by compiling with -D__USE_MINGW_ANSI_STDIO=0 or by not using compile options like -ansi or -posix that set __STRICT_ANSI__,</div><div><br></div><div>Maybe the devlib people recently changed the compile options that they use to build poppler.</div><div><br></div><div><a href="http://mingw-users.1079350.n2.nabble.com/mingw-vfprintf-question-td5445899.html" target="_blank">http://mingw-users.1079350.n2.nabble.com/mingw-vfprintf-question-td5445899.html</a></div><div><br></div><div>William</div><div><br></div><div><br></div><div><br></div>                                        </div></body>
</html>