
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