This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I debugged a segmentation fault in readelf.c:5096 while reading an ia64 HP-UX 64-bit binary. #define BYTE_GET(field) byte_get (field, sizeof (field)) tep->start.offset = BYTE_GET ((unsigned char *) tp + 0); tep->end.offset = BYTE_GET ((unsigned char *) tp + 8); tep->info.offset = BYTE_GET ((unsigned char *) tp + 16); sizeof(field)=4 (size of a pointer), but we want eh_addr_size and on 64-bit systems it is 8 bytes. Fix: tep->start.offset = byte_get ((unsigned char *) tp + 0, eh_addr_size); tep->end.offset = byte_get ((unsigned char *) tp + 8, eh_addr_size); tep->info.offset = byte_get ((unsigned char *) tp + 16, eh_addr_size); Denis
Attachment:
binutils-readelf.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |