[LLVMdev] Unwinds Gone Wild

Mahadevan R mdevan.foobar at gmail.com
Thu Jul 31 08:18:26 PDT 2008


On Thu, Jul 31, 2008 at 7:49 PM, Marc de Kruijf <dekruijf at cs.wisc.edu> wrote:
>
>
> On Thu, Jul 31, 2008 at 2:19 AM, Duncan Sands <baldrick at free.fr> wrote:
>>
>> Hi,
>>
>> > Can anyone tell me if invoke/unwind is stable in 2.3?  I'm seeing some
>> > really weird stuff -- unwinds are ending up in seemingly arbitrary
>> > places...
>> > definitely not inside the caller's unwind block  My target is x86.
>>
>> codegen doesn't know how to handle "unwind" on any target.  You need
>> to call the libgcc unwinding routines directly (or indirectly by
>> pretending to be C++ or some other language, and calling eg cxa_throw).
>
> I'm not familiar with the libgcc unwinding routines.  What do these look
> like and where might I read more about them?  Or maybe someone can provide
> an example?  For instance, how could I do it for my little dummy program?

These links might be helpful:

Exception Handling in LLVM:
http://www.llvm.org/docs/ExceptionHandling.html

LSB Core specs from:
http://refspecs.linux-foundation.org/lsb.shtml

libunwind from HP:
http://www.nongnu.org/libunwind/

Intel Stack Unwind Library (for Itanium):
http://www.intel.com/cd/software/products/asmo-na/eng/219984.htm

Regards,
-Mahadevan.



More information about the llvm-dev mailing list