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 | 
