From: Kai T. <kti...@go...> - 2009-08-21 08:08:38
|
2009/8/21 Ozkan Sezer <se...@gm...>: > On Fri, Aug 21, 2009 at 10:57 AM, Kai Tietz<kti...@go...> wrote: >> 2009/8/21 Ozkan Sezer <se...@gm...>: >>> On Fri, Aug 21, 2009 at 10:24 AM, Kai Tietz<kti...@go...> wrote: >>>> 2009/8/21 t6...@gm... <t6...@gm...>: >>>>> Hello, >>>>> I filed a bug report at gcc bug tracker >>>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41136 >>>>> Is anyone encountering this bug and is there any possible workaround ? >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >>>>> trial. Simplify your report design, integration and deployment - and focus on >>>>> what you do best, core application coding. Discover what's new with >>>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>>>> _______________________________________________ >>>>> Mingw-w64-public mailing list >>>>> Min...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >>>>> >>>> >>>> Hello, >>>> >>>> thank you for reporting this. Please report such kind of failures to >>>> mingw-w64 project's bug tracker first. This looks not as a gcc bug >>>> itself, it seems to be more reasoned by other issues possibly reasoned >>>> by our runtime. >>>> >>>> Please describe also the environment you are using to build the native >>>> compiler, the date of runtime headers and crt you are using, and the >>>> binutils version you are using. >>>> >>>> Regards, >>>> Kai >>> >>> This happens because the autotools idiocy decides >>> that LFS is not available and _GLIBCXX_USE_LFS is >>> left undefined which is the first issue, it falls back to >>> fstat instead of fstat64 and fstat wraps onto fstat64i32. >>> This is actually a GCC bug, IMO. >>> The second issue is that fstat64i32 is in _fstat64i32.c >>> but fstat() being defined as an inline wrapping around >>> it in sys/stat.h is marked __MINGW_ATTRIB_NO_OPTIMIZE >>> The no-optimize maybe causing an issue here ?. >>> >>> -- >>> Ozkan >>> >> >> Hmm, well the issue in libstdc++ could be a bug in it. But the issue > > Yes. The problem is in acinclude.m4 of libstdc++ with its > GLIBCXX_CHECK_LFS procedure. > >> about double present symbols is an issue related to the fact that it >> uses the inlined version. Therefore the __NO_INLINE__ is in our >> headers. Is this function not protected by an __NO_INLINE__? > > Yes, it is protected. > >> This bug is reasoned IMHO by the fact, that within the file we >> implement fstat64i32 and the fstat functions are within one .c file. >> We should split this file, so that each function is within one >> separate file here. So we avoid this. > > Can you explain? (I'm newly awoken..) > in crt stdio/_fstat64i32.c we implement the following functions: "_fstat64i32", "_stat64i32", "fstat", and "stat". So if one of those functions is already in a library (e.g _fstat64i32"), but fstat is referenced by this library, too, then linker want to take the function "fstat" from object stdio/_fstat64i32.o. But this object also includes _fstat64i32 function, so it leads to double defined linker errors. We should split this file into its four different functions. Cheers, Kai -- | (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination |