From 5ebaff033d86feaa7ef3df94e8f72259e0340c80 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 30 May 2011 02:32:06 +0000 Subject: *** empty log message *** --- coro.c | 7 ++++++- coro.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/coro.c b/coro.c index 79e2ddc..3c157c8 100644 --- a/coro.c +++ b/coro.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001-2009 Marc Alexander Lehmann + * Copyright (c) 2001-2011 Marc Alexander Lehmann * * 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 */ diff --git a/coro.h b/coro.h index a4c8b0b..2f80ee6 100644 --- a/coro.h +++ b/coro.h @@ -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 -- cgit v1.2.3