P.S.:
There is no "__stdio_common_vfscanf_s" in ucrtbase internals, but there is a
"__stdio_common_vfscanf" - wasn't wearing my glasses, sorry ;)
But this has nothing to do with the new "tzset" error #4....

- Sven

-----Original Message-----
From: Sven Kretzschmar [mailto:[email protected]] 
Sent: 25 November 2017 16:39
To: [email protected]
Subject: Re: [Mingw-w64-public] [PATCH] ucrtbase: Make sure that compat
symbols aren't autoexported

Hi Martin,

Thanks for your WIP stdio_s.h . That helped a lot.
I had to add another func (swprintf_s) & I had to comment out 3 of your wip
functions, because there is no "__stdio_common_vfscanf_s" internal func in
MS ucrtbase.
I have attached my modified stdio_s.h & wchar_s.h file if you want to have a
look if I did that right. 
Changes are framed - a bit unorthodox - by /* NEW SK */ ...


However, I am getting a new error now, when compiling Julia sources with the
ucrtbase version of gcc - see below ERROR #4.
I think you mentioned somewhere that you excluded "tzset" from the "ucrtbase
autoexport" patch, because this led to an "infinite recursion" or similar.
But by looking at the below error, it seems that it is still needed to be
excluded somehow.

Do you have any ideas for an additional/different patch to address this ?
(Preferably not requiring to explicitly exclude linkage via -Wl linker
flags, as all this is happing somewhere deep inside the big Makefile & CMake
build system for Julia ?

Thanks & Cheers
- Sven
 

ERROR #4:
--------------
/CROSS64/lib/gcc/x86_64-w64-mingw32/6.4.0/../../../../x86_64-w64-mingw32/lib
/../lib/libmsvcrt.a(lib64_libucrtbase_a-ucrtbase_compat.o): In function
`tzset':
/home/sven/buildtmp/build/mingw-crt/../../src/mingw-w64/mingw-w64-crt/crt/uc
rtbase_compat.c:178: multiple definition of `tzset'
/CROSS64/lib/gcc/x86_64-w64-mingw32/6.4.0/../../../../x86_64-w64-mingw32/lib
/../lib/libmsvcrt.a(dumns02036.o):(.text+0x0): first defined here
/CROSS64/lib/gcc/x86_64-w64-mingw32/6.4.0/../../../../x86_64-w64-mingw32/lib
/../lib/libmsvcrt.a(lib64_libucrtbase_a-ucrtbase_compat.o):/home/sven/buildt
mp/build/mingw-crt/../../src/mingw-w64/mingw-w64-crt/crt/ucrtbase_compat.c:2
36: multiple definition of `__imp_tzset'
/CROSS64/lib/gcc/x86_64-w64-mingw32/6.4.0/../../../../x86_64-w64-mingw32/lib
/../lib/libmsvcrt.a(dumns02036.o):(.idata$5+0x0): first defined here
collect2: error: ld returned 1 exit status


-----Original Message-----
From: Martin Storsjö [mailto:[email protected]]
Sent: 24 November 2017 13:02
To: [email protected]
Subject: Re: [Mingw-w64-public] [PATCH] ucrtbase: Make sure that compat
symbols aren't autoexported

On Thu, 23 Nov 2017, Sven Kretzschmar wrote:

> I will try to add the 2 missing references in the way you hinted at in 
> your post.

FWIW, for the _cprintf one, the conio.h patch that I sent should be a proper
fix.

The other one requires fixing stdio_s.h, and it's a truly huge number of
functions there. I started looking at it, but don't have time to do them all
right now. Attached is my work in progress for this header, that should
cover at least the function that you mentioned so far.

That one isn't sent for review yet as it's quite incomplete. OTOH, perhaps
it's better to at least fix up some subsets of it, that happens to be used,
instead of aiming for all of them.

// Martin


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to