* dlltool.c: Define exit status macros for _WIN32 but not
__CYGWIN32__.
(gen_lib_file): Check for exit status of unlink.
* resrc.c: Define popen and pclose if _WIN32 but not
__CYGWIN32__.
* objcopy.c (copy_archive): Only pass one argument to mkdir if
_WIN32 but not __CYGWIN32__.
(smart_rename): Add code for _WIN32 (not __CYGWIN32__), to cope
with different rename behaviour and lack of chown.
* dlltool.c: Never include vfork.h.
(run): Use pexecute rather than vfork.
(gen_lib_file): Check for errors from bfd_set_archive_head and
bfd_close. Close all the BFDs in the archive before deleting the
temporary files.
(addrsize, toolname, rnames): New variables.
(writeINT): Use addrsize.
(wr_un): Use toolname.
(wr_hd): Set up addrsize et al properly for h8300[hs].
(walk_tree_symbol): Zero dsy. Use rnames.
(wr_un, wr_hd, wr_ob, wr_du): Use proper bfd access macros.
* sysdump.c (sh, h8300): Delete variables.
(addrsize): New variable.
(getINT): Use it.
(getone): Initialize it.
(getBITS): Range check on MAX.
* rcparse.y (acc_entry): Warn if an inappropriate modifier is used
with a non VIRTKEY.
(acc_event): For a control character, set VIRTKEY, and force the
character to uppercase.
(acc_options): Don't require a comma separator.
* 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.
* Many files: Add function prototypes.
* ar.c (mri_emul, get_pos_bfd): Make static.
* arlex.l: Include "libiberty.h". Don't declare strdup. Use
xstrdup rather than strdup.
* arparse.y (yyerror): Make argument const. Correct typo.
* arsup.c (strdup): Don't declare.
(ar_save): Use xstrdup rather than strdup.
* filemode.c: Include "bucomm.h".
* nm.c (usage): Make static.
(print_symname): Make format and name const.
* objcopy.c (cat): Remove.
(copy_archive): Make output_target const. Use concat, not cat.
(copy_file, simple_copy, smart_rename): Make arguments const.
* objdump.c (read_section_stabs): Likewise.
(print_section_stabs): Likewise.
(display_target_tables): Don't declare getenv.
* strings.c (strings_object_file): Change file to const.
(print_strings): Change filename to const.
* Makefile.in: Rebuild dependencies.
Tue Mar 18 11:37:24 1997 Ian Lance Taylor <ian@cygnus.com>
* configure.in: Add BFD_NEED_DECLARATION(getenv).
* acconfig.h: Add NEED_DECLARATION_GETENV.
* bucomm.h (getenv): Declare if NEED_DECLARATION_GETENV.
* configure, config.in: Rebuild.
* nlmconv.c (getenv): Don't declare.
(usage): Mention --adjust-section-vma.
(OPTION_ADJUST_VMA): Define.
(long_options): Add "addjust-vma".
(display_bfd): If adjust_section_vma is not 0, add it to all the
section addresses.
(main): Handle OPTION_ADJUST_VMA.
* binutils.texi, objdump.1: Document --adjust-vma.
* 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_enum_type): If the enum tag has been seen before but not
defined, reuse the same type index, and define it.
(ieee_tag_type): If this enum has not been defined, add an
undefined entry to the list of enums.
PR 10946.
(long_options): Add "prefix-addresses".
(compare_symbols): Sort BSF_FUNCTION symbols before other
symbols.
(find_symbol_for_address): New static function, broken out of
objdump_print_address.
(objdump_print_addr_with_sym): New static function, broken out of
objdump_print_address.
(objdump_print_address): Call new functions.
(disassemble_bytes): New static function, broken out of
disassemble_data. Change disassembly format, unless
prefix_addresses is set.
(disassemble_data): Call disassemble_bytes. Unless
prefix_addresses is set, disassemble in chunks headed by a
symbol.
* binutils.texi, objdump.1: Document --prefix-addresses.