OSDN Git Service

2005-01-05 H.J. Lu <hongjiu.lu@intel.com>
authorhjl <hjl>
Wed, 5 Jan 2005 16:15:47 +0000 (16:15 +0000)
committerhjl <hjl>
Wed, 5 Jan 2005 16:15:47 +0000 (16:15 +0000)
commit97a2bc3a4ade379fed0a7132d35ed6f47e04f691
treeef7607d1ee368f4870a4354793c6792161589f71
parentb5607b9ebb5d56df4a97d988af0c88be283cfa9a
2005-01-05  H.J. Lu  <hongjiu.lu@intel.com>

* readelf.c (have_frame_base): New.
(need_base_address): Likewise.
(saved_base_address): Likewise.
(decode_location_expression): Return 1 if DW_AT_frame_base is
needed.
(debug_info): Add base_address and a have_frame_base pointer.
(read_and_display_attr_value): Replace saved_DW_AT_low_pc with
saved_base_address. Record base address. Set have_frame_base.
Record if a location list has DW_AT_frame_base. Display if a
location expression has no DW_AT_frame_base but needs one. Set
saved_base_address only if needed.
(process_debug_info): Clear have_frame_base, saved_base_address
and set need_base_address.
(display_debug_loc): Display if a location expression has no
DW_AT_frame_base but needs one. Display if start >= end. Don't
adjust for section address. Properly handle base address.
(process_object): Free the have_frame_base pointer in
debug_info.
binutils/ChangeLog
binutils/readelf.c