* dllwrap.c (strhash): New function.
(main): Use it to supply image base if not supplied by user.
(program_version): Up to 0.2.4.
Mon Oct 26 14:07:59 1998 Mumit Khan <khan@xraylith.wisc.edu>
* dlltool.c (add_stdcall_alias): New global.
(long_options): Add --add-stdcall-alias option.
(main): Handle it.
(scan_drectve_symbols): Add alias if --add-stdcall-alias is
specified.
(scan_filtered_symbols): Likewise.
(gen_def_file): Output alias for stdcall syms if appropriate.
* binutils.texi (dlltool): Document --add-stdcall-alias option.
* dllwrap.c (long_options): Add --add-stdcall-alias option.
(main): Handle it.
* defparse.y (opt_name): Allow "." in name.
* dlltool.c (def_name): Set dll_name from NAME entry in def file.
(def_library): Set dll_name from LIBRARY entry in def file.
Mon Oct 26 14:07:59 1998 Mumit Khan <khan@xraylith.wisc.edu>
* dllwrap.c (long_options): --implib synonym for --output-lib.
(main): Pass --export-all to dlltool only if specified.
(program_version): Up to 0.2.3.
Mon Oct 26 14:07:59 1998 Mumit Khan <khan@xraylith.wisc.edu>
* dllwrap.c (mybasename): New function.
(main): Run dlltool to create export definition file and import
library file if necessary.
Change exp_file_name so that it's based on the dll name.
(main): Don't treat '?' as a special case in getopt return.
* binutils.texi (dlltool): Document new options. Add some uses of
@var.
Wed Aug 19 16:19:07 1998 Mumit Khan <khan@xraylith.wisc.edu>
* dlltool.c (gen_def_file): Plug memory leak. Don't print
demangled name if it is NULL.
Support for exporting all symbols to an output export def file:
* dlltool.c ({export_all_symbols, no_default_excludes,
no_default_excludes, excludes}): New file static variables.
(struct string_list): Type to hold list of symbols to exclude.
(scan_drectve_symbols): Renamed from scan_open_obj_file.
(scan_filtered_symbols): New static function.
(add_excludes): New static function.
(match_exclude): New static function.
(set_default_excludes): New static function.
(filter_symbols): New static function.
(scan_all_symbols): New static function.
(scan_open_obj_file): New static function.
(usage): Document new options.
(long_options): Add new options.
(main): Handle new options.
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.
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.
(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.
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.
(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.
(usage): Mention -EB/-EL/--endian.
(long_options): Add "endian".
(disassemble_data): If endianness was specified, replace
abfd->xvec with a copy of itself with the given endianness.
(main): Handle -EB/-EL/--endian.
* binutils.texi, objdump.1: Mention -EB/-EL/--endian.
* 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.
* objdump.c (show_raw_insn): New global.
(usage): Update.
(long_options): Update.
(disassemble_data): Set disasm_info.flags if --show-raw-insn.
* objdump.c (disassemble_data): Set new arch,mach,endian fields in
disasm_info.
(stop_address): New variable.
(usage): Mention --start-address and --stop-address.
(OPTION_START_ADDRESS, OPTION_STOP_ADDRESS): Define.
(long_options): Add "start-address" and "stop-address".
(disassemble_data): Handle start_address and stop_address.
(dump_data, dump_reloc_set): Likewise.
(main): Don't set seenflag for -l. Handle OPTION_START_ADDRESS
and OPTION_STOP_ADDRESS.
* objcopy.c (parse_vma): Move to bucomm.c.
* bucomm.c (parse_vma): New function, moved in from objcopy.c.
* bucomm.h (parse_vma): Declare.
* binutils.texi, objdump.1: Document new objdump options.
PR 7983.
replacing a member, and 'a' when adding one.
* ar.c (truncate): New static variable.
(normalize): Change return type to const char *. Add abfd
argument. Change all callers. If truncate, chop the filename to
abfd->ar_max_namelen.
(main): For the 'f' modifier, set truncate to true. Don't change
quick_append to replace to truncate is true.
(do_quick_append): If truncate, set BFD_TRADITIONAL_FORMAT.
(write_archive): Likewise.
* binutils.texi, ar.1: Document 'f' modifier.
PR 6888.