The test is on 32bit x86 Linux, with g++ 4.6.3.

So basically I use a IDA pro script to recover the .gcc_excpt_table and .eh_frame sections from binary compiled from C++ language.

Basically I want to reuse the dumped information of these two exception handling tables in a new assembly code disassembled from this C++ ELF binary.

I put these two tables into the assembly code produced by disassembler, solving all intra-module address issue (basically translate concrete addresses into symbols) and re-compile it like this:

g++ final.s

However, there are three symbols that can not be found or I just don't know how to define it.

  1. _Unwind_Resume are undefined
  2. __FRAME_END__ are undefined
  3. It seems that eh_frame requires the beginning address of .plt table, but is there anyway to get the beginning address of .plt table during compiling? I know I can use the symbol _GLOBAL_OFFSET_TABLE_ to represent the beginning address of table .got.plt, but after a quick search, I just don't know whether there is a similar symbol representing .plt table.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.