Print this page
3265 link-editor builds bogus .eh_frame_hdr on ia32

*** 230,239 **** --- 230,241 ---- /* of itself */ #define DW_EH_PE_textrel 0x20 #define DW_EH_PE_datarel 0x30 /* Value is reletive to the beginning */ /* of the eh_frame_hdr segment */ /* ( segment type PT_AMD64_UNWIND ) */ + /* when within that segment, or to */ + /* the GOT when without. */ #define DW_EH_PE_funcrel 0x40 #define DW_EH_PE_aligned 0x50 /* value is an aligned void* */ #define DW_EH_PE_indirect 0x80 /* bit to signal indirection after */ /* relocation */
*** 249,259 **** * Little Endian Base 128 (leb128) encoding/decoding routines */ extern uint64_t uleb_extract(unsigned char *, uint64_t *); extern int64_t sleb_extract(unsigned char *, uint64_t *); extern uint64_t dwarf_ehe_extract(unsigned char *, uint64_t *, ! uint_t, unsigned char *, uint64_t, uint64_t); #ifdef __cplusplus } #endif --- 251,262 ---- * Little Endian Base 128 (leb128) encoding/decoding routines */ extern uint64_t uleb_extract(unsigned char *, uint64_t *); extern int64_t sleb_extract(unsigned char *, uint64_t *); extern uint64_t dwarf_ehe_extract(unsigned char *, uint64_t *, ! uint_t, unsigned char *, boolean_t, uint64_t, ! uint64_t, uint64_t); #ifdef __cplusplus } #endif