base/asm-common.h, */*.S: New macros for making stack-unwinding tables.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 29 Dec 2016 15:21:08 +0000 (15:21 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 3 Apr 2017 09:10:09 +0000 (10:10 +0100)
Previously, I only supported Microsoft SEH tables, because they're
basically essential to having a working 64-bit binary (because Microsoft
are crazy and throw asynchronous exceptions).  But there are three
variants of stack-unwinding tables which are useful to make:

  * Microsoft's SEH tables for AMD64, constructed using `.seh_...'
    directives;

  * ARM's `.ARM.exidx' and `.ARM.extab' tables; and

  * Dwarf `.eh_frame' and `.debug_frame' tables.

These are all quite similar in flavour, but different in detail.  Rather
than write lots of hairy conditional stuff around subroutine prologues
and epilogues, wrap the whole lot up in some target-specific macros.


No differences found