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, privacy policy and cookie policy

Browse other questions tagged or ask your own question.