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] |
Hi Guys, I am going to apply the attached patch fix a problem with readelf exposed by PR 3800. The failure of the lns-common-1 test for the h8300 target is due to the fact that readelf assumes that all relocs for debug sections apply to 32-bit values. For the h8300 this is not true, as some of the relocs only affect 16-bits. In order to fix this I have created a new function: get_reloc_size() which has code to handle the h8300 as a special case. This is not the ideal way to resolve this problem, but if it turns out that only a few ports are affected by the 32-bit assumption, then this method is the simplest. In the course of fixing this bug I also found that we were not displaying all of the DW_AT_language values that are defined in the elf/dwarf.h header. I also noticed that when we dump a section (using readelf's -x command line option), that section is not relocated. This makes sense, but it can be confusing when at other times readelf works with a relocated section. So I have added a warning message to remind the user that the display section contents are not relocated. Finally I have also extended the output of the -wi command line option, so that when it is displaying the decoded attribute values inside a .debug.info section, it includes the offsets into the section of each of the attribute's tags. This makes it much easier to relate the tags back to the actual binary contents of the section, as displayed by the -x command line option. Cheers Nick binutils/ChangeLog 2007-02-06 Nick Clifton <nickc@redhat.com> PR gas/3800 * readelf.c: Include elf/h8.h twice. The first time in order to get the reloc numbers, the second time in order to get the reloc decoder function. (dump_section): Tell the user if the section being displayed has unprocessed relocs associated with it. (get_reloc_size): New function - returns the size of a reloc. (debug_apply_rela_addends): Use get_reloc_size(). * dwarf.c (read_and_display_attr_value): Extend number of languages know for the DW_AT_language attribute. (process_debug_info): Display the attribute offset before decoding the attribute, in case there are problems.
Attachment:
readelf.patch.bz2
Description: BZip2 compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |