> jazzynico posted a version as an attachment for message 6 here:
> 
>     https://bugs.launchpad.net/inkscape-devlibs/+bug/1552913

I forgot to add to the previous email that "nm libpoppler-58.dll | grep 
vfprintf | sort -u" returns
6a2df964 T ___mingw_vfprintf
6a300388 T _vfprintf
6a300388 t .text$vfprintf
6a7f1d48 N .debug_frame$vfprint
and nm shows a sequence
6a2df33c T ___main
6a2e2f78 t ___mbrtowc_cp
6a2df4cc T ___mingw_TLScallback
6a2e1084 T ___mingw_pformat
6a2df938 T ___mingw_snprintf
6a2df964 T ___mingw_vfprintf
6a2df998 T ___mingw_vprintf
6a2dfbb4 T ___mingw_vsnprintf
6a2df9d0 T ___mingw_vsprintf
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). "nm libpoppler-58.dll" has a section of links to import stubs. 
The lines below are an example. "I" means an indirect reference.
6a3c56f0 I __imp__cos
6a3c56f4 I __imp__exit
6a3c56f8 I __imp__fclose
6a3c56fc I __imp__fflush
6a3c5700 I __imp__fgetc
6a3c5704 I __imp__fgetpos
6a3c5708 I __imp__floor
It looks like libpoppler is requesting all of the *printf functions from mingw 
but the rest of stdio from msvcrt.
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__,
Maybe the devlib people recently changed the compile options that they use to 
build poppler.
http://mingw-users.1079350.n2.nabble.com/mingw-vfprintf-question-td5445899.html
William


                                          
_______________________________________________
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to