(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.
* rcparse.y (RCDATA): Allow a filename to be supplied as the parameter.
Parse it with define_rcdata_file().
* resrc.c (define_rcdata_file): New function.
* windres.h: Provide a prototype for the new function.
* resrc.c (define_user_file): Fix typo by replacing "font file" with "file".
to basename, with warning.
(def_name): Use it.
(def_library): Likwise.
(main): Strip arg of --dllname to basename, with warning.
Only use basename of exp_name when inferring dll_name.
* doc/binutils.texi (c++filt): Use uppercase CXXFILT in the footnote in order
to prevent the sed script in the Makefile from converting it into c++filt.
* configure.in: Don't define SKIP_ZEROES.
* configure: Regenerate.
* objdump.c (disassemble_data): Set skip_zeroes and
skip_zeroes_at_end in disasm_info to defaults.
(DEFAULT_SKIP_ZEROES): Rename from SKIP_ZEROES and always define.
(DEFAULT_SKIP_ZEROES_AT_END): Rename from SKIP_ZEROES_AT_END and
always define.
(disassemble_bytes): Use skip_zeroes and skip_zeroes_at_end from
objdump_disasm_info.
include/:
* dis-asm.h (struct disassemble_info): Add skip_zeroes and
skip_zeroes_at_end.
opcodes/:
* disassemble.c (disassemble_init_for_target) <case
bfd_arch_ia64>: Set skip_zeroes to 16.
<case bfd_arch_tic4x>: Set skip_zeroes to 32.
* 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.
* readelf.c (process_debug_info): New.
(debug_info): Add num_loc_offsets, loc_offsets and
last_loc_offset_p.
(get_debug_info): Use process_debug_info.
(display_debug_loc): Properly handle location list. Warn if bad
location lists are encoutnered.
(read_and_process_attr_value): New.
(read_and_display_attr_value): Use "%lx" for DW_FORM_data4.
(display_debug_info): Use process_debug_info.
(process_object): Also free loc_offsets in debug_information.
New variables associated with obtaining the pointer size for a comp_unit.
(get_pointer_size_of_comp_unit): Add an extra parameter - the name of the
section requesting the pointer size. Use this name in error messages. If
there are not enough comp_units available produce a warning message, but
return the last known pointer size so that section dumping can continue.
(get_debug_info): Reset the new variables.
(display_debug_lines): Add extra parameter to invocation of
get_pointer_size_of_comp_unit and remove error message when it returns 0.
(display_debug_loc): Likewise.
2004-12-15 Jan Beulich <jbeulich@novell.com>
* doc/binutils.texi: Document --strip-unneeded-symbol and
--strip-unneeded-symbols.
* objcopy.c (strip_unneeded_list): New.
(enum command_line_switch): Add OPTION_STRIP_UNNEEDED_SYMBOL
and OPTION_STRIP_UNNEEDED_SYMBOLS.
(copy_options): Add --strip-unneeded-symbol and
--strip-unneeded-symbols.
(copy_usage): Likewise.
(filter_symbols): Suppress copying of symbol if in strip_unneeded_list
and the symbol is not needed.
(copy_main): Handle OPTION_STRIP_UNNEEDED_SYMBOL and
OPTION_STRIP_UNNEEDED_SYMBOLS.
config.texi whose value is the current month and year.
* doc/Makefile.in: Rebuild.
* doc/binutils.texi: Set the document subtitle to be the value of
the Texinfo UPDATED variable (obtained from config.texi).
* doc/binutils.texi (def file format): New node.
(dlltool): Use the tool name as the @chapter name, like all the
other binutils. Use @file{.def} throughout for consistency.
unw_aux_info and unw_table_entry.
(find_symbol_for_address): Pass symtab and strtab info explicitly.
(dump_ia64_unwind): Rename unw_{aux_info,table_entry} with ia64_
prefix.
(slurp_ia64_unwind_table): Likewise.
(ia64_process_unwind): Rename from old process_unwind.
(hppa_unw_aux_info): New.
(dump_hppa_unwind): New.
(slurp_hppa_unwind_table): New.
(hppa_process_unwind): New.
(process_unwind): Factor out common unwinding checks; dispatch to
unwind handler based on machine type.
out of stab_demangle_v3_argtypes.
(stab_demangle_v3_argtypes): Call it.
(stab_demangle_v3_arg): Handle DEMANGLE_COMPONENT_FUNCTION_TYPE.
If we find an unrecognized component, print out its number.
* readelf.c (dynamic_strings_length): New global variable.
(VALID_DYNAMIC_NAME, GET_DYNAMIC_NAME): New macros for accessing
strings in the dynamic string table.
(process_section_headers): Initialise dynamic_strings_length.
(process_dynamic_section): Likewise.
(process_object): Reset dynamic_string_length when the buffer is freed.
(dynamic_sections_mips_val): Use the new macros.
(process_dynamic_section): Likewise.
(process_version_sections): Likewise.
(process_symbol_table): Likewise.
(process_syminfo): Likewise.
(process_mips_specific): Likewise.
(dump_relocations): Add a new parameter 'strtablen' and use this to verify that
string offset in a given reloc is valid. Print a suitable error message
otherwise.
(process_relocs): Pass the new argument to dump_relocations.