This is the mail archive of the binutils@sources.redhat.com 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]

Re: Target-specific FDE pointer sizes (2/3)


Hi Richard,

As with the bfd patch, we need to distinguish between the official
LP64 ABI and the not-so-official ILP32 variant.  In the case of bfd,
it was important that we get the size right, and we had to punt if
we weren't sure.  In the case of readelf, I think we just want a
"best guess", since we have to output _something_.

I think that if readelf has to guess it should inform the user that it is doing so. That way the user has a chance to realise that readelf might have guessed incorrectly and that is why its output does not match their expectations.


binutils/
	* readelf.c (eh_addr_size): New variable.
	(find_section): Move earlier in file.  Return empty sections too.
	(process_program_headers): Use find_section to find .dynamic.
	(process_section_headers): Initialize eh_addr_size.
	(dump_ia64_unwind, slurp_ia64_unwind_table, ia64_process_unwind)
	(dump_hppa_unwind, slurp_hppa_unwind_table, hppa_process_unwind)
	(display_debug_frames): Use it instead of local addr_size variable.
	(size_of_encoded_value): Get pointer size from eh_addr_size rather
	than is_32bit_elf.

Approved - with the addition of a warning message when readelf is forced to guess.


Cheers
  Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]