Boost logo

Boost :

Subject: Re: [boost] [context] Floating Point Exception
From: Oliver Kowalke (oliver.kowalke_at_[hidden])
Date: 2011-07-01 15:44:39


Am 29.06.2011 20:18, schrieb Daniel Larimer:
> Attempting to use the latest Boost.Context implementation on Mac OS X and
> everything was going fine except for a few small issues:
>
> 1) fcontext_x86_64_sysv_macho_gas.S fails to compile because:
> fcontext_x86_64_sysv_macho_gas.S:50:Unknown pseudo-op: .type
> fcontext_x86_64_sysv_macho_gas.S:50:Rest of line ignored. 1st junk character
> valued 95 (_).
> fcontext_x86_64_sysv_macho_gas.S:51:Alignment too large: 15. assumed.
>
> 2) I can fix those errors by commenting out the .type line and changing to
> .balign 16 or .align 8
>
> 3) Compiled with:
> gcc-4.5.0 -o fcontext_x86_64_sysv_macho_gas.S.o -c
> fcontext_x86_64_sysv_macho_gas.S

could you write a little helloworld-app and compile it with -S and send
me the generated assembler?

> 4) protected_stack() cannot map /dev/zero
> - solutions were to mkfile -n 1m /tmp/zero and then open that
> - use ::mmap( 0, size__, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
> -1, 0); instead of specifying any file.
>

MAP_ANON is not standard - have think about it (would require to test
for addition additional preprocessor macros)

> After getting all of those things "working" I attempted to print out a
> floating point number and it dies deep inside __ntoa(), but I could get it
> to crash by doing any floating point operations from within the contexts
> stack.
>

fixed missing fp x87 word initialisation

> I noticed that none of the examples test for floating point ops. You might
> want to include that as part of your standard testing.
>

thx, added

http://ok73.ok.funpic.de/boost.context-0.7.4.zip

Oliver


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk