* rclex.l (handle_quotes): Handle standard escape sequences. Warn
about an unrecognized escape character.
* windres.c (unicode_print): Print standard escape sequences.
* rcparse.y (acc_event): Initialize $$.next.
* resbin.c (bin_to_res_menuitems): Don't set MENUITEM_POPUP or
MENUITEM_ENDMENU in the menu item flags.
(bin_to_res_accelerators): Allocate a structure (the old code
never worked).
(res_to_bin_accelerator): Correct the test for setting ACC_LAST.
(res_to_bin_dialog): Save the extended style rather than saving
the style twice. Remove useless shadowing length variable. Set
the length of control data correctly.
* resrc.c (write_rc_dialog): Don't print the class or menu if the
string length is zero.
Check for `contents' flag. Give an error for unrecognized flags.
(copy_section): If the contents flag was set for a section that
had no contents, zero out the new contents.
* binutils.texi (objcopy): Document contents section flag.
PR 10601.
(lineno_cache_rel_bfd): New file static variable.
(display_archive): Clear lineno_cache_bfd and lineno_cache_rel_bfd
when closing a BFD.
(display_file): Likewise.
(print_symbol): Use lineno_cache_bfd and lineno_cache_rel_bfd
instead of cache_bfd and cache_rel_bfd. Make seccount static, and
only set it when setting relocs.
weaken_specific_list): New variables.
(keep_symbols): Removed.
(add_specific_symbol): New function from the carcas of
add_strip_symbol. Takes a list as an argument.
(is_specified_symbol): Likewise from is_strip_symbol.
(filter_symbols): Honor the new privatize and weaken lists.
Optimize bfd_asymbol_name handling.
(copy_object, copy_options, copy_usage): Add privatize-symbol &
weaken-symbol options.
* objcopy.1, binutils.texi: Update docs.
(install-exec-local): When handling $(noinst_PROGRAMS), only use
$(EXEEXT) on the installed file. When handling $(TOOL_PROGS),
handle $(EXEEXT) correctly.
* configure.in: Add an explicit $(EXEEXT) when substituting for
the name of a program to build.
* Makefile.in, configure: Rebuild.
* acinclude.m4: New file, from old aclocal.m4.
* configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL. Remove
shared library handling; now handled by libtool. Replace
AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AC_PROG_YACC,
AC_PROG_LEX, AC_DECL_YYTEST, AM_MAINTAINER_MODE, AM_CYGWIN32, and
AM_EXEEXT. Replace AC_PROG_INSTALL with AM_PROG_INSTALL. Remove
stamp-h handling in AC_OUTPUT.
* acconfig.h: Mention PACKAGE and VERSION.
* stamp-h.in: New file.
* Makefile.in: Now built with automake.
* aclocal.m4: Now built with aclocal.
* config.in, configure: Rebuild.
* rcparse.y (dialog): Default menu and class to be named.
(styles): If FONT is seen, set DS_SETFONT in dialog style.
* resbin.c (res_to_bin_dialog): Correct computation of font
information length.
* windres.h: New file.
* windres.c: New file.
* resrc.c: New file.
* rcparse.y: New file.
* rclex.l: New file.
* configure.in: Define and substitute BUILD_WINDRES.
* configure: Rebuild.
* Makefile.in: Rebuild dependencies.
(WINDRES_PROG): New variable.
(PROGS): Add @BUILD_WINDRES@.
(HFILES): Add dlltool.h and windres.h.
(CFILES): Add windres.c and resrc.c.
(GENERATED_CFILES): Add rcparse.c and rclex.c.
(WINDRES_OBJS): New variable.
$(WINDRES_PROG): New target.
(rcparse.c, rcparse.h, rclex.c): New targets.
Snapshot. windres can parse and print rc files.
(def_exports): Add data parameter. Change all callers.
(dump_def_info): Print data field.
(gen_def_file): Likewise.
(make_one_lib_file): Handle data field by not emitting simple
label and not emitting anything in SEC_TEXT.
(dtab): Print data field.
(process_duplicates): Merge data field.
* dlltool.h (def_exports): Update declaration.
* defparse.y (expline): Accept opt_DATA. Pass it to def_exports.
(opt_DATA): New non-terminal.
* deflex.l: Include dlltool.h and libiberty.h. Don't declare
strdup. Use xstrdup rather than strdup.
* defparse.y: Include bfd.h, bucomm.h, and dlltool.h.
* dlltool.c: Include dlltool.h and time.h. Make a lot of
variables and functions static. Make a lot of char * variables
and parameters const. Add declarations for static functions. Do
some reindenting. Hide more PowerPC stuff inside DLLTOOL_PPC.
(INSTALL_XFORM, INSTALL_XFORM1): Remove.
(install): Depend upon installdirs. Use $(program_transform_name)
directly, rather than using $(INSTALL_XFORM) and
$(INSTALL_XFORM1).
(installdirs): New target.
(install-info): Run mkinstalldirs.
* Makefile.in ($(OBJDUMP_PROG)): Don't link against BFDLIB twice.
* configure.in: Add AC_ARG_ENABLE for commonbfdlib. If it is set,
set OPCODES to empty.
* configure: Rebuild.
* objdump.c (disassemble_bytes): Make output of raw instructions
work better for non-standard values of bytes_per_chunk and
bytes_per_line.
I also fixed the spacing in the last patch.
(push_bincl): Put the new file on both bincl_list and
bincl_stack. Clear the file_types field.
(pop_bincl): Use the next_stack field when popping the stack.
Don't put the file on bincl_list.
(find_excl): Include the file name when warning about an unfound
N_EXCL.
* debug.c (debug_type_samep): Don't crash if we are passed NULL.
PR 11465.
Change all callers.
(objdump_print_addr_with_sym): Likewise. Call objdump_print_value
to print address.
(objdump_print_addr): New static function.
(objdump_print_address): Just call objdump_print_addr.
(disassemble_bytes): Print real address, not function offset.
Skip a certain number of leading zeroes.
* objdump.c (disassemble_zeroes): New static variable.
(usage): Mention --disassemble-zeroes.
(long_options): Add "disassemble-zeroes".
(disassemble_bytes): Check disassemble_zeroes.
Changes requested by LSI.
(parse_stab): Pass value to push_bincl. Call find_excl for
N_EXCL.
(struct bincl_file): Add hash, file and file_types fields.
(push_bincl): Add hash parameter. Save it in the new hash field.
Save the file number in the new file field.
(pop_bincl): Put the bincl_file on bincl_list, rather than freeing
it. Save the file types in the new file_types field.
(find_excl): New static function.
PR 10980.
(start_stab): Initialize function_end.
(finish_stab): Pass info->function_end to debug_end_function.
(parse_stab): If info->function_end is set, use it as the address
which ends a function.
that are up to 0x1000 bytes apart, not just 64.
(ieee_add_bb11_blocks): Don't bother to emit a BB11 that is less
than 0x100 bytes.
(ieee_lineno): Only emit line numbers that are less than
info->highaddr.
(ieee_pointer_type): Set reflocalp after pushing type.
(ieee_function_type): If reflocalp is set, make this type local.
(ieee_range_type, ieee_array_type, ieee_set_type): Likewise.
(ieee_const_type, ieee_volatile_type): Likewise.
(ieee_struct_field, ieee_class_baseclass): Likewise.
PR 10638.
(parse_ieee_bb): When starting a BB1, initialize the types field
to the global_types field.
(parse_ieee_be): When ending a BB2, copy the types field to the
global_types field.
(struct stab_write_handle): Change strings to a pointer to
string_hash_entry. Add last_strings field. Remove strings_alloc
field.
(string_hash_newfunc): Initialize next field.
(stab_write_symbol): Copy string into hash table rather than into
buffer. Keep a list of hash table entries.
(write_stabs_in_sections_debugging_info): Initialize last_string.
Copy strings from list of hash table entries in memory.
(stab_modify_type): If the entry on the stack is a definition,
make a new definition rather than failing an assert.
(stab_array_type): The size is only zero if high is strictly less
than low.
PR 10377.
* configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk.
* acconfig.h (NEED_DECLARATION_STRSTR): New macro.
(NEED_DECLARATION_SBRK): New macro.
* configure, config.in: Rebuild.
* bucomm.h (strstr): Declare if NEED_DECLARATION_STRSTR.
(sbrk): Declare if HAVE_SBRK and NEED_DECLARATION_SBRK.
(start_stab): Add abfd parameter.
(parse_stab_string): Skip the symbol leading char when searching
for the value of a global symbol.
* budbg.h (start_stab): Update declaration.
* rddbg.c (read_section_stabs_debugging_info): Pass abfd to
start_stab.
(read_symbol_stabs_debugging_info): Likewise.
* objdump.c (disassemble_data): Make sure sym_name is always set.
(dump_section_header): Always put a space after the section name.
(dump_bfd_header): Terminate output with newline.
each stab entry, call stab_context on an error, and call
free_saved_stabs before rturning.
(read_symbol_stabs_debugging_info): Likewise.
(SAVE_STABS_COUNT): Define.
(struct saved_stab): Define.
(saved_stabs, saved_stabs_index): New static variables.
(save_stab, stab_context, free_saved_stabs): New static functios.
* objcopy.c (remove_leading_char): New static variable.
(OPTION_REMOVE_LEADING_CHAR): Define.
(copy_usage): Mention --remove-leading-char.
(filter_symbols): If remove_leading_char, and the first character
of a global symbol matches the symbol leading char of the BFD,
remove the first character.
(copy_object): Filter the symbols if remove_leading_char is set.
(copy_main): Handle --remove-leading-char.
* binutils.texi, objcopy.1: Document --remove-leading-char.