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
