[llvm-dev] GPL Software
Jy W via llvm-dev
llvm-dev at lists.llvm.org
Wed Aug 26 14:59:39 PDT 2015
2015-08-25 15:59 GMT-04:00 jacob navia via llvm-dev <llvm-dev at lists.llvm.org
> Then, I could follow ALL the process of calling __register_frame(); and
> that function works. It expects an FDE (not a CIE as I thought) but reads
> the CIE using the CIE pointer in the given FDE for each FDE.
This is what I found out when I ported a Linux program using gcc_eh to Mac
using libunwind. gcc_eh also supports FDE input.
This is just a quick description. I do not speak about all the wrong
> starts, the dead ends, the sheer frustration at the lack of docs, etc. This
> is the result of this part of the compiler being very complex by design
> (DWARF is incredibly complex), and a total lack of documentation. For
> instance the entry for __register_frame_info in GNU docs is just:
> "DOCUMENT THIS!"
There's almost no documentation with these unwind functions, probably
because very few people use them ("document me!" at
So I ended up with opening both libunwind code and client code and made
sure the format of the FDE and CIE was what libunwind wanted. If I saw your
email earlier, I could have been replied you.
I read the libunwind code in the llvm project because it's cleaner and also
works on Mac.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev