| 60 | |
| 61 | |
| 62 | DwarfParser::DwarfParser(const char* name, const char* image_base, const char* eh_frame_hdr) { |
| 63 | _name = name; |
| 64 | _image_base = image_base; |
| 65 | |
| 66 | _capacity = 128; |
| 67 | _count = 0; |
| 68 | _table = (FrameDesc*)malloc(_capacity * sizeof(FrameDesc)); |
| 69 | _prev = NULL; |
| 70 | |
| 71 | _code_align = sizeof(instruction_t); |
| 72 | _data_align = -(int)sizeof(void*); |
| 73 | |
| 74 | parse(eh_frame_hdr); |
| 75 | } |
| 76 | |
| 77 | void DwarfParser::parse(const char* eh_frame_hdr) { |
| 78 | u8 version = eh_frame_hdr[0]; |