diff options
-rw-r--r-- | coro.c | 7 | ||||
-rw-r--r-- | coro.h | 1 |
2 files changed, 7 insertions, 1 deletions
@@ -1,5 +1,5 @@ /* - * Copyright (c) 2001-2009 Marc Alexander Lehmann <schmorp@schmorp.de> + * Copyright (c) 2001-2011 Marc Alexander Lehmann <schmorp@schmorp.de> * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: @@ -88,6 +88,11 @@ coro_init (void) coro_transfer (new_coro, create_coro); +#ifdef __linux && __elf + /* we blindly assume on any __linux with __elf we have a new enough gas with .cfi_undefined support */ + asm (".cfi_undefined rip"); +#endif + func ((void *)arg); /* the new coro returned. bad. just abort() for now */ @@ -71,6 +71,7 @@ * 2009-06-23 tentative win32-backend support for mingw32 (Yasuhiro Matsumoto). * 2010-12-03 tentative support for uclibc (which lacks all sorts of things). * 2011-05-30 set initial callee-saved-registers to zero with CORO_ASM. + * use .cfi_undefined rip on linux-elf for better backtraces. */ #ifndef CORO_H |