Him

Rule thumb 1: A callee should not NEVER affect the FPU setting of the
caller. If a different setting is necessary, it should be switched back
before return. Is this the case for mingw-w64 DLLs?

Rule thumb 2: If main is created by mingw-w64 the thread should inherit the
setting from the caller. Unfortunately this is not garenteed by the CRT
(blame Windows or me if I missed something). New threads seems to start
with default values. Should be documented.


2014-11-25 21:58 GMT+01:00 Kai Tietz <ktiet...@googlemail.com>:

> 2014-11-25 21:49 GMT+01:00 Carl Kleffner <cmkleff...@gmail.com>:
> > Hi Kai,
> >
> > you may take notice of some inconsistent behaviour. The master thread
> starts
> > with extended precision. Newly created threads start with the MSVC
> standard
> > double precision.
> >
> > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761175
> >
> > #include <pthread.h>
> > #include <stdio.h>
> >
> > void *thread_fun(void *x_void_ptr)
> > {
> >    printf("thread\n");
> >    return NULL;
> > }
> > int main()
> > {
> >    pthread_t thread;
> >
> >    if(pthread_create(&thread, NULL, thread_fun, NULL)) {
> >        fprintf(stderr, "Error creating thread\n");
> >        return 1;
> >    }
> >    if(pthread_join(thread, NULL)) {
> >        fprintf(stderr, "Error joining thread\n");
> >        return 2;
> >    }
> >    return 0;
> > }
> >
> > // (gdb) break main
> > // Breakpoint 1 at 0x40157c
> > // (gdb) break thread_fun
> > // Breakpoint 2 at 0x401566
> > // (gdb) r
> > // Starting program: a.exe
> > // [New Thread 5832.0x7c8]
> > //
> > // Breakpoint 1, 0x0040157c in main ()
> > // (gdb) p $fctrl
> > // $1 = 895
> > // (gdb) c
> > // Continuing.
> > // [New Thread 5832.0xf10]
> > // [Switching to Thread 5832.0xf10]
> > //
> > // Breakpoint 2, 0x00401566 in thread_fun ()
> > // (gdb) p $fctrl
> > // $2 = 639
> > // (gdb) c
> >
> > Is  there a way to get around of this?
> >
> >
> > 2014-11-24 21:30 GMT+01:00 Kai Tietz <ktiet...@googlemail.com>:
> >>
> >> Hello,
> >>
> >> so from my POV decision is already made.  80-bit support is wanted,
> >> and needs to be active for being compatible with C99-math and
> >> testsuites and gcc for Windows.  This support for 64-bit goes back to
> >> 2005, and for 32-bit even much earlier (1998 ?).
> >>  We provide a way for users asking explicit for 64-bit precision by
> >> different object-files, as already noted in this thread (CRT_fp8,
> >> CRT_fp10,...).  This is the same as for txtmode.o vs. binmode.o, or
> >> CRT_noglob.o vs. CRT_glob.o changing behavior.
> >>
> >> Nevertheless I would welcome if someone would contribute a good page
> >> on our Wiki FAQ-section.
> >>
> >> Regards,
> >> Kai
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
> >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
> >> with Interactivity, Sharing, Native Excel Exports, App Integration &
> more
> >> Get technology previously reserved for billion-dollar corporations, FREE
> >>
> >>
> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
> >> _______________________________________________
> >> Mingw-w64-public mailing list
> >> Mingw-w64-public@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
> Yes, we can do here something.  Question is here the following:  Do we
> want to do this only if executable is generated by mingw-w64, or do we
> want it for each loaded DLL?
>
> Kai
>
>
> ------------------------------------------------------------------------------
> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
> with Interactivity, Sharing, Native Excel Exports, App Integration & more
> Get technology previously reserved for billion-dollar corporations, FREE
>
> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
> _______________________________________________
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to