blob: 883aa5c08511d354c992893676d7f10bc0d34457 [file] [log] [blame]
Mon Dec 29 16:58:05 1997 Ian Lance Taylor <>
From Matthew Bellantoni <>:
* ar.c (get_pos_bfd): Add default_posname parameter. Change all
(replace_members): Default to replacing in the same position.
Mon Dec 22 11:27:22 1997 Ian Lance Taylor <>
* rclex.l: Don't permit a comma in a STRING.
* 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.
Tue Dec 9 13:25:42 1997 Michael Meissner <>
* size.c (size_number): New function to provide size of field.
({l,r}print_number): For octal and hex fields, print field using
'0' and '0x' suffixes. Do not include following tab.
(sysv_internal_sizer): Size section name, section size, and vma
address fields.
(sysv_internal_printer): Use calculated sizes for the columns.
(print_sysv_format): Size columns before printing.
(print_berkeley_format): Print tabs between numbers now that
{l,r}print_number doesn't. Print fields right justified.
Mon Dec 8 11:22:04 1997 Nick Clifton <>
* objdump.c (objdump_print_addr_with_sym): Remove call to
disasm_symaddr() as this function no longer exists.
Tue Dec 2 10:23:50 1997 Nick Clifton <>
* objdump.c (objdump_print_addr_with_sym): Call disasm_symaddr()
to allow backend to know which symbol has just been displayed.
Tue Dec 2 13:06:46 1997 Ian Lance Taylor <>
* windres.h (ESCAPE_*): Define standard escape sequences.
* 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.
Mon Nov 24 18:52:43 1997 Andreas Schwab <>
* stabs.c (parse_stab_argtypes): Don't try to parse the name of a
destructor as mangled argument types.
Mon Nov 10 17:51:41 1997 Gavin Koch <>
* addr2line.c (translate_addresses): Use bfd_scan_vma rather
than strtol to scan addresses.
Sun Nov 9 11:01:31 1997 Jeffrey A Law (
* (bin_PROGRAMS): Don't use line continuations here.
Tue Nov 4 11:56:14 1997 Ian Lance Taylor <>
* objcopy.c (copy_section): Don't crash if there is no particular
information for a section.
Mon Nov 3 12:36:19 1997 Ian Lance Taylor <>
* objcopy.c (parse_flags): Make flag check case insensitive.
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.
Sun Nov 2 14:49:56 1997 Ian Lance Taylor <>
* objcopy.c: Move new struct and variable definitions to top of
file. Remove obsolete add_strip_symbol and is_strip_symbol
declarations. Add prototype declarations for add_specific_symbol
and is_specified_symbol.
Mon Oct 20 15:31:43 1997 Klaus K"ampf <>
* (HAVE_SBRK): Undefine.
Tue Oct 14 16:14:35 1997 Nick Clifton <>
* objdump.c (objdump_symbol_at_address): New function. Returns
true if a symbol can be found at the address passed in.
(disassemble_data): Set the symbol_at_address_func field to point
to objdump_symbol_at_address.
Fri Oct 10 14:13:09 1997 Richard Henderson <>
* objcopy.c, objcopy.1, binutils.texi: "localize" is a better name
than "privatize". Update all references.
Thu Oct 9 15:57:29 1997 Ian Lance Taylor <>
* binutils.texi (strip): Remove duplicate --target. From Marty
Leisner <>.
* nm.c (lineno_cache_bfd): New file static variable.
(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.
Wed Oct 8 21:19:11 1997 Richard Henderson <>
* objcopy.c (keep_specific_list, privatize_specific_list,
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.
Sun Oct 5 09:05:44 1997 Frank Ch. Eigler <>
* objdump.c (disassemble_data): Make "--prefix-addresses"
disassembly adjust to mixed-length instructions.
(objdump_print_addr_with_sym): Add "0x" prefix for hexadecimal
symbol-offsets in disassembly.
Fri Oct 3 12:04:25 1997 Ian Lance Taylor <>
* objcopy.c (set_times): New static function, replacing
(strip_main): If preserve_dates, stat the input file before
copying it, and call set_times afterward.
(copy_main): Likewise.
* wrstabs.c (write_stabs_in_sections_debugging_info): Cast p to
char * when calling strcpy and strlen.
Wed Sep 24 11:34:05 1997 Ian Lance Taylor <>
* binutils.texi (ar cmdline): Document that q now works like r.
From Marty Leisner <>.
* binutils.texi (size): The object file argument is optional.
From Marty Leisner <>.
* aclocal.m4: Rebuild with new libtool.
* configure: Rebuild.
Tue Aug 26 17:48:34 1997 Ian Lance Taylor <>
* (EXEEXT_FOR_BUILD): New variable. Use it in all
references to the sysinfo program.
* Rebuild with new bfd/acinclude.m4.
* Rebuild.
Fri Aug 8 15:32:49 1997 Ian Lance Taylor <>
* windres.c: Include <time.h>.
(define_resource): Set a timestamp for the resource.
Wed Aug 6 13:37:58 1997 Ian Lance Taylor <>
* Define TARGET in header file.
* acconfig.h (TARGET): Add #undef.
* (version.o, bucomm.o): Remove special targets.
* bucomm.c (target): Remove.
* nm.c (program_name): Don't declare.
(target): Make static.
* size.c (target): Make static.
* configure,, Rebuild.
Tue Aug 5 00:01:41 1997 Ian Lance Taylor <>
* (check-DEJAGNU): Export r.
(.dep1): Use $(INCLUDES) rather than $(ALL_CFLAGS).
* Rebuild.
* nlmheader.y: Use VERSIONK rather than VERSION.
* (STRIP_PROG): Change from to strip-new.
(NM_PROG): Change from to nm-new.
(TOOL_PROGS, install-exec-local): Adjust accordingly.
* Rebuild.
Mon Aug 4 11:47:31 1997 Ian Lance Taylor <>
* Remove AC_ARG_PROGRAM; it's invoked by
* configure: Rebuild.
* (install-exec-local): Create $(tooldir)/bin before
trying to install anything into it.
* Rebuild.
* (TOOL_PROGS): Use an explicit $(EXEEXT).
(install-exec-local): When handling $(noinst_PROGRAMS), only use
$(EXEEXT) on the installed file. When handling $(TOOL_PROGS),
handle $(EXEEXT) correctly.
* Add an explicit $(EXEEXT) when substituting for
the name of a program to build.
*, configure: Rebuild.
* aclocal.m4, configure, Rebuild with new automake
* deflex.l, defparse.y: Use VERSIONK rather than VERSION.
* rclex.l, rcparse.y: Likewise.
* (windres_SOURCES): Add $(BULIBS).
* Rebuild.
Fri Aug 1 13:08:39 1997 Ian Lance Taylor <>
* acinclude.m4: Include bfd/acinclude.m4, not bfd/acmacros.m4.
* aclocal.m4, configure: Rebuild with new libtool.
Thu Jul 31 11:51:35 1997 Ian Lance Taylor <>
* New file, based on old
* acinclude.m4: New file, from old aclocal.m4.
shared library handling; now handled by libtool. Replace
stamp-h handling in AC_OUTPUT.
* acconfig.h: Mention PACKAGE and VERSION.
* New file.
* Now built with automake.
* aclocal.m4: Now built with aclocal.
*, configure: Rebuild.
From Ton van Overbeek <>:
* 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.
Wed Jul 30 11:21:06 1997 Ian Lance Taylor <>
From Ton van Overbeek <>:
* resbin.c (res_to_bin_menu): Correct computation of menu
vs. menuex length.
* resrc.c (define_stringtable): Add 1 to resource ID.
Tue Jul 29 11:06:03 1997 Ian Lance Taylor <>
* resbin.c (bin_to_res_string): Correct adjustment of data and
length. From Ton van Overbeek <>.
Tue Jul 22 18:01:23 1997 Ian Lance Taylor <>
* nlmconv.c (link_inputs): Call libiberty pexecute function.
(pexecute) [multiple versions]: Remove.
Tue Jul 22 16:19:34 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
* bucomm.c (make_tempname): If we might be using a DOS filesystem,
check for a backslash as well as a slash.
Thu Jun 26 13:53:17 1997 Ian Lance Taylor <>
* windres.c (main): Quit if we didn't get any resources.
(usage): Fix --yydebug usage message.
* rescoff.c (write_coff_file): Don't free the relocation array
until after we've closed the BFD.
(read_coff_rsrc): Quit rather than try to read standard input.
(write_coff_file): Quit rather than try to write to standard
* rcparse.y: Add a couple of missing semicolons (accepted by bison
but not byacc).
* binutils.texi: Document windres.
Wed Jun 25 20:57:06 1997 Ian Lance Taylor <>
* resbin.c: New file.
* rclex.l, rcparse.y, rescoff.c, resrc.c, windres.c, windres.h:
Numerous fixes and improvements.
* Rebuild dependencies.
(CFILES): Add resbin.c.
(WINDRES_OBJS): Add resbin.o.
Sun Jun 22 17:29:41 1997 Ian Lance Taylor <>
First stab at Windows resource compiler:
* windres.h: New file.
* windres.c: New file.
* resrc.c: New file.
* rcparse.y: New file.
* rclex.l: New file.
* rescoff.c: New file.
* Define and substitute BUILD_WINDRES.
* configure: Rebuild.
* Rebuild dependencies.
(WINDRES_PROG): New variable.
(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.
Thu Jun 12 12:27:51 1997 Ian Lance Taylor <>
* dlltool.c (export_type): Add data field.
(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.
Wed Jun 11 17:15:47 1997 Ian Lance Taylor <>
* dlltool.h: New file.
* 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.
Wed Jun 11 12:05:52 1997 H.J. Lu <>
* ar.c (bfd_special_undocumented_glue): Add const.
Mon May 12 22:09:35 1997 Bob Manson <>
to runtest.
Mon May 12 13:14:22 1997 Ian Lance Taylor <>
* Don't clear OPCODES when --enable-commonbfdlib is
used on HP/UX.
* configure: Rebuild.
Fri Apr 25 14:22:08 1997 H.J. Lu <>
* (maintainer-clean realclean): Change *.info*
to* to save
Tue Apr 15 13:42:22 1997 Ian Lance Taylor <>
* (INSTALL): Set to @INSTALL@.
(install): Depend upon installdirs. Use $(program_transform_name)
directly, rather than using $(INSTALL_XFORM) and
(installdirs): New target.
(install-info): Run mkinstalldirs.
Mon Apr 14 11:52:39 1997 Ian Lance Taylor <>
* (INSTALL): Change to install-sh.
From Thomas Graichen <>:
* Always use $(SHELL) when running move-if-change.
* Use ${CONFIG_SHELL} when running $ac_config_sub.
* configure: Rebuild.
Fri Apr 4 13:28:02 1997 Ian Lance Taylor <>
* configure, Rebuild.
* bucomm.h: Add alloca handling, copied from gas/as.h.
* dlltool.c: Add #pragma alloca for AIX to start of file.
* nlmconv.c: Likewise.
* (distclean): Remove site.exp and site.bak. Remove
everything that clean removes.
Thu Apr 3 13:18:39 1997 Ian Lance Taylor <>
* (VERSION): Set to 2.8.1.
* Branched binutils 2.8.
Tue Apr 1 16:21:44 1997 Klaus Kaempf <>
* New file.
* config.h-vms: Remove file.
* makefile.vms: Update for new configure scheme.
Mon Mar 31 15:30:43 1997 Philippe De Muyter <>
* objcopy.c (make_same_dates): Use statbuf, not buf, if not
Fri Mar 28 17:57:53 1997 Alan Modra <>
* ($(OBJDUMP_PROG)): Don't link against BFDLIB twice.
* Add AC_ARG_ENABLE for commonbfdlib. If it is set,
set OPCODES to empty.
* configure: Rebuild.
Thu Mar 27 16:03:02 1997 Ian Lance Taylor <>
Based on patch from Marty Leisner <>:
* objcopy.c: Include <utime.h> or <sys/time.h>.
(strip_options): Add "preserve-dates".
(copy_options): Likewise.
(copy_usage): Mention -p and --preserve-dates.
(strip_usage): Likewise.
(make_same_dates): New static function.
(strip_main): Handle -p.
(copy_main): Likewise.
* binutils.texi, strip.1, objcopy.1: Document new option.
addr2line.c contributed by Ulrich Lauther
* addr2line.c: New file.
* Rebuild dependencies.
(ADDR2LINE_PROG): New variable.
(MANPAGES): Add addr2line.
(CFILES): Add addr2line.c.
($(ADDR2LINE_PROG)): New target.
* binutils.texi: Document addr2line.
* addr2line.1: New file.
* version.c (print_version): Update copyright date.
Mon Mar 24 10:52:45 1997 Andreas Schwab <>
* objdump.c (disassemble_data): Don't exit if a file cannot be
disassembled, instead just return.
Thu Mar 20 21:16:51 1997 Jeffrey A Law (
* size.c (usage): Make definition match its prototype.
(display_bfd, lprint_number, rprint_number): Likewise.
(print_berkeley_format, sysv_internal_printer): Likewise.
(print_sysv_format): Likewise.
* nm.c (set_print_radix, set_output_format): Likewise.
* objcopy.c (filter_bytes): Likewise.
Tue Mar 18 16:39:55 1997 H.J. Lu <>
* 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.
* Rebuild dependencies.
Tue Mar 18 11:37:24 1997 Ian Lance Taylor <>
* bucomm.h (getenv): Declare if NEED_DECLARATION_GETENV.
* configure, Rebuild.
* nlmconv.c (getenv): Don't declare.
* Rebuild dependencies.
Sat Mar 15 15:35:56 1997 Ian Lance Taylor <>
Based on patches from Jamie Lokier <>:
* objdump.c: Include "demangle.h".
(do_demangle): New static variable.
(usage): Mention -C/--demangle.
(long_options): Add "demangle".
(objdump_print_symname): New static function.
(objdump_print_addr_with_sym): Use objdump_print_symname.
(disassemble_bytes): Likewise.
(dump_reloc_set): Likewise.
(dump_symbols): Demangle symbol name.
(main): Handle -C.
* binutils.texi, objdump.1: Document -C/--demangle.
* objdump.c (usage): Mention --no-show-raw-insn.
(long_options): Add "no-show-raw-insn".
(disassemble_bytes): Handle --no-show-raw-insn.
* binutils.texi, objdump.1: Document --no-show-raw-insn.
Wed Mar 12 11:42:00 1997 Andreas Schwab <>
* rddbg.c (free_saved_stabs): Set the strings to NULL after being
Fri Feb 28 17:18:45 1997 Ian Lance Taylor <>
* bucomm.c (set_default_bfd_target): New function.
* bucomm.h (set_default_bfd_target): Declare.
* ar.c (main): Call set_default_bfd_target.
* nlmconv.c (main): Likewise.
* nm.c (main): Likewise.
* objcopy.c (main): Likewise.
* objdump.c (main): Likewise.
* size.c (main): Likewise.
* strings.c (main): Likewise.
* (bucomm.o): New target, to define TARGET.
Tue Feb 25 21:28:38 1997 Ian Lance Taylor <>
* objdump.c (adjust_section_vma): New static variable.
(usage): Mention --adjust-section-vma.
(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.
Fri Feb 14 18:46:47 1997 Ian Lance Taylor <>
* nm.c (print_symbol): Cache the BFD as well as the symbols and
relocs, and don't try to use the symbols or relocs with a
different BFD.
Thu Feb 13 21:34:43 1997 Klaus Kaempf (
* config.h-vms: sbrk() is provided on openVMS/Alpha.
* makefile.vms: allow compiling with current gcc snapshot.
Thu Feb 13 20:14:40 1997 Ian Lance Taylor <>
* arsup.c, coffgrok.c, dlltool.c, nlmconv.c: Use xmalloc rather
than malloc.
Wed Feb 12 16:12:02 1997 Ian Lance Taylor <>
* objdump.c (disassemble_data): Correct VMA argument to
find_symbol_for_address. Improve handling of code with no symbol
followed by code with a symbol.
Wed Feb 12 12:16:47 1997 Andreas Schwab <>
* objdump.c (disassemble_bytes): Make output of raw instructions
work better for non-standard values of bytes_per_chunk and
Thu Feb 6 14:14:59 1997 Martin M. Hunt <>
* objdump.c (disassemble_bytes): Added code to allow some control
over the way raw instructions are displayed.
Thu Feb 6 12:36:03 1997 Ian Lance Taylor <>
* stabs.c (struct bincl_file): Add next_stack field.
(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
* debug.c (debug_type_samep): Don't crash if we are passed NULL.
Thu Feb 6 11:54:24 1997 Alan Modra <>
* objcopy.1: Add missing space after .B.
Fri Jan 31 10:33:07 1997 Andreas Schwab <>
* objdump.c (disassemble_data): Initialize `aux.require_sec'.
Wed Jan 29 13:21:21 1997 Ian Lance Taylor <>
* objdump.c (objdump_print_value): Add skip_zeroes parameter.
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.
Tue Jan 28 16:47:26 1997 Ian Lance Taylor <>
* objdump.c (disassemble_bytes): Don't skip zeroes if the
disassembler has told us that we are in a branch delay slot.
Mon Jan 20 14:24:04 1997 Ian Lance Taylor <>
* size.c (berkeley_sum): Rewrite. Skip sections which are not
SEC_ALLOC. Count SEC_READONLY sections as text.
Tue Jan 14 15:14:14 1997 Ian Lance Taylor <>
* (maintainer-clean realclean): Remove *.info*, not
just *.info. From H.J. Lu <>.
Tue Dec 31 15:42:54 1996 Ian Lance Taylor <>
Fri Dec 27 11:19:26 1996 Ian Lance Taylor <>
* Work around bug in AC_FUNC_VFORK in autoconf 2.12.
* configure: Rebuild.
Thu Dec 19 13:11:20 1996 Ian Lance Taylor <>
Based on patch from Andrew J Klossner <>:
* objcopy.c (OPTION_WEAKEN): Define.
(copy_options): Add "weaken".
(copy_usage): Mention --weaken.
(weaken): New static variable.
(filter_symbols): Handle weaken.
(copy_object): Call filter_symbols if weaken.
(copy_main): Handle OPTION_WEAKEN.
* binutils.texi, objcopy.1: Document --weaken.
Wed Dec 18 22:49:13 1996 Stan Shebs <>
* mpw-make.sed: Use NewFolderRecursive for installation.
Sat Dec 7 10:17:25 1996 Jeffrey A Law (
* (install): Add "else true" clause to cater to
broken "make" on some systems.
Fri Dec 6 17:21:41 1996 Ian Lance Taylor <>
* ieee.c (parse_ieee_bb): Always initialize namcopy to avoid gcc
warning about uninitialized variable.
(ieee_read_cxx_class): Likewise, for pf.
(ieee_enum_type): Likewise, for i.
Tue Nov 26 17:01:25 1996 Ian Lance Taylor <>
* wrstabs.c (stab_array_type): Add casts when printing
bfd_signed_vma values.
* configure: Rebuild with autoconf 2.12.
Mon Nov 25 16:53:18 1996 Ian Lance Taylor <>
* objdump.c (disassemble_data): Don't crash if there is no
Fri Nov 22 17:29:14 1996 Andreas Schwab <>
* ar.c (open_inarch): Don't call bfd_openr with a null name.
Fri Nov 1 12:08:13 1996 Ian Lance Taylor <>
* binutils.texi: Add section on reporting bugs.
Thu Oct 31 18:20:53 1996 Ian Lance Taylor <>
* stabs.c (struct stab_handle): Add bincl_list field.
(parse_stab): Pass value to push_bincl. Call find_excl for
(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.
* ieee.c (ieee_lineno): Don't compare line number addresses to
info->highaddr (undo part of October 28 patch).
Tue Oct 29 16:40:22 1996 Ian Lance Taylor <>
* objdump.c (objdump_print_value): Don't print the empty string
for zero.
Mon Oct 28 16:58:14 1996 Ian Lance Taylor <>
* stabs.c (struct stab_handle): Add function_end field.
(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.
* ieee.c (ieee_array_type): Remember the correct size.
* ieee.c (ieee_finish_compilation_unit): Permit coalescing ranges
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
Fri Oct 25 12:12:17 1996 Ian Lance Taylor <>
* ieee.c (struct ieee_defined_enum): Add defined field.
(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.
* objdump.c (disassemble_bytes): Let the disassembler override the
number of bytes printed on a line.
Thu Oct 24 16:42:10 1996 Ian Lance Taylor <>
* objdump.c (prefix_addresses): New static variable.
(long_options): Add "prefix-addresses".
(compare_symbols): Sort BSF_FUNCTION symbols before other
(find_symbol_for_address): New static function, broken out of
(objdump_print_addr_with_sym): New static function, broken out of
(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
* binutils.texi, objdump.1: Document --prefix-addresses.
* rddbg.c (read_section_stabs_debugging_info): Preserve the
backslash when concatenating multiple stabs strings.
Thu Oct 10 11:36:31 1996 Doug Evans <>
* dlltool.c (scan_open_obj_file): Fix loop exit test.
Add missing parameter to def_exports.
Tue Oct 8 12:06:17 1996 Ian Lance Taylor <>
* (LEX_OPTIONS): Set to empty string. -I -Cem is the
default for flex, and is not recognized by lex.
Thu Oct 3 17:41:23 1996 Ian Lance Taylor <>
* binutils.texi (Target Selection): Document that you can now
specify targets using configuration triplets.
* ar.c (usage): Declare. Make sure all callers pass an argument.
Thu Oct 3 15:39:42 1996 Jason Molenda (
* (clean): Remove config.log.
Wed Oct 2 15:49:16 1996 Klaus Kaempf <>
* makefile.vms: Bump version date.
Tue Oct 1 15:00:59 1996 Ian Lance Taylor <>
* version.c (print_version): New function.
* bucomm.h (print_version): Declare.
* ar.c (program_version): Don't declare.
(do_show_version): Remove.
(usage): Add help parameter. Print bug report address.
(main): Set is_ranlib at start. Check for --help and --version.
Call print_version, not do_show_version.
* nlmconv.c (program_version): Don't declare.
(main): Call print_version.
(show_usage): Print bug report address.
* nm.c (program_version, print_version): Don't declare.
(usage): Print bug report address.
(main): Call print_version.
* objcopy.c (program_version): Don't declare.
(copy_usage): Print bug report address.
(strip_usage): Likewise.
(strip_main): Call print_version.
(copy_main): Likewise.
* objdump.c (program_version): Don't declare.
(usage): Print bug report address.
(main): Call print_version.
* size.c (program_version): Don't declare.
(usage): Print bug report address.
(main): Call print_version.
* strings.c (program_version): Don't declare.
(main): Call print_version.
(usage): Print bug report address.
* Update dependencies.
Thu Sep 19 14:53:15 1996 Ian Lance Taylor <>
* ieee.c: Revert Monday's reflocalp patch, and apply this patch
(write_ieee_debugging_info): Write a dummy type at the end of the
global type block.
Mon Sep 16 15:30:54 1996 Ian Lance Taylor <>
* ieee.c (struct ieee_write_type): Add reflocalp field.
(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.
* ieee.c (struct ieee_info): Add global_types field.
(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.
Fri Sep 13 17:32:21 1996 Ian Lance Taylor <>
* objcopy.c (change_leading_char): New static variable.
(copy_options): Add "change-leading-char".
(copy_usage): Mention --change-leading-char.
(filter_symbols): Add obfd parameter. Change all callers.
Implement change_leading_char.
(copy_object): Call filter_symbols if change_leading_char.
* binutils.texi, objcopy.1: Document --change-leading-char.
Tue Sep 3 14:05:29 1996 Ian Lance Taylor <>
* ieee.c (ieee_enum_type): Don't check index into a NULL names
* nm.c (sort_symbols_by_size): Always initialize next.
* rdcoff.c (parse_coff_type): Warn about an incomprehensible
type rather than crashing.
* rddbg.c (read_symbol_stabs_debugging_info): Initialize f.
* stabs.c (parse_stab_members): Set context in all cases.
Thu Aug 29 16:56:52 1996 Michael Meissner <>
* (i[345]86-*-*): Recognize i686 for pentium pro.
* configure: Regenerate.
Thu Aug 29 11:29:20 1996 Ian Lance Taylor <>
* objdump.c (L_tmpnam): Never define.
(display_target_list): Use choose_temp_base instead of tmpnam.
(display_info_table): Likewise.
Tue Aug 27 18:15:01 1996 Ian Lance Taylor <>
* stabs.c (parse_stab): An N_FUN symbol with an empty string
indicates the end of a function.
Thu Aug 22 17:08:00 1996 Ian Lance Taylor <>
* wrstabs.c (struct string_hash_entry): Add next field.
(struct stab_write_handle): Change strings to a pointer to
string_hash_entry. Add last_strings field. Remove strings_alloc
(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.
* ieee.c (struct ieee_info): Add saw_filename field.
(parse_ieee): Initialize saw_filename.
(parse_ieee_bb): Set saw_filename for a BB1 or BB2. In a BB1,
discard the current variables and types. In a BB10, if no
filename has been seen, call debug_set_filename.
(parse_ieee_ty): In case 'g', the type is optional.
* prdbg.c (pr_fix_visibility): Don't abort on
* debug.c (debug_name_type): Correct error message.
* Substitute HLDENV.
* configure: Rebuild.
* (HLDENV): New variable. Use it whenever linking a
Thu Aug 15 19:30:41 1996 Stan Shebs <>
* mpw-make.sed: Add symbolic doublequotes around the version
Thu Aug 8 12:27:52 1996 Klaus Kaempf <>
* makefile.vms: Add better support for DEC C compilation.
Add new macros as in
Wed Aug 7 14:27:33 1996 Philippe De Muyter <>
* Call BFD_NEED_DECLARATION on strstr and sbrk.
* acconfig.h (NEED_DECLARATION_STRSTR): New macro.
* configure, Rebuild.
* bucomm.h (strstr): Declare if NEED_DECLARATION_STRSTR.
* prdbg.c (pr_end_struct_type): Avoid using a string constant in
assert, for the benefit of broken assert macros.
Fri Jul 26 14:06:50 1996 Ian Lance Taylor <>
* objdump.c (disassemble_data): Set disasm_info.flavour from
Tue Jul 23 13:59:54 1996 Ian Lance Taylor <>
* dlltool.c (secdata): In non DLLTOOL_PPC case, change alignment
of .text section to 2.
Mon Jul 22 08:46:15 1996 Stu Grossman (
* objdump.c (dump_section_stabs): Fix test for stabs sections
ending with numbers. This fixes a problem with .stab being
confused with .stab.index.
Wed Jul 10 13:32:28 1996 Ian Lance Taylor <>
* stabs.c (stab_demangle_fund_type): Return a void * for a
template, rather than simply aborting.
Mon Jul 8 15:28:05 1996 Ian Lance Taylor <>
* ar.c (open_inarch): Add file parameter. Change all callers. If
this is a newly created archive, set the target based on the
* arsup.h (open_inarch): Update declaration.
Thu Jul 4 12:00:55 1996 Ian Lance Taylor <>
* (VERSION): Set to cygnus-2.7.1.
* Released binutils 2.7.
* rdcoff.c (parse_coff): Get address to pass to debug_end_function
from function size, not value of .ef symbol. From Ning
Mosberger-Tang <>.
Sat Jun 29 21:18:09 1996 Ian Lance Taylor <>
* objcopy.c (strip_main): Add -o option, and handle it.
(strip_usage): Mention -o.
* binutils.texi, strip.1: Mention -o.
Mon Jun 24 17:19:02 1996 Jason Molenda (
* (bindir, libdir, datadir, mandir, infodir, includedir,
INSTALL_PROGRAM, INSTALL_DATA): Use autoconf set values.
(docdir): Removed.
* (AC_PREREQ): Autoconf 2.5 or higher.
Mon Jun 24 11:59:13 1996 Ian Lance Taylor <>
* objdump.c (endian): New static variable.
(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.
* objdump.c: Make most variables and functions static.
* On alpha*-*-osf*, link against libbfd.a if not
using shared libraries.
* configure: Rebuild with autoconf 2.10.
Sun Jun 23 14:47:36 1996 Kim Knuttila <>
* dlltool.c (secdata): Changed .rdata to .reldata so .reloc will work.
(make_one_lib_file): Removed cruft. (#if 1)
Wed Jun 19 14:46:38 1996 Ian Lance Taylor <>
* objdump.c (stabs): Change from struct internal_nlist * to
bfd_byte *.
(print_section_stabs): Fetch stabs information directly, rather
than assuming that struct internal_nlist is the right size.
* binutils.texi: Document change to binary format: file position
based on load address, not section VMA.
* bucomm.h: Define SEEK_SET, SEEK_CUR, and SEEK_END if they are
not already defined.
Tue Jun 18 18:25:00 1996 Ian Lance Taylor <>
* (DISTSTUFF): Add deflex.c.
Tue Jun 18 15:03:44 1996 Klaus Kaempf <>
* config.h-vms, makefile.vms: New files.
Mon Jun 17 09:47:31 1996 Ian Lance Taylor <>
* dlltool.c (make_one_lib_file): Use BFD_RELOC_RVA rather than
Wed Jun 12 11:52:06 1996 Ian Lance Taylor <>
* nm.c (struct get_relocs_info): Define.
(line_numbers): New static variable.
(long_options): Add "line-numbers".
(usage): Mention -l and --line-numbers.
(main): Handle -l.
(print_symbol): Print line numbers if requested.
(get_relocs): New static function.
* binutils.texi, nm.1: Document -l/--line-numbers.
Tue Jun 11 20:12:15 1996 Ian Lance Taylor <>
* objdump.c (dump_reloc_set): Add sec parameter. Change all
callers. If with_line_numbers is set, display line numbers of
relocation entries.
* binutils.texi, objdump.1: Document -l with -r.
Mon Jun 10 23:42:59 1996 Ian Lance Taylor <>
* ar.c (open_inarch): Report BFD error message if an archive can
not be recognized. List matching formats if the file is
ambiguously recognized.
(ranlib_touch): Likewise.
Thu Jun 6 13:56:14 1996 Ian Lance Taylor <>
* README: Add notes on how to build if you don't have ar.
* Remove old incorrect setting of CC.
Tue Jun 4 10:52:49 1996 Tom Tromey <>
* (install): Don't check to see if tooldir exists.
Make $(tooldir) and $(tooldir)/bin.
Mon Jun 3 17:40:23 1996 Michael Meissner <>
* strings.c (main): Make main an int function, not void.
Fri May 31 13:59:24 1996 Ian Lance Taylor <>
* nm.c (filter_symbols): Check for BSF_WEAK as well as
* objcopy.c (filter_symbols): Likewise.
Wed May 8 16:57:20 1996 Ian Lance Taylor <>
* objcopy.c (copy_object): Make clear that it is only a warning
when the output file can not represent the architecture.
Fri May 3 11:30:17 1996 Ian Lance Taylor <>
* objdump.c (disassemble_data): Don't refer to bytes past the end
of data.
Wed Apr 24 14:10:21 1996 Ian Lance Taylor <>
* rddbg.c (read_symbol_stabs_debugging_info): Move call to
free_saved_stabs outside the loop over the symbols.
Tue Apr 23 12:56:11 1996 Ian Lance Taylor <>
* objdump.c (compare_symbols): Sort symbols whose names start with
`.' after other symbols. If no other decision can be made, sort
symbols by name.
Thu Apr 18 16:02:11 1996 Ian Lance Taylor <>
* dep-in.sed: Substitute $(BFDDIR) for @BFDDIR@.
* Rebuild dependencies.
(dep.sed): Substitute $(BFDDIR) for @BFDDIR@.
Tue Apr 16 13:50:22 1996 Ian Lance Taylor <>
* rdcoff.c: New file.
* rddbg.c (read_debugging_info): Read COFF symbols if COFF flavour
and no stabs were found.
* budbg.h (parse_coff): Declare.
* Rebuild dependencies.
(CFILES): Add rdcoff.c.
(DEBUG_OBJS): Add rdcoff.o.
Mon Apr 15 15:55:01 1996 Doug Evans <>
* nlmconv.c (choose_temp_base{,_try}): Delete, in libiberty now.
(link_inputs): Update call to choose_temp_base.
Mon Apr 8 14:40:05 1996 Ian Lance Taylor <>
* Permit --enable-shared to specify a list of
* configure: Rebuild.
Fri Mar 29 16:11:33 1996 Ian Lance Taylor <>
* objdump.c (dump_section_header): Print the SEC_LINK_ONCE flag
and the SEC_LINK_DUPLICATES field.
Fri Mar 29 11:35:55 1996 J.T. Conklin (
* nlmconv.1: Changed to be recognized by catman -w on Solaris.
Thu Mar 28 14:17:02 1996 Ian Lance Taylor <>
* wrstabs.c (stab_enum_type): Set buf before using it.
Fri Mar 22 15:49:08 1996 Ian Lance Taylor <>
* stabs.c (struct stab_handle): Add field abfd.
(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
(read_symbol_stabs_debugging_info): Likewise.
Thu Mar 21 12:40:48 1996 Ian Lance Taylor <>
* wrstabs.c (stab_function_type): Output an empty typedef for an
unused argument, rather than making up a meaningless name.
(stab_variable): Use N_RSYM for a DEBUG_REGISTER variable.
* ieee.c (struct ieee_info): Add global_vars field.
(parse_ieee_be): When ending the global typedef block, copy the
variables into info->global_vars.
(parse_ieee_atn): Don't require an NN record for a pmisc ATN.
(ieee_read_reference): Search the global variables after the local
Wed Mar 20 18:08:19 1996 Andreas Schwab <>
* 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.
Wed Mar 20 16:35:20 1996 Ian Lance Taylor <>
* wrstabs.c: New file.
* budbg.h (write_stabs_in_sections_debugging_info): Declare.
* objcopy.c (write_debugging_info): For COFF or ELF, output stabs
in sections.
* Rebuild dependencies.
(CFILES): Add wrstabs.c.
(WRITE_DEBUG_OBJS): New variable.
($(STRIP_PROG)): Likewise.
* stabs.c (parse_stab_members): Make type stub detection more like
* ieee.c (struct ieee_handle): Add fields complex_float_index and
(ieee_complex_type): Cache type index in complex_float_index and
complex_double_index, depending upon size. Set size on type stack
to size * 2.
* ieee.c (ieee_empty_type): Use builtin_unknown, not 0.
(ieee_void_type): Use builtin_void, not 1.
* ieee.c (parse_ieee_ty): Handle 'V' type code.
(parse_ieee_atn): Don't require two numbers for type 10.
* ieee.c (parse_ieee_be): Add one to offset at end of function or
* ieee.c (struct ieee_block): Add field skip.
(parse_ieee_bb): Don't call debug_record_function for __XRYCPP
function, and set skip field.
(parse_ieee_be): Don't call debug_end_function if skip is set.
* debug.c (struct debug_handle): Add fields current_write_lineno
and current_write_lineno_index.
(debug_write): Initialize current_write_lineno and
current_write_lineno_index for each unit. Call
debug_write_linenos rather than writing out the line numbers
(debug_write_function): Call debug_write_linenos.
(debug_write_block): Likewise.
(debug_write_linenos): New static function.
* debug.c (debug_write_type): For DEBUG_KIND_FUNCTION, push return
type before arguments.
Mon Mar 18 18:05:33 1996 Ian Lance Taylor <>
* configure, Rebuild.
* dlltool.c, nlmconv.c: Include <vfork.h> if HAVE_VFORK_H is
* stabs.c (parse_stab_range_type): A complex type is defined as a
subrange of itself with the high bound zero.
* ieee.c (ieee_complex_type): Don't crash on sizes of 12 or 16.
Tue Mar 12 12:09:43 1996 Ian Lance Taylor <>
* ieee.c (ieee_write_undefined_tag): Switch to global_types even
if it is not empty.
(ieee_tag_type): For an enum, look through info->enums.
* configure: Rebuild with autoconf 2.8.
* debug.c (debug_type_samep): Don't loop endlessly in
DEBUG_KIND_ENUM case. From Eric Baur <>.
Mon Mar 11 12:35:03 1996 Ian Lance Taylor <>
* rddbg.c (read_section_stabs_debugging_info): Call save_stab for
each stab entry, call stab_context on an error, and call
free_saved_stabs before rturning.
(read_symbol_stabs_debugging_info): Likewise.
(struct saved_stab): Define.
(saved_stabs, saved_stabs_index): New static variables.
(save_stab, stab_context, free_saved_stabs): New static functios.
* objdump.c (stab_name): Remove.
(struct stab_print): Remove.
(stab_print): Remove.
(dump_stabs): Don't initialize stab_name.
(print_section_stabs): Call bfd_get_stab_name rather than using
the stab_name array.
Tue Feb 27 19:52:01 1996 Ian Lance Taylor <>
* prdbg.c (pr_int_constant): Initialize info correctly.
(pr_float_constant): Likewise.
Mon Feb 26 18:11:37 1996 Stan Shebs <>
* mpw-make.sed: Update to handle shared library support.
Sat Feb 24 11:21:49 1996 Alan Modra <>:
* ($(OBJDUMP_PROG)): Search $(BFDLIB) before
Thu Feb 15 12:44:45 1996 Ian Lance Taylor <>
* Don't tamper with LDFLAGS. Call AC_PROG_CC before
* configure: Rebuild.
* Substitute RPATH_ENVVAR.
* configure: Rebuild.
* (RPATH_ENVVAR): New variable.
(check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
* objcopy.c (smart_rename): Rather than doing chmod then chown, do
chmod without setuid, then chown, then chmod with setuid.
Wed Feb 14 16:46:42 1996 Martin Anantharaman <>
* arsup.c (map_over_list): Reindent. Don't assume that the
function does not delete the BFD.
(ar_addlib_doer): Don't set prev->next if prev is NULL.
Wed Feb 14 15:12:17 1996 Ian Lance Taylor <>
* ieee.c (ieee_regno_to_genreg): Convert register numbers for m68k
and i960.
(ieee_genreg_to_regno): Likewise.
Mon Feb 12 14:19:59 1996 Ian Lance Taylor <>
* ieee.c: Extensive changes to write code to put types in the
global type block when possible, to output ranges for all memory
occupied by the module, and to improve efficiency.
* debug.c (struct debug_handle): Remove class_mark field. Add
id_list and compare_list fields.
(struct debug_class_id): Define.
(struct debug_type_compare_list): Define.
(debug_write): Initialize info->id_list
(debug_write_name): Remove reference to info->class_mark.
(debug_write_type): Get id for all structs and classes. Simplify
test for whether struct has already been written.
(debug_write_class_type): Get id for all classes. Simplify test
for whether class has already been written.
(debug_write_block): Don't write out blocks other than the top
level block if they have no local variables.
(debug_set_class_id): New static function.
(debug_type_samep): New static function.
(debug_class_type_samep): New static function.
* prdbg.c (pr_start_struct_type): Always print id.
(pr_start_class_type): Likewise.
(pr_tag_type): Likewise.
* stabs.c (struct stab_handle): Add syms and symcount fields.
(start_stab): Add syms and symcount parameters. Change all
(parse_stab_string): Look up global variables in the symbol table
to get the right value.
* budbg.h (start_stab): Update declaration.
* rddbg.c (read_section_stabs_debugging_info): Add syms and
symcount parameters. Change all callers.
* stabs.c (parse_stab_array_type): If the index type is 0, use
Wed Feb 7 14:17:45 1996 Ian Lance Taylor <>
* ieee.c (ieee_start_compilation_unit): Clear modified and
modified_alloc fields of info.
* Check for --enable-shared. Substitute new
variables BFDLIB and OPCODES.
* configure: Rebuild.
* (BFDLIB): Set to @BFDLIB@.
Mon Feb 5 16:18:42 1996 Ian Lance Taylor <>
Support for building bfd and opcodes as shared libraries, based on
patches from Alan Modra <>:
* (HLDFLAGS): New substitution.
* configure: Rebuild.
* (HLDFLAGS): New variable. Make all links use
$(HLDFLAGS) before $(CFLAGS) and $(LDFLAGS).
(BFDLIB_DEP): New variable. Replace all occurrences of $(BFD) as
a dependency with $(BFDLIB_DEP). Remove $(BFD) as a dependency if
there is also a dependency on $(ADDL_DEPS).
(BFDLIB): Rename from BFD; change all uses; set to -L../bfd -lbfd.
(OPCODES_DEP): New variable. Replace all occurrends of $(OPCODES)
as a dependency with $(OPCODES_DEP).
(OPCODES): Set to -L../opcodes -lopcodes.
(ADDL_DEPS): New variable. Replace all occurrences of
$(ADDL_LIBS) as a dependency with $(ADDL_DEPS).
(check): Set LD_LIBRARY_PATH in the environment.
(config.status): Depend upon BFD and config.bfd.
Fri Feb 2 17:02:59 1996 Doug Evans <>
* objdump.c: #include stdarg.h or varargs.h.
(objdump_print_value): Change FILE* arg to struct disassemble_info*.
All callers updated. Use fprintf_func.
(objdump_print_address): Consistently use fprintf_func.
(objdump_sprintf): New function.
(disassemble_data): Print insn into a buffer, print raw insn ourselves,
then print insn mnemonic.
Fri Feb 2 16:48:55 1996 Ian Lance Taylor <>
* configure: Regenerate.
Thu Feb 1 09:38:18 1996 Steve Chamberlain <>
* (i[3-6]86-*-win32): Becomes i[3-6]86-*-cygwin32.
(powerpc*-*-cygwin32): New.
* configure: Regenerated.
Wed Jan 31 13:22:03 1996 Richard Henderson <>
* (distclean): Remove $(DEMANGLER_PROG).1.
Mon Jan 29 17:36:29 1996 Ian Lance Taylor <>
Based on patches from H J Lu <>:
* objcopy.c (remove_leading_char): New static variable.
(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.
Sat Jan 27 15:40:13 1996 Michael Meissner <>
* objdump.c (fprintf): Add prototype to avoid compiler warning on
Fri Jan 26 11:53:42 1996 Ian Lance Taylor <>
* binutils.texi (nm): Improve documentation on symbol types.
(objdump): Reference the stabs manual from the discussion of the
--stabs option.
Thu Jan 25 11:21:46 1996 Raymond Jou <>
* mpw-make.sed: Add a "stamps" target.
Thu Jan 25 13:51:44 1996 Ian Lance Taylor <>
* objdump.c (dump_headers, dump_section_header): Change objdump -h
output to be simpler and to include section file offsets.
Wed Jan 24 12:06:05 1996 Ian Lance Taylor <>
* stabs.c (parse_stab_members): Don't adjust voffset.
* ieee.c (ieee_read_cxx_class): Don't multiply voffset by 4.
(struct ieee_write_type): Add name field.
(struct ieee_type_class): Remove name field. Change all uses to
use new name field in type instead.
(struct ieee_name_type): Likewise.
(ieee_start_struct_type): Initialize name field of type.
(ieee_start_class_type): Don't initialize classdef entry of tag.
(ieee_class_method_var): Don't adjust voffset.
(ieee_end_class_type): Likewise.
(ieee_tag_type): Initialize new name field of type.
(ieee_typdef): Set name after copying in type information.
* debug.c (VOFFSET_STATIC_METHOD): Define as -1, not 1.
* ieee.c (struct ieee_modified_type): Define.
(struct ieee_handle): Add modified and modified_alloc fields.
(ieee_get_modified_info): New static function.
(ieee_pointer_type): Cache type index.
(ieee_const_type): Likewise.
(ieee_volatile_type): Likewise.
* ieee.c (ieee_define_named_type): When creating a tag for an
anonymous struct, copy the name into memory.
(ieee_tag_type): Likewise.
* debug.c (debug_write_type): Only check and set id field for an
unnamed object.
(debug_write_class_type): Likewise.
* ieee.c: Various changes to write out types for functions and
references, and to not write out unnecessary function types.
* ieee.c (struct ieee_var): Remove variable field. Add kind
field, and define some enum constants for it.
(parse_ieee_ty): Set kind field of variable for 'x' and 'X' types.
(parse_ieee_atn): Make an indirect slot for an external variable,
although we otherwise don't record it. Set kind field rather than
variable field of pvar.
(ieee_read_cxx_class): Try to get the type of a static member.
(ieee_read_reference): Check kind field rather than variable
Tue Jan 23 15:54:18 1996 Ian Lance Taylor <>
* ieee.c: Various changes to handle reading C++ reference type
* debug.h (enum debug_var_kind): Add DEBUG_VAR_ILLEGAL.
(enum debug_parm_kind): Add DEBUG_PARM_ILLEGAL.
* debug.c (debug_get_parameter_types): Handle DEBUG_KIND_FUNCTION.
* ieee.c: Various changes to write out definitions of C++ classes.
* debug.c (debug_append_filename): Remove.
* debug.h (debug_append_filename): Don't declare.
* stabs.c (struct stab_handle): Remove last_type field. Add
so_string and so_value fields.
(finish_stab): Call stab_emit_pending_vars before calling
debug_end_function. Don't warn about pending variables.
(parse_stab): Accumulate N_SO strings until a non N_SO symbol is
seen, rather than calling debug_append_filename. Call
stab_emit_pending_vars before calling debug_end_function. Don't
set info->last_type.
Tue Jan 23 09:53:54 1996 Doug Evans <>
* objdump.c (disassemble_data): Handle unknown endianness.
Mon Jan 22 16:46:43 1996 Doug Evans <>
Add new option --show-raw-insn.
* 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
Mon Jan 22 19:29:36 1996 Ian Lance Taylor <>
* ieee.c: Extensive changes to pass a single info argument around
in the reading routines, rather than several arguments. Add code
to read C++ debugging records.
* debug.h (debug_get_type_size): Declare.
(debug_get_field_name): Declare.
(debug_get_field_bitpos): Declare.
(debug_get_field_bitsize): Declare.
(debug_get_field_visibility): Declare.
(debug_get_field_physname): Declare.
* debug.c (debug_get_real_type): Handle DEBUG_KIND_TAGGED.
(debug_get_type_size): New function.
(debug_get_field_name): New function.
(debug_get_field_bitpos): New function.
(debug_get_field_bitsize): New function.
(debug_get_field_visibility): New function.
(debug_get_field_physname): New function.
(debug_write_type): Make sure we pass the real kind, not INDIRECT,
to tag_type. Pass the name recursively for INDIRECT.
Fri Jan 19 12:31:57 1996 Ian Lance Taylor <>
* debug.h (struct debug_write_fns): Remove ellipsis_type. Add int
and boolean parameters to function_type. Add boolean parameter to
(debug_make_ellipsis_type): Don't declare.
(debug_make_function_type): Add debug_type * and boolean
parameters. Change all callers.
(debug_make_method_type): Add boolean parameter. Change all
(debug_get_parameter_types): Add boolean * parameter. Change all
(debug_get_target_type): Declare.
* debug.c (struct debug_function_type): Add fields arg_types and
(struct debug_method_type): Add field varargs.
(debug_ellipsis_type, ELLIPSIS_P): Remove.
(debug_make_ellipsis_type): Remove.
(debug_make_function_type): Add arg_types and varargs parameters.
(debug_make_method_type): Add varargs parameter.
(debug_get_parameter_types): Add pvarargs parameter.
(debug_get_target_type): New function.
(debug_write_type): In case DEBUG_KIND_FUNCTION, push argument
types and pass count to function_type. In DEBUG_KIND_METHOD, use
a signed int for the count, don't call ellipsis_type, and pass
varargs to method_type.
* stabs.c (struct stab_demangle_info): Add varargs field.
(stab_demangle_argtypes): Add pvarargs parameter. Change all
(stab_demangle_args): Likewise.
(stab_demangle_type): In case 'F', pick up argument types.
* prdbg.c (pr_ellipsis_type): Remove.
(pr_function_type): Add argcount and varargs parameters.
(pr_method_type): Add varargs parameter.
* ieee.c (ieee_ellipsis_type): Remove.
(ieee_function_type): Add argcount and varargs parameters.
(ieee_method_type): Add varargs parameter. Remove most of
function body, and just call ieee_function_type.
* stabs.c: Include "demangle.h". Added several new static
functions not listed below to demangle argument types; they are
all called via stab_demangle_argtypes.
(finish_stab): If the kind of an undefined tag is
DEBUG_KIND_ILLEGAL, use DEBUG_KIND_STRUCT instead. Warn if there
are any pending variable.
(parse_stab): Don't close the function when the block depth goes
to zero. Pass value to debug_end_function.
(parse_stab_string): In case 'T', pass the name to
(parse_stab_type): In case 'x', use stab_find_tagged_type. In
case '#', handle functions with variable numbers of arguments.
(parse_stab_struct_type): Add tagname parameter. Change all
(parse_stab_members): Add tagname and typenums parameters. Change
all callers. If the type of a method is a stub, call
parse_stab_argtypes to demangle the argument types and get the
physical name of the function.
(parse_stab_argtypes): New static function.
(stab_record_variable): For a DEBUG_GLOBAL or DEBUG_STATIC
variable, call debug_record_variable immediately.
(stab_find_tagged_type): New static function.
* debug.h (enum debug_type_kind): Add DEBUG_KIND_ILLEGAL.
(struct debug_write_fns): Add field ellipsis_type. Add id
parameter to start_struct_type, start_class_type, and tag_type.
(debug_make_ellipsis_type): Declare.
(debug_find_named_type): Declare.
(debug_get_type_kind): Declare.
(debug_get_return_type): Declare.
(debug_get_parameter_types): Declare.
(debug_get_fields): Declare.
(debug_get_field_type): Declare.
* debug.c (struct debug_handle): Add fields class_id and base_id.
(struct debug_class_type): Add field id.
(struct debug_method_variant): Rename argtypes to physname.
Change all uses.
(debug_ellipsis_type): New static variable.
(ELLIPSIS_P): New macro.
(debug_make_ellipsis_type): New function.
(debug_make_method_variant): Rename argtypes to physname.
(debug_make_static_method_variant): Likewise.
(debug_name_type): Always put types in the global namespace.
(debug_find_named_type): New function.
(debug_find_tagged_type): Treat DEBUG_KIND_ILLEGAL specially,
rather than DEBUG_KIND_VOID.
(debug_get_real_type): New static function.
(debug_get_type_kind): New function.
(debug_get_return_type): New function.
(debug_get_parameter_types): New function.
(debug_get_fields): New function.
(debug_get_field_type): New function.
(debug_write): Initialize base_id.
(debug_write_type): Pass new id argument to tag_type. Handle
DEBUG_KIND_UNION. Handle ellipsis for method arguments.
(debug_write_class_type): Don't dereference kclass if it is NULL.
Use id.
* prdbg.c (pr_fns): Add pr_ellipsis_type.
(pr_ellipsis_type): New static function.
(pr_pointer_type): If this is a pointer to an array, parenthesize
it correctly.
(pr_start_struct_type): Add id parameter.
(pr_start_class_type): Likewise.
(pr_tag_type): Likewise.
(pr_fix_visibility): Add the visibility to the top of the stack,
not the second element on the stack.
(pr_struct_field): Pop the stack before calling pr_fix_visibility.
(pr_class_static_member): Likewise.
(pr_class_start_method): Don't push a type, just set the method
name in the type on the top of the stack.
(pr_class_end_method): Don't pop the stack.
(pr_class_method_variant): Rename argtypes parameter to physname.
Append const and volatile rather than prepending them. Add a
space after the physname.
(pr_class_static_method_variant): Likewise.
* ieee.c (ieee_fns): Add ieee_ellipsis_type.
(ieee_define_named_type): Use DEBUG_KIND_ILLEGAL rather than
(write_ieee_debugging_info): Likewise.
(ieee_typdef): Likewise.
(ieee_ellipsis_type): New static function.
(ieee_start_struct_type): Add id parameter.
(ieee_start_class_type): Likewise.
(ieee_tag_type): Likewise.
(ieee_class_method_variant): Rename name to physname.
(ieee_class_static_method_variant): Likewise.
* (DEBUG_OBJS): Remove prdbg.o.
($(OBJDUMP_PROG)): Depend upon, and link against, prdbg.o.
Thu Jan 18 17:35:06 1996 Kim Knuttila <>
* dlltool.c (make_tail): Changed the order of the sections to avoid
an alignment problem.
Wed Jan 17 14:23:00 1996 J.T. Conklin <>
* srconv.c (wr_du): Set du.stackfrmt to 0.
(wr_un, wr_sc): Emit all sections, even those with 0 size.
Tue Jan 16 16:15:49 1996 J.T. Conklin <>
* srconv.c (wr_hd): Space size within segment was being
stored in segment identifier field.
Tue Jan 16 12:07:25 1996 Stan Shebs <>
BUILD_DLLTOOL): Put definitions for these into makefile when
configuring, instead of always clearing in mpw-make.sed.
* mpw-make.sed: Edit out any host_alias or target_alias settings,
fix pathname to BFD internal include files, remove dependency
calculation rules.
Thu Jan 11 17:31:38 1996 Michael Meissner <>
* objdump.c (dump_section_header): Add new section flags
Thu Jan 11 11:45:34 1996 Ian Lance Taylor <>
* objcopy.c (filter_symbols): NULL terminate the output symbols.
(copy_object): Allocate space for a possible extra NULL pointer.
* debug.c (debug_make_undefined_tagged_type): Make sure we are
given a kind of type we can handle.
(debug_write_type): Handle undefined enums and structs.
(debug_write_class_type): Handle undefined classes.
* prdbg.c (pr_enum_type): Handle an undefined enum.
* ieee.c (ieee_enum_type): Likewise.
Wed Jan 10 15:33:18 1996 Ian Lance Taylor <>
* Updated dependencies.
(ALLOCA, MALLOC): Remove variables.
(ADDL_LIBS): Remove $(MALLOC) from definition.
* alloca.c, gmalloc.c: Remove.
Mon Jan 8 18:02:29 1996 Ian Lance Taylor <>
* ieee.c: Add global function write_ieee_debugging_info and a
bunch of static functions and structs used to write out IEEE
debugging information.
* budbg.h (write_ieee_debugging_info): Declare.
* ieee.c (struct ieee_type): Add pslot field.
(enum builtin_types): Define.
(ieee_builtin_type): For a pointer, return a pointer to the named
type. Use enum values rather than numbers.
(ieee_alloc_type): New static function.
(ieee_read_type_index): Use ieee_alloc_type.
(parse_ieee_bb): Likewise.
(parse_ieee_ty): Likewise. Use ieee_builtin_type for array range,
rather than making a new integer type. Store the new type in the
slot, if there is one.
(parse_ieee_atn): Treat ATN10 as defining a register variable.
(ieee_regno_to_genreg): Rename from ieee_regno_to_gen. Change all
(ieee_genreg_to_regno): New static function.
* stabs.c (parse_stab_type): Add new typename parameter. Change
all callers.
(parse_stab_range_type): Add new typename parameter. Change all
* debug.h (struct debug_write_fns): Add tag parameter to
enum_type, start_struct_type, and start_class_type.
* debug.c (debug_write_type): Pass any tag name to
start_struct_type, debug_write_class_type, and enum_type. If
DEBUG_KIND_TAGGED, pass the name in the recursive call.
(debug_write_class_type): Accept a new tag parameter, and pass it
to start_class_type.
* prdbg.c (pop_type): Don't remove '+' character.
(pr_enum_type): Accept and use tag parameter.
(pr_start_struct_type): Likewise.
(pr_start_class_type): Likewise.
(pr_class_baseclass): Adjust algorithm used to find where to put
the baseclass name.
(pr_tag): Don't bother to insert the tag name.
* objcopy.c: Include budbg.h.
(convert_debugging): New static variable.
(copy_options): Add "debugging".
(copy_usage): Mention --debugging.
(is_strip_section): Skip debugging sections if convert_debugging.
(setup_section, copy_section): Likewise.
(filter_symbols): Skip debugging symbols if convert_debugging.
(copy_object): If convert_debugging, read and write debugging
(write_debugging_info): New static function.
(copy_main): Handle --debugging.
* (DEBUG_OBJS): New variable.
($(OBJCOPY_PROG)): Depend upon and link against $(DEBUG_OBJS).
($(STRIP_PROG)): Likewise.
(OBJDUMP_OBJS): Remove variable.
($(OBJDUMP_PROG)): Use objdump.o $(DEBUG_OBJS) rather than
* binutils.texi, objcopy.1: Document --debugging.
Thu Jan 4 16:31:21 1996 Ian Lance Taylor <>
* ieee.c: New file with code to read IEEE debugging information.
* budbg.h (parse_ieee): Declare.
* rddbg.c (read_debugging_info): Handle IEEE flavour files.
(read_ieee_debugging_info): New static function.
* Rebuild dependencies.
(CFILES): Add ieee.c.
(OBJDUMP_OBJS): Add ieee.o.
* bucomm.h (xrealloc): Change type of first parameter from char *
to PTR.
Tue Jan 2 17:44:07 1996 Ian Lance Taylor <>
* Add targets to automatically rebuild dependencies.
Remove targets which just listed dependencies of .o files.
(DEP): New variable.
(underscore.c): Don't do anything, just depend upon stamp-under.
(stamp-under): New target; do what underscore.c used to do.
(nlmconv.o): Depend upon sym.h and ecoff.h.
(.dep, .dep1, dep.sed, dep, dep-in): New targets.
(stage1, stage2, stage3, against, comparison): Remove.
(de-stage1, de-stage2, de-stage3): Remove.
(clean, distclean): Remove stamp-under and dep.sed.
* dep-in.sed: New file.
Implement generic debugging support. Implement a stabs reader and
a generic printer.
* budbg.h, debug.c, debug.h, prdbg.c, rddbg.c, stabs.c: New files.
* objdump.c: Include "debug.h" and "budbg.h".
(dump_debugging): New global variable.
(usage): Mention --debugging.
(long_options): Add "debugging".
(display_bfd): Handle --debugging.
* (OBJDUMP_OBJS): New variable.
* binutils.texi, objdump.1: Document --debugging.
Sat Dec 30 09:59:51 1995 Jeffrey A Law (
* nm.c ( long_options): Add "--defined-only" option.
(usage): Update for new "--defined-only" option.
(filter_symbols): Handle "--defined-only".
Fri Dec 29 16:04:56 1995 Ian Lance Taylor <>
* arparse.y: Include "bucomm.h", not <sysdep.h>.
* nlmheader.y: Don't include "sysdep.h".
Tue Dec 26 18:23:18 1995 Ian Lance Taylor <>
* nm.c (print_symdef_entry): Check return value of
Sat Dec 23 11:03:16 1995 Michael Meissner <>
* (DLLTOOL_DEFS): Build dlltool for PowerPC if target
is powerpc*-*-win* in addition to powerpc*-*-*pe*.
Fri Dec 15 16:30:57 1995 Ian Lance Taylor <>
* objdump.c (endian_string): New static function.
(display_target_list): Use it.
* nlmconv.c (main): Use new bfd_big_endian macro.
Fri Dec 15 07:51:34 1995 steve chamberlain <>
* dlltool.c (fill_ordinals): Start from 1 if no other instructions
Tue Dec 12 12:05:21 1995 Ian Lance Taylor <>
* (clean): Remove $(DEMANGLER_PROG).1. From Ronald
F. Guilmette <>.
Mon Dec 11 14:33:05 1995 Stan Shebs <>
* mac-binutils.r: Fix copyright and version strings.
* (version): Remove, no longer used.
Fri Dec 1 14:41:56 1995 Stan Shebs <>
* mpw-make.sed (install, install-only): Edit in Mac-specific
install procedure.
Thu Nov 30 20:26:02 1995 Kim Knuttila <>
* dlltool.c (ppc_jtab): The binary glue for PowerPC dll linkage,
including the return instruction.
sinfo: added a preferred alignment field.
(secdata): section data for the PowerPC version.
(make_one_lib_file): More symbols, More sections (pdata, rdata)
(make_tail): Use idata$6 instead of idata$7 for ppc. Also added a
NULL idata$3 descriptor (temporary).
Tue Nov 28 17:23:44 1995 Doug Evans <>
* dlltool.c (fill_ordinals): Don't reference d_export_vec if
there are no exported functions.
Mon Nov 27 13:05:59 1995 Ian Lance Taylor <>
* configure: Regenerate with autoconf 2.7.
Wed Nov 22 13:17:15 1995 Ian Lance Taylor <>
* dlltool.c (fill_ordinals): Start assigning ordinals at 1.
* (EXPECT): Use $$r, not $${rootme}.
(check): Set r, not rootme.
Tue Nov 21 18:04:09 1995 Ian Lance Taylor <>
* acconfig.h: Put NEED_DECLARATION_FPRINTF in @TOP@ section.
* configure, Rebuild with autoconf 2.6.
Fri Nov 17 10:34:37 1995 Ian Lance Taylor <>
* (CC_FOR_TARGET): Use @host@ and @target@, not
$(host_canonical) and $(target_canonical).
Thu Nov 16 03:39:20 1995 Ken Raeburn <>
Version 2.6 released.
* (VERSION): Update to 2.6.
Wed Nov 15 12:14:17 1995 Ian Lance Taylor <>
* (CC_FOR_TARGET): Define.
(check): Pass CC and CFLAGS to runtest.
* nm.c (display_rel_file): Don't require a DYNAMIC object when
dumping the dynamic symbol table.
* objdump.c (compare_symbols): Sort global symbols before local
symbols before debugging symbols.
(objdump_print_address): Don't futz around looking for a global
symbol with the same value.
Tue Nov 14 17:19:11 1995 Ian Lance Taylor <>
* dlltool.c: Use FOPEN_* macros rather than "r" or "w".
* dlltool.c (fill_ordinals): Correct memset call.
Sun Nov 12 12:56:05 1995 Stan Shebs <>
* mpw-make.sed (DEMANGLER_PROG): Edit out attempts to do anything
with the man page.
Fri Nov 10 11:41:22 1995 Ian Lance Taylor <>
* objcopy.c (setup_section): Copy the section lma independently of
the vma.
Wed Nov 8 11:33:00 1995 Ian Lance Taylor <>
* arsup.c (ar_open): Cast malloc return value.
Tue Nov 7 09:01:26 1995 Kim Knuttila <>
*, configure (DLLTOOL_DEFS): Added ppc target.
* dlltool.c (MPPC): Added basic PPC definitions.
Tue Nov 7 14:02:57 1995 Ian Lance Taylor <>
* Don't treat rs6000-*-lynx* specially.
* configure: Rebuild.
* config/rslynx: Remove.
* Remove @target_makefile_fragment@.
Mon Nov 6 15:00:50 1995 Ian Lance Taylor <>
* bucomm.h: Include <sys/types.h>.
* ar.c: Don't include <sys/types.h> or <stdio.h>.
* bucomm.c, dlltool.c, nlmconv.c, objcopy.c, objdump.c: Likewise.
Fri Nov 3 12:38:09 1995 Ian Lance Taylor <>
* objdump.c: Include <sys/types.h>.
Permit user to override DEMANGLER_PROG from command line. From
Manfred Hollstein <>.
* ($(DEMANGLER_PROG)): Depend upon
(install): Don't depend upon $(DEMANGLER_PROG).1. Only install
$(DEMANGLER_PROG).1 if $(DEMANGLER_PROG) is not empty.
Wed Nov 1 15:04:57 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <>
* (syslex.o): add -I$(srcdir) if compiling in a
separate directory.
Mon Oct 30 14:24:18 1995 Ian Lance Taylor <>
* objdump.c (objdump_print_value): New static function.
(objdump_print_address): Use it. If we need the right section for
the symbol, and we can't find it, print an offset from the section
rather than using a symbol from some other section.
Thu Oct 26 10:23:14 1995 steve chamberlain <>
* dlltool.c (no_idata4, no_idata5): New.
(arm_jtab): Use correct encoding of jump instruction.
(usage, main, make_head, make_tail): Act on no_idata4, no_idata5.
Wed Oct 25 12:10:07 1995 Stan Shebs <>
* mpw-make.sed: Edit paths to generated[ch] files.
Fri Oct 20 18:40:34 1995 Ian Lance Taylor <>
* binutils.texi: Change --with-targets to --enable-targets.
Thu Oct 19 17:47:41 1995 Fred Fish <>
* Remove extraneous tab on otherwise empty line,
which confuses many non-GNU versions of "make".
Wed Oct 18 16:31:58 1995 steve chamberlain <>
* dlltool.c (i386_jtab, arm_jtab): New
(gen_lib_file): Rewritten to use bfd.
Fri Oct 13 16:10:07 1995 Michael Meissner <>
* (install): Don't give error message if dlltool
wasn't built.
Fri Oct 13 11:04:37 1995 steve chamberlain <>
* deflex.l: Allow quoting of IDs.
* defparse.y (%union): string deleted.
(command): DESCRIPTION takes ID.
* dlltool.c (gen_def_file): Quote outgoing name if
necessary. Preserve NONAME.
(gen_lib_file): Run ranlib.
(workout_prefix): Deleted.
(main, usage, long_options): Add --as, --ranlib, --ar options.
Wed Oct 11 13:36:13 1995 steve chamberlain <>
* dlltool.c (mtable): HOW_ALIGN_LONG, new.
(d_ord): Deleted.
(d_low_ord, d_high_ord, d_named_funcs): New.
(gen_exp_file): Create noname entries correctly.
(gen_lib_file): Dump exports alphabetically.
(process_duplicates): Count nonamed functions.
(fill_ordinals): Keep track of highest ord too.
(mangle_defs): Create alphabetically ordered list of names.
Tue Oct 10 09:39:09 1995 steve chamberlain <>
Mon Oct 9 13:06:31 1995 steve chamberlain <>
* dlltool.c (add_underscore): New.
(xlate): Use new name.
(main, usage): Update.
Fri Oct 6 14:08:51 1995 Ken Raeburn <>
* sysinfo.y: Eliminate unused terminals "[" and "]" and unused
nonterminal "name". One s/r conflict remains.
Mon Sep 25 22:49:32 1995 Andreas Schwab <>
* nm.c (print_symname): Don't try to demangle an empty
* objdump.c (slurp_symtab): Reset symcount if there are
no symbols.
(slurp_dynamic_symtab): Likewise, for dynsymcount.
(disassemble_data): Fix memory leak: free sorted_syms when done.
(display_bfd): Likewise, for syms and dynsyms.
(dump_relocs): Don't print header before possibly generating an
error message.
(dump_dynamic_relocs): Likewise.
* ar.1, nm.1, objdump.1, size.1, strings.1, strip.1: Fix typos and
formatting bugs.
Fri Oct 6 12:00:25 1995 Ian Lance Taylor <>
* ar.c (do_quick_append): Comment out.
(replace_members): Add quick argument.
(main): Don't call do_quick_append.
(open_inarch): Don't call quick_append to create an empty archive.
Instead call bfd_openw/bfd_set_format/bfd_close.
Thu Oct 5 20:53:08 1995 Ken Raeburn <>
* bucomm.c: Always include time.h.
Thu Oct 5 17:25:21 1995 Ian Lance Taylor <>
* objdump.c (compare_symbols): Sort gnu_compiled and gcc2_compiled
symbols after other symbols with the same value. Likewise for
symbols which look like file names.
(objdump_print_address): Always chose the first reasonable symbol
with a given value.
Tue Oct 3 22:38:55 1995 Ian Lance Taylor <>
* arsup.c (ar_save): Use rename, not unlink/link/unlink.
Mon Oct 2 12:10:25 1995 Ian Lance Taylor <>
* strings.c (main): Exit with zero status if no files are given
and standard input is read.
Thu Sep 28 20:03:07 1995 Stan Shebs <>
* Calculate underscore and put into makefile
fragment, generate config.h.
* mpw-make.sed: New file, sed commands to edit Unix makefile
into MPW syntax.
* Remove.
* mac-binutils.r: New file, Mac resources.
Thu Sep 28 15:49:00 1995 steve chamberlain <>
* dlltool.c: (gen_exp_file): Always emit a .reloc section if
(imp_name_lab): New.
(gen_def_file): New.
(gen_lib_file): Use imp_name_lab.
(main): Initialize imp_name_lab.
Mon Sep 25 12:05:34 1995 Ian Lance Taylor <>
* configure: Rebuild.
* Rebuild.
* dlltool.c: Include "libiberty.h" and "bucomm.h". Don't include
<stdio.h>, <stdlib.h>, or <string.h>. Don't include <wait.h>.
Include <sys/types.h>. Use HAVE_SYS_WAIT_H to control whether to
include <sys/wait.h> or define the wait macros by hand. Don't
declare xmalloc.
(gen_lib_file): Don't assume that sprintf returns the number of
characters; use strlen instead.
Fri Sep 22 17:16:41 1995 Ian Lance Taylor <>
* objdump.c (disassemble_data): Don't use the old BFD based
disassembler interface. Make info a const pointer.
Wed Sep 13 18:33:44 1995 Ian Lance Taylor <>
* objdump.c (start_address): New variable.
(stop_address): New variable.
(usage): Mention --start-address and --stop-address.
(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
* 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.
Tue Sep 12 12:37:39 1995 Ian Lance Taylor <>
* (maintainer-clean): New target.
* ar.c (replace_members): Don't call write_archive if nothing
* objdump.c (disassemble_data): Add casts to avoid gcc warnings.
Thu Sep 7 12:12:17 1995 Ian Lance Taylor <>
* Rename from
Check for when creating stamp-h.
* configure: Rebuild.
* (stamp-h): Depend upon rather than Set CONFIG_HEADERS to when
calling config.status.
* (distclean): Remove config.h, stamp-h, and
* nm.c (value_format): Initialize based on BFD64 and
(print_radix): New static variable.
(set_print_radix): Set print_radix. Adjust changes to
(print_value): New static function, to print 64 bit octal and
decimal values correctly.
(print_symbol_info_bsd): Check BFD64, not BFD_HOST_64_BIT. Use
(print_symbol_info_sysv): Use print_value.
(print_symbol_info_posix): Likewise.
Wed Sep 6 15:02:55 1995 Ian Lance Taylor <>
* (*.o): Remove incorrect dependencies on
* (INSTALL_DATA): Add -m 644.
(INSTALL_XFORM1): Likewise.
(CC_FOR_BUILD): Set to @CC_FOR_BUILD@ rather than $(CC).
(mostlyclean): Remove config.log.
(distclean): Remove config.cache.
* configure: Rebuild.
Tue Sep 5 20:22:42 1995 Ian Lance Taylor <>
* Rewrite to use autoconf.
* aclocal.m4: New file.
* configure: New file, built by autoconf.
* acconfig.h: New file.
* New file, built by autoheader.
* Various changes for new configure script. Also:
(version.o): Use $(ALL_CFLAGS).
(cplus-dem.o, dlltool.o, nlmconv.o): Likewise.
(sysdump.o): Depend upon bucomm.h and config.h.
(srconv.o, arsup.o, strings.o): Depend upon config.h.
(filemode.o): Don't depend upon ../bfd/sysdep.h.
(bucomm.o): Depend upon config.h, not ../bfd/sysdep.h.
(size.o, objdump.o, nm.o, ar.o, objcopy.o): Likewise.
(nlmheader.o, nlmconv.o): Likewise.
(distclean): Don't remove sysdep.h.
* bucomm.h: Include "ansidecl.h", <stdio.h>, and "config.h".
Include "fopen-same.h" or "fopen-bin.h", based on
USE_BINARY_FOPEN. Include <errno.h>, and declare errno if it is
not a macro. Include <unistd.h>, <string.h>, <strings.h>,
<stdlib.h>, and <fcntl.h> if they are present. Declare strchr,
strrchr, and strstr if no string header file exists. Include
<sys/file.h> if it exists and <fcntl.h> does not. Define
O_RDONLY and O_RDWR if necessary.
* ar.c: Don't include "sysdep.h". Do include <sys/types.h> and
<sys/stat.h>. Use HAVE_GOOD_UTIME_H rather than POSIX_UTIME. Use
HAVE_UTIMES rather than !USE_UTIME. Don't include <errno.h>, and
don't declare errno.
* arsup.c: Don't include <sysdep.h>.
* bucomm.c: Don't include "sysdep.h". Include <stdio.h>,
<sys/types.h>, and <sys/stat.h>. Include <time.h> if it defines
time_t. Define time_t if necessary.
* coffdump.c: Don't include "sysdep.h".
* coffgrok.c, filemode.c, nlmconv.c, size.c: Likewise.
* srconv.c, strings.c: Likewise.
* nm.c: Don't include "sysdep.h". Don't try to define HAVE_SBRK.
* objcopy.c: Don't include "sysdep.h". Include <sys/types.h> and
(simple_copy): Use creat rather than assuming that O_CREAT is
* objdump.c: Don't include "sysdep.h". Use
* sysdump.c: Include "bfd.h" and "bucomm.h". Don't include
"sysdep.h" or <stdlib.h>.
(dump_symbol_info): Rename from symbol_info. Change all callers.
Mon Sep 4 14:30:00 1995 Ian Lance Taylor <>
* (host_makefile_frag): Don't set. Substitute for
@CC@, @CFLAGS@, @HDEFINES@ and @LDFLAGS@ in Makefile.
* (AR_FLAGS): Set to rc rather than qv.
(CC): Define as @CC@.
(CFLAGS): Set to @CFLAGS@.
(LDFLAGS): Define as @LDFLAGS@.
(ALL_CFLAGS): Use @HDEFINES@ rather than $(HDEFINES).
* Don't bother to call config.bfd for each target.
Just call it for the default target, and use the shell variable to
decide whether underscores are used.
Thu Aug 31 19:21:48 1995 Jason Molenda (
* match i[3-6]86-*-win32, not just i386-*-win32.
Thu Aug 31 16:30:22 1995 steve chamberlain <>
* dlltool.c (add_indirect): New.
(asm_prefix): New
(gen_exp_file): Timestamp should be 0. Insert prefix when
needed. New code for indirection.
(gen_lib_file): Timestamp should be 0. Insert prefix
when needed.
(usage): Document --add-indirect.
(main): Cope with new option.
* objdump.c (dump_private_headers): New.
(usage): Document new option.
(long_option): Add private-headers.
(dump_bfd_private_header): New.
(main): Cope with new option.
Thu Aug 31 04:09:16 1995 Doug Evans <>
* dlltool.c (run): Add missing 3rd arg to waitpid.
Wed Aug 30 11:02:11 1995 steve chamberlain <>
* (TOOL_PROGS): Include dlltool if needed.
Tue Aug 29 13:25:21 1995 steve chamberlain <>
* dlltool.c (rva): Deleted.
(rvaafter, rva_before): Use new assembler pseudo.
(flush_page, gen_exp_file, gen_lib_file): Use new way of RVAing.
(gen_exp_file): Don't generate .edata if no need.
(gen_lib_file): Don't make timestamp.
Put _iname in idata$7.
(workout_prefix): Fix memory initialization bug.
(usage): Tidy up, delete many single char options.
(main): rva option is gone.
Mon Aug 21 18:41:28 1995 steve chamberlain <>
* dlltool.c (options): image-base is a synonym for rva.
(gen_lib_file): Put dll name into ibase$7.
Sun Aug 20 09:59:00 1995 steve chamberlain <>
Modified to generate archives and objects rather than .s files.
* dlltool.c (run) New function.
(gen_exp_file, gen_lib_file): Use run.
(workout_prefix): New.
(usage): Document new options.
(main): Parse new options.
Wed Aug 16 16:26:52 1995 steve chamberlain <>
* dlltool.c (gen_exp_file): Fix RVA handling.
(rva_s, rva_n): Delete.
Fri Aug 11 18:27:18 1995 Ian Lance Taylor <>
* nm.c (main): Ignore -e.
Thu Aug 10 17:35:00 1995 Ken Raeburn <>
* (config.texi): New target. Write out a setting for
texinfo variable VERSION.
(binutils.dvi, Depend on it.
* binutils.texi: Include it, and reference @value{VERSION} instead
of explicitly specifying 2.2(!).
Thu Aug 10 16:07:53 1995 Ian Lance Taylor <>
* coffgrok.c (do_type): Handle array dimensions the same way gdb
Tue Aug 8 17:10:42 1995 steve chamberlain <>
* dlltool.c (mtable): New fields.
(flush_page): Use new macros.
Sat Aug 5 00:16:37 1995 Jeff Law (
* objcopy.c (mark_symbols_used_in_relocations): Handle sections
with no relocations.
* coffgrok.c (do_sections_p1): Likewise.
Mon Jul 31 12:51:06 1995 Ian Lance Taylor <>
* strings.c (print_strings): For compatibility with existing
strings programs, print strings which are not terminated with a
null byte or a newline.
* binutils.texi, strings.1: Update documentation accordingly.
* ar.c (replace_members): For compatibility with existing ar
programs, permit users to add the same file multiple times.
Tue Jul 25 11:21:53 1995 Ian Lance Taylor <>
* strings.c (DATA_FLAGS): Remove SEC_DATA.
(main): If no file names are given, scan standard input.
* binutils.texi, strings.1: strings now scans non-data sections by
Mon Jul 24 13:52:28 1995 J.T. Conklin <>
* srconv.c (wr_hd): Set afl field to 4 for bfd_arch_sh.
(writeINT): When size == -2, use 2 bytes for the h8300 and 4 bytes
for the sh.
* sysdump.c (fillup): Return size - 1, the last byte is a checksum
and shouldn't be counted.
* (hd): Changed segment identifier from a byte to a 1
bit field. The sysroff 2.0-01 specification seems to be in error
here. Reduce width of following "spare" field from 4 to 3 bits.
(rl): Changed order and width of first 4 bitfields to correspond
to sysroff specification.
(dln_head, dln_inside, dln_tail): Removed.
Tue Jul 18 23:00:03 1995 Fred Fish <>
* nm.c (sort_symbols_by_size): Enclose expression being casted
in parens so result is casted, not just first operand. Can't
do pointer arithmetic on void* pointers.
Fri Jul 14 13:42:42 1995 J.T. Conklin <>
* sysdump.c (dh): Changed format of output to be 16 hex digits
followed by 16 ascii characters, similar to Emacs' hexl-mode,
to make it easier to read.
(xcalloc): fix typo.
Thu Jul 13 15:27:44 1995 J.T. Conklin <>
* srconv.c (wr_tr): Write out handcrafted tr block.
(walk_tree_symbol): Use evallen and evalue instead of
vallen & value because of corresponding changes in
* sysdump.c (sysroff_swap_tr_in, sysroff_print_tr_out): New
* (tr): the tr block is a special case --- a block
without contents --- which can't be handled by generated code.
(den, dpp): only first byte is present for DENend, DPPend.
(dsy): describe a conditional portion of block, rename some fields.
(dps): describe a conditional portion of block.
(dfl): removed.
* sysinfo.y (yyerror): write error message to standard error.
Thu Jul 13 10:43:59 1995 Ian Lance Taylor <>
* (DISTSTUFF): Add arparse.h and sysinfo.h.
(mostlyclean): Remove y.output.
(clean): Remove sysroff, sysroff.c, sysroff.h, and sysinfo.
* nlmconv.c (powerpc_mangle_relocs): Cast memset arg to size_t.
* objcopy.c (copy_object): Likewise.
* nm.c (HAVE_SBRK): Define except on amigados and WINDOWS_NT.
(struct size_sym): Define.
(show_stats): New static variable.
(long_options): Add undocumented option "stats".
(main): Print memory stats if requested.
(sort_bfd, sort_dynamic, sort_x, sort_y): New static variables.
(numeric_forward): Use minisymbols rather than asymbols.
(non_numeric_forward): Likewise.
(size_forward1): Rename from size_forward. Use minisymbols.
(size_forward2): New static function.
(sort_symbols_by_size): Take new arguments dynamic, size, and
symsizep. Use minisymbols. Don't store the size back in the
symbol; store in a newly allocate struct size_sym array.
(display_rel_file): Read minisymbols rather than asymbols. Set
sort_* variables. Call print_size_symbols if sorting by size.
(filter_symbols): Take new arguments dynamic and size. Use
(print_symbols): Likewise. Call print_symbol for actual printing.
(print_size_symbols): New static function.
(print_symbol): New static function.
Wed Jul 12 10:43:05 1995 Ian Lance Taylor <>
* objdump.c (dump_section_stabs): Only print each stabs section
(compare_relocs): Make it clear to gcc that this always returns a
Wed Jul 12 10:40:23 1995 H.J. Lu <>
* objcopy.c (simple_copy): Preserve errno on failure.
(smart_rename): Print error mesage if simple_copy fails.
Tue Jul 11 13:10:52 1995 J.T. Conklin <>
* sysdump.c: re-indented file.
(module): read blocks sequentially instead of trying to parse
them, as that would require changing the parser recognize the
difference between a DPSstart and DPSend block.
(getone): Add break's between switch blocks as appropriate.
(object_body_list): parse blocks according to sysroff spec.
Mon Jul 10 12:37:25 1995 J.T. Conklin <>
* re-indented file, prior formatting was confusing
because it was indentation did not reflect nesting of conditional
records. Change "space size within segment" record in hd record
from bit to byte.
* sysinfo.y (cond_it_field): Use xcalloc instead of calloc.
* srconv.c (wr_cs): Reformatted cs header array, tag each byte
with a comment describing the field.
(wr_unit_info): Use SEEK_SET macro instead of constant 0.
(main): Use FOPEN_WB macro instead of literal "wb".
* Remove fdl (dfl) field from cs block. Compare
ptr->type with ED_TYPE_CONST instead of constant 2 in ed block.
Tue Jul 4 14:48:42 1995 Ian Lance Taylor <>
* nm.c (size_forward): Check yf against yn, not xn.
* objcopy.c (copy_archive): Record all output BFD's, and close
them before unlinking them and removing the temporary directory,
to avoid NFS problems.
* ar.c (replace_members): In verbose messages, use 'r' when
replacing a member, and 'a' when adding one.
* ar.c (ar_truncate): New static variable.
(normalize): Change return type to const char *. Add abfd
argument. Change all callers. If ar_truncate, chop the filename
to abfd->ar_max_namelen.
(main): For the 'f' modifier, set ar_truncate to true. Don't
change quick_append to replace if ar_truncate is true.
(do_quick_append): If ar_truncate, set BFD_TRADITIONAL_FORMAT.
(write_archive): Likewise.
* binutils.texi, ar.1: Document 'f' modifier.
* objcopy.c (enum strip_action): Define strip_unneeded.
(strip_options): Add "strip-unneeded".
(copy_options): Likewise.
(copy_usage): Mention --strip-unneeded.
(strip_usage): Likewise.
(is_strip_section): Strip debugging sections if strip_unneeded.
(filter_symbols): If strip_unneeded, only keep BSF_KEEP symbols.
(copy_object): If strip_all, discard symbols without checking
(copy_object): Call filter_symbols if strip_unneeded.
(setup_section): Strip debugging sections if strip_unneeded.
(copy_section): Likewise.
(strip_main): Handle OPTION_STRIP_UNNEEDED.
(copy_main): Likewise.
* binutils.texi, objcopy.1, strip.1: Document --strip-unneeded.
Mon Jul 3 14:16:47 1995 Steve Chamberlain <>
* (i386-*-win32): New configuration.
* dlltool.c (killat, xlate, usage, long_options, main):
Understand and cope with -k option.
Sat Jul 1 12:25:15 1995 Fred Fish <>
* ar.c: (extract_file): Change "#if POSIX_UTIME" to
"#ifdef POSIX_UTIME" to match other tests of POSIX_UTIME
and avoid lossage when POSIX_UTIME is not defined at all.
Wed Jun 28 17:51:24 1995 Steve Chamberlain <>
* ar.c: (print_contents.c, extract_file, do_quick_append):
Malloc buffers rather than allocate on stack (so it works
on NT).
* deflex.l: Names can have an @ in them.
* dlltool.c: Loads of stuff. Can now generate .imp files which
work with NT .dlls.
Thu Jun 22 19:10:50 1995 Stan Shebs <>
* (demangle.c.o): Remove.
(arparse.h): Depend on arparse.c instead of arparse.y.
Wed Jun 21 17:32:45 1995 Ken Raeburn <>
* (DISTSTUFF): Don't include info here.
(diststuff): Include it here.
(realclean): Remove *.info.
* objdump.c (compare_relocs): If relocation entries have the same
address, keep them in file order.
Mon Jun 19 09:06:49 1995 Steve Chamberlain <>
* dlltool.c: Change names of generated files. .*.s-> -*.s
* objdump.c (dump_section_stabs): Check for names
which are supersets of selected names.
Wed Jun 14 19:43:52 1995 Doug Evans <>
* dlltool.c (mtable, ARM jump): Must redirect via pc offsetable ptr.
Wed Jun 14 13:27:22 1995 Steve Chamberlain <>
* deflex.l, defparse.y, dlltool.c: New files.
*, Support for them.
Mon Jun 12 11:27:54 1995 Steve Chamberlain <>
* sysdump.c: Include sysdep.h
(main): Open input with FOPEN_RB.
Fri Jun 9 17:26:11 1995 Michael Meissner <>
* objdump.c (wide_output): New flag variable.
(usage): Print new -w, --wide options.
(long_options): Add --wide support.
(dump_section_header): If --wide, don't print a newline between
the section's first line and the flags.
(objdump_print_address): Use unsigned comparisons for the binary
search, not signed.
(disassemble_data): If --wide, don't put a \n between the
disassembly output and relocation information.
(main): Support -w option being the same as --wide.
Thu Jun 1 17:09:27 1995 Ken Raeburn <>
Sat May 6 08:52:24 1995 H.J. Lu (
* objcopy.c (smart_rename): make it smarter, clean up
if rename () fails.
Tue May 30 14:24:15 1995 Ken Raeburn <>
* Delete lines with lots of #### because four or more
indicate a point for makefile fragment substitution.
Tue May 9 17:17:05 1995 Michael Meissner <>
* Don't build nlmconv on PowerPC eabi any more, it
is not needed.
Thu Apr 27 20:21:24 1995 Doug Evans <>
* (EXPECT): Define.
(RUNTEST): Use one in source tree if present.
(check): Set `rootme' for $(EXPECT).
Wed Apr 26 18:26:21 1995 Steve Chamberlain <>
* srconv.c (main): Add support for -n option which disables
prescan of common symbols.
(wr_ob): If reading past the end of a section, fill with zeros.
Tue Apr 25 19:14:37 1995 Ken Raeburn <>
* objdump.c (dump_section_header): Display load address after
virtual memory (run-time) address.
Wed Apr 19 09:44:06 1995 Jason Merrill <>
* (cplus-dem.o): Pass -DVERSION='"$(VERSION)"' to the
(DEMANGLER_PROG): No longer uses version.o.
Mon Apr 10 13:29:49 1995 Stan Shebs <>
Merge in support for Mac MPW as a host.
(Old change descriptions retained for informational value.)
* (TDEFINES): Define as empty in makefile frag.
* Create mk.tmp, define ARCHDEFS in it.
* New file, MPW configure fragment for binutils.
* (install-only): New target.
(install): Also depend on install-only.
* (cplusfilt): Renamed from c++filt.
(INCLUDES): Add more paths.
* New file, MPW makefile fragment for binutils.
(Normally automatically generated from
Mon Mar 27 11:52:57 1995 Ian Lance Taylor <>
* ar.c (write_archive): Call make_tempname to get output file
name, rather than using a fixed name based on the input file.
* objcopy.c (make_tempname): Copy from here...
* bucomm.c (make_tempname): here, and make global.
* bucomm.h (make_tempname): Declare.
Fri Mar 24 11:47:42 1995 Ian Lance Taylor <>
* strings.c: Include "bfd.h" before other headers. Include
* bucomm.c (print_arelt_descr): Cast st_uid and st_gid to long,
and print them with %ld.
Fri Mar 10 13:09:42 1995 Ian Lance Taylor <>
* objcopy.c (strip_options): Add --keep-symbol.
(copy_options): Likewise.
(copy_usage): Mention --keep-symbol and -K.
(strip_usage): Likewise.
(keep_symbols): New static variable.
(is_strip_symbol): Adjust the return value according to
(strip_main): Handle -K. For -N, check that -K was not given.
(copy_main): Likewise.
* binutils.texi, objcopy.1, strip.1: Document -K.
Mon Mar 6 13:33:47 1995 Stan Shebs <>
* objcopy.c (copy_archive): Check result of mkdir.
(copy_main): Cast an xmalloc result.
* objdump.c (usage): Break long format string into shorter ones.
Mon Mar 6 13:46:12 1995 Ian Lance Taylor <>
* bucomm.c (list_supported_targets): New function.
* bucomm.h (list_supported_targets): Declare.
* ar.c (usage): Call list_supported_targets.
* nm.c (usage): Likewise.
* objcopy.c (copy_usage, strip_usage): Likewise.
* objdump.c (usage): Likewise.
* size.c (usage): Likewise.
* strings.c (usage): Likewise.
Tue Feb 28 15:13:58 1995 Ian Lance Taylor <>
* bucomm.c (print_arelt_descr): Cast st_size to long before
passing it to fprintf.
Fri Feb 17 13:36:45 1995 Ian Lance Taylor <>
* objcopy.c (struct section_list): Add fields remove, set_flags,
and flags. Change adjust from boolean to enum.
(remove_sections): Remove static variable.
(sections_removed): New static variable.
(copy_options): Add --set-section-flags.
(copy_usage): Mention --set-section-flags.
(parse_flags): New static function.
(find_section_list): New static function.
(is_strip_symbol): Change return type from int to boolean.
(is_strip_section): New static function.
(filter_symbols): Call is_strip_section.
(copy_object): When adding sections, check for specified flags or
VMA. Call filter_symbols if any sections are being removed.
(setup_section): Use find_section_list function rather than
looking through remove_sections and adjust_sections. Handle
(copy_section): Use find_section_list rather than looking through
(strip_main): Use find_section_list instead of adding items to
(copy_main): Use find_section_list instead of adding items to
sections_removed and adjust_sections. Handle --set-section-flags.
* binutils.texi, objcopy.1: Document --set-section-flags.
Tue Feb 14 18:03:03 1995 Ian Lance Taylor <>
* objdump.c (with_source_code): New global variable.
(usage): Mention -S/--source.
(long_options): Add --source.
(prev_functionname, prev_line): New static variables.
(struct print_file_list): Define.
(print_files): New static variable.
(skip_to_line, show_line): New static functions.
(disassemble_data): Call show_line to handle -l and -S.
(main): Handle -S.
* binutils.texi, objdump.1: Document -S/--source.
Thu Feb 9 16:11:53 1995 Ian Lance Taylor <>
* objcopy.c (copy_usage): Rename parameter to avoid shadowing.
(strip_usage): Likewise.
* objcopy.c (struct section_add): Define.
(add_sections): New static variable.
(copy_options): Accept --add-section.
(copy_usage): Mention --add-section.
(copy_object): Add sections from the add_sections list.
(copy_main): Handle --add-section.
* binutils.texi, objcopy.1: Document --add-section.
Wed Feb 1 15:04:57 1995 Ken Raeburn <>
* objdump.c (disassemble_data): Pass section offset, not absolute
address, to bfd_find_nearest_line.
* nlmconv.c (powerpc_mangle_relocs): Don't use const with
Thu Jan 26 18:50:06 1995 Ian Lance Taylor <>
* objdump.c (compare_symbols): Use bfd_asymbol_value (VAR) rather
than VAR->value.
(objdump_print_address): Likewise.
(disassemble_data): Don't change the symbol values. It can
confuse bfd_canonicalize_reloc.
Thu Jan 26 12:03:56 1995 Michael Meissner <>
* Add support for powerpc-*-ebai.
Wed Jan 18 10:02:12 1995 Steve Chamberlain <sac@splat>
* coffdump.c: Include sysdep.h.
(dump_coff_type): Handle coff_secdef_type.
* coffgrok.c : Include sysdep.h.
* srconv.c: Include libiberty.h
(absolute_p, dty_start, dty_end, dump_tree_structure): Remove.
Wed Jan 18 12:24:14 1995 Ian Lance Taylor <>
* coffdump.c (dump_coff_scope): Cast pointer to unsigned long for
* coffgrok.c: Include bucomm.h. Don't declare xmalloc.
(push_scope): Declare type of parameter link.
* size.c: Include libiberty.h.
* srconv.c: Include bucomm.h.
(find_base): Declare at top of file.
(wr_hd): Add default case to architecture switch.
(wr_dps_start): Declare type of parameter nest.
(wr_du): Comment out variables used only in commented out blocks.
(wr_dus): Remove unused variable i.
(wr_sc): Remove unused variables myinfo, low, and high.
* strings.c: Include libiberty.h.
* sysdump.c: Include <ctype.h>.
Tue Dec 20 19:13:44 1994 Ian Lance Taylor <>
* ar.c (main): Ignore 'f' modifier used on HP/UX 9.
Thu Dec 15 17:34:12 1994 Stan Shebs <>
* ar.c, nm.c, objcopy.c, objdump.c: Include progress.h.
* ar.c, nm.c, objcopy.c, objdump.c (main): Add START_PROGRESS
* ar.c (map_over_members, open_inarch): Call PROGRESS.
* nm.c (main, display_archive, filter_symbols, print_symbols):
* objcopy.c (copy_usage): Break up long usage string.
Wed Dec 14 15:51:56 1994 Ken Raeburn <>
* objcopy.c (copy_object): Don't bother setting status after
nonfatal() "call", because it won't return.
Fri Dec 9 00:22:54 1994 Ian Lance Taylor (
* nlmconv.c (powerpc_mangle_relocs): Don't switch a reloc to use
the section symbol if the symbol is undefined.
Thu Dec 8 14:45:50 1994 Ken Raeburn <>
* objcopy.c (add_strip_symbol): Cast return value of xmalloc.
Wed Nov 30 11:05:43 1994 Ian Lance Taylor <>
* ar.c (replace_members): Pass current->filename to normalize when
checking for duplicates, because the filename of a newly added
file will not have been normalized yet.
Thu Nov 17 15:00:13 1994 Ian Lance Taylor <>
* ar.c (main): Don't call do_quick_append if any of the archive
names are longer than 14 characters.
* objcopy.c (main): Fix is_strip test. From (Martin Pirker).
Thu Nov 17 15:37:19 1994 Mark W. Eichin <>
* objcopy.c (add_strip_symbol): New function, adds a name to an
explicit list of symbols to strip.
(is_strip_symbol): New function, reports whether the name argument
is in the explicit list.
(filter_symbols): Check against is_strip_symbol above all.
(strip_main): Recognize -N option. If used, don't default to
(copy_main): Recognize -N option.
(strip_usage): Document -N and --strip-symbol options.
(copy_usage): Ditto.
* objcopy.1, strip.1, binutils.texi: Document -N and
--strip-symbol options.
Tue Nov 8 13:12:54 1994 Ian Lance Taylor <>
* objdump.c (display_target_list, display_info_table): Pass an
array to tmparg, rather than NULL, since some systems can't handle
* objcopy.c (copy_archive): Keep a list of the names of the
temporary files we created. Close each input BFD after we open
its successor.
Mon Nov 7 15:48:39 1994 Ken Raeburn <>
* (VERSION): Bump to 2.5.3.
Thu Nov 3 19:04:34 1994 Ken Raeburn <>
* (install-info): Install info files from whatever
directory they were found in.
Patch from DJ Delorie:
* configure.bat: do c++filt -> cxxfilt right
* sysinfo.y: Include system header files early, so any potential
declaration of abort() occurs before its use.
* strings.c (strings_file): Try opening the file in binary mode
Wed Nov 2 15:44:13 1994 Ian Lance Taylor <>
* ar.c (main): Treat ar qs like ar rs.
Tue Oct 25 16:19:25 1994 Ian Lance Taylor <>
* objcopy.c (gap_fill): Explicitly initialize, for clarity.
(pad_to_set, pad_to): New static variables.
(copy_options): Accept --pad-to.
(copy_usage): Mention --pad-to.
(copy_object): Support --pad-to.
(compare_section_vma): Sort non loadable sections to the front.
Sort sections with the same VMA by size.
(copy_main): Handle --pad-to.
* binutils.texi, objcopy.1: Document --pad-to.
Thu Oct 20 13:51:31 1994 Ian Lance Taylor (
* objcopy.c (gap_fill_set, gap_fill): New static variables.
(copy_options): Accept --gap-fill.
(copy_usage): Mention --gap-fill.
(copy_object): Support --gap-fill.
(get_sections, compare_section_vma): New static functions.
(copy_main): Handle --gap-fill.
* binutils.texi, objcopy.1: Document --gap-fill.
Wed Oct 19 14:09:16 1994 Ian Lance Taylor <>
* (check): Add a dummy else clause to the if
* objcopy.c (copy_object): Revert yesterday's change.
* binutils.texi, objcopy.1: Remove special mention of --set-start
and `binary' output format.
Tue Oct 18 11:12:01 1994 Ian Lance Taylor <>
* objcopy.c (copy_object): If the output file format is `binary',
and the start address was not set using --set-start, default the
start address to zero. This hack is because the `binary' output
file format uses the start address to set the virtual address of
the first byte in the file.
* binutils.texi, objcopy.1: Add some notes on generating S-records
and binary files.
* nm.c (print_symdef_entry): Call print_symname to print the
symbol name, so that --demangle works.
* (mostlyclean): Remove tmpdir.
* objcopy.c (struct section_list): Add fields used, adjust, val.
(adjust_start, set_start_set, set_start): New static variables.
(adjust_section_vma, adjust_sections): New static variables.
(copy_options): Add --adjust-start, --adjust-vma,
--adjust-section-vma, --adjust-warnings, --no-adjust-warnings,
(parse_vma): New static function.
(copy_usage): Mention new options.
(copy_object): Handle --set-start and --adjust-start.
(setup_section): Correct type of last argument to PTR. Set used
field if section is removed. Handle --adjust-vma and
(copy_section): Correct type of last argument to PTR.
(mark_symbols_used_in_relocations): Likewise.
(strip_main): Clear used field when handling -R.
(copy_main): Handle new options.
* binutils.texi (objcopy): Document new options.
* objcopy.1: Document new options.
Fri Oct 14 14:38:13 1994 Ian Lance Taylor <>
* (configdirs): Remove definition--testsuite is no
longer configured.
* (testsuite): Remove target.
(site.exp): New target.
(check): Rewrite.
(clean, distclean): Don't recur into testsuite directory.
Thu Oct 13 19:24:09 1994 Ken Raeburn <>
* (VERSION): Updated to 2.5.
* Version 2.5 released.
Tue Oct 11 15:26:42 1994 Ian Lance Taylor <>
* (sysdump.o): Depends upon sysroff.c.
Mon Oct 10 13:50:30 1994 J.T. Conklin (
* nlmconv.c (link_inputs): Pass -Ur flag to ld so that the
ctor/dtor tables needed by C++ programs are built.
Sun Oct 9 18:04:00 1994 Jim Wilson (
* (srconv.o): Add dependence on sysroff.c.
Tue Oct 4 12:19:51 1994 Ian Lance Taylor <>
* Use ${config_shell} when running config.bfd.
* (sysroff.h): Split target away from sysroff.c.
(srconv.o, sysdump.o): New targets.
(srconv, sysdump): Don't depend upon sysroff.c.
Wed Sep 28 13:04:34 1994 Ian Lance Taylor (
* (arparse.c): Don't ignore errors from mv.
(sysinfo.c): Likewise. Also, depend upon arparse.c, to prevent a
parallel make from trying to build both arparse.c and sysinfo.c
(nlmheader.c): Similar change.
(arparse.h): Separate target from arparse.c, so that a parallel
make does not try to build both at once. Depend upon arparse.c.
(sysinfo.h): Similar change.
* objdump.c (disassemble_data): Pass the reloc buffer to free, not
the pointer used to loop over the relocs.
Sat Sep 24 16:16:57 1994 Stan Shebs (
* objdump.c (disassemble_data): Cast result of xmalloc.
Wed Sep 21 19:30:35 1994 Ian Lance Taylor (
* objdump.c (sorted_syms, sorted_symcount): New global variables.
(objdump_print_address): Use sorted_syms and sorted_symcount
instead of syms and symcount.
(disassemble_data): Don't bother to get the relocs before looping
over the sections. Before filtering and sorting the symbol table,
copy it into sorted_syms.
Fri Sep 16 11:27:39 1994 Ian Lance Taylor (
* objdump.c (struct objdump_disasm_info): Add field require_sec.
(objdump_print_address): If aux->require_sec, require that the
symbol be in aux->sec even if HAS_RELOC is not set. If we can't
find a smaller symbol in the right section, look for a larger one.
(disassemble_data): Set aux.require_sec around the
objdump_print_address call for the instruction address.
Thu Sep 15 21:43:17 1994 Ian Lance Taylor (
* ar.c: Call xexit rather than exit.
(output_filename, output_file, output_bfd): New static variables.
(remove_output): New static function.
(main): Call xatexit (remove_output). Call xexit rather than
(extract_file): Set output_filename and output_file while output
file is open.
(write_archive): Likewise, but use output_bfd, not output_file.
* arsup.c: Include libiberty.h. Call xexit rather than exit.
* bucomm.c: Likewise.
* objdump.c (disassemble_all): New global variable.
(usage): Document --disassemble-all.
(long_options): Add disassemble-all as a synonym for -D.
(compare_symbols): Make pointers const.
(compare_relocs): New static function.
(disassemble_data): Rename disassemble to disassemble_fn to avoid
shadowing. If dump_reloc_info, print relocs along with
disassembly. Skip sections which are not SEC_CODE unless
disassemble_all or only is set.
(display_bfd): Don't call dump_relocs if disassemble is set.
(main): Accept and handle -D.
* binutils.texi: Document -D/--disassemble-all.
* objdump.1: Likewise.
Wed Sep 14 12:19:07 1994 Ian Lance Taylor (
* objdump.c (disassemble_data): Initialize prevline to 0. Make
prev_function non const. Copy functionname into an malloc buffer
when setting prev_function, instead of assuming that the string
will last forever.
* nm.c: Include libiberty.h.
(sort_by_size): New static variable.
(long_options): Add --size-sort.
(usage): Mention --size-sort.
(numeric_forward): Make static. Change from void * to PTR.
(numeric_reverse): Likewise.
(non_numeric_forward, non_numeric_reverse): Likewise.
(sorters): Change declaration from void * to PTR.
(size_forward, sort_symbol_by_size): New static functions.
(display_rel_file): Handle sort_by_size.
(filter_symbols): If sort_by_size, discard absolute and undefined
* binutils.texi (nm): Document --size-sort.
* nm.1: Document --size-sort.
Tue Sep 13 21:06:06 1994 Jeff Law (
* objcopy.c (copy_main): Initialize input_filename and
output_filename to NULL.
Tue Sep 13 14:17:24 1994 Ian Lance Taylor (
* (version.o): Depend upon Makefile, so that version.o
gets rebuilt when make variable VERSION is changed.
* objdump.c (dump_section_header): Print the SEC_NEVER_LOAD flag.
Wed Aug 24 12:40:09 1994 Ian Lance Taylor (
* Change i[34]86 to i[345]86.
Tue Aug 23 11:00:40 1994 Ian Lance Taylor (
* ar.c (ranlib_touch): Don't update the archive map if there isn't
Mon Aug 22 16:02:18 1994 Ian Lance Taylor (
* ar.c: Include libiberty.h.
(inarch): Remove variable.
(map_over_members): Make static. Add arch argument, and use it
instead of inarch. Change all callers.
(main): Treat --version as -v. Accept -t argument. Accept any
number of archive arguments. Catch and use open_inarch return
value, rather than using inarch.
(open_inarch): Return newly opened BFD, rather than using inarch.
(do_quick_append): Make archive_filename const.
(write_archive): Add iarch argument, and use it instead of inarch.
Change all callers.
(delete_members, move_members, replace_members): Likewise.
(ranlib_only): Don't exit on success. Catch and use open_inarch
return value.
(ranlib_touch): New function.
* arsup.h (map_over_members): Don't declare.
(ar_end, ar_extract): Declare.
(open_inarch): Change return value in declaration to bfd *.
* arsup.c (map_over_list): Make static. Always pass two arguments
to function. Add arch argument, and use it instead of inarch.
Change all callers.
(ar_directory_doer): Make static. Add ignored second argument.
Change all callers.
(ar_directory): Use open_inarch return value rather than inarch.
(ar_addlib_doer): Make static.
(ar_addlib): Use open_inarch return value rather than inarch.
(ar_extract): Remove unused local variable abfd.
Thu Aug 11 14:55:57 1994 Ian Lance Taylor (
Add support for removing named sections to objcopy and strip.
* objcopy.c (struct section_list): Define.
(remove_sections): New static variable.
(strip_options, copy_options): Add remove-section.
(copy_usage, strip_usage): Mention -R and --remove-section.
(setup_section): If section is in remove_sections list, ignore it.
(copy_section): Likewise.
(strip_main, copy_main): Handle -R.
* binutils.texi, objcopy.1, strip.1: Document new options.
Wed Aug 10 10:19:55 1994 Stan Shebs (
* nlmconv.c (powerpc_mangle_relocs): Rename symvalue to sym_value,
so as not to conflict with the symvalue typedef in bfd.h.
Mon Aug 1 13:19:09 1994 Ian Lance Taylor (
* nlmheader.y: Per current NetWare docs, accept a revision number
of 0 and treat a revision number greater than 26 as 0.
Mon Jul 25 12:58:36 1994 Ian Lance Taylor (
* objdump.c (objdump_print_address): Correct handling of end of
symbols when looking for next symbol with a different value.
Fri Jul 22 16:48:34 1994 Ken Raeburn (
* nm.c (numeric_forward): Treat undefined symbols as "less than"
defined symbols with zero values. If numeric values are equal, or
both symbols are undefined, sort alphabetically. Don't assume
that the difference of two bfd_vma values will truncate to "int"
and still have the same sign.
(numeric_reverse): Call numeric_forward and negate the result.
(print_symbol_info_bsd): For undefined symbols, print leading
spaces equivalent to the width of a printed bfd_vma, rather than
assuming that 8 will look right.
Fri Jul 22 10:36:50 1994 Steve Chamberlain (
* coffgrok.c (doit): Zero all fields of new structure.
* srconv.c (sysroff_swap_*_out): Remove redundant trailing arg.
* sysinfo.y: Generate sysroff_swap_*_out without requiring extra
Fri Jul 22 10:09:53 1994 J.T. Conklin (
* nlmheader.y: Make "stack" and "stacksize" synonyms in the lexer
rather than the parser.
Thu Jul 21 10:25:09 1994 Ian Lance Taylor (
* config/mh-alphaosf, config/mh-apollo68v, config/mh-delta88:
Remove; obsolete.
Sat Jul 16 22:34:39 1994 Ian Lance Taylor (
* objdump.c (slurp_dynamic_symtab): Try to get the dynamic symbols
even if the bfd is not marked DYNAMIC. ELF executables are not
marked DYNAMIC, but do have dynamic symbols.
Fri Jul 15 01:41:35 1994 Steve Chamberlain (
* coffgrok.c (do_where): Make data with no type 'int'.
(do_define): Keep info on source file of a symbol.
* coffgrok.h (coff_symbol): New field.
* srconv.c (PROGRAM_VERSION): Now 1.3
(wr_rl): Use external ref number for symbol.
(wr_dus): Only keep one source file per debug unit.
(wr_dln): Always emit line numbers for first source file,
(wr_globals): Emit globals in the du of their owning source file.
Mon Jul 11 15:59:03 1994 J.T. Conklin (
* nlmheader.y: Null terminate var_hdr->threadName.
Fri Jul 8 17:33:22 1994 Ken Raeburn (
* (syslex.o, sysinfo.o): Permit C source files to be
in $(srcdir), as they will be for FSF releases.
Wed Jul 6 01:13:14 1994 Ian Lance Taylor (
* nlmconv.c (setup_sections): Preserve existing section flags when
copying in flags from a new section.
Tue Jul 5 15:56:01 1994 Ian Lance Taylor (
* objcopy.c: Include libiberty.h.
(copy_file): If output_target is NULL, set it to the target of the
input file.
Wed Jun 29 17:17:14 1994 J.T. Conklin (
* nlmconv.c (link_inputs): Fixed memory allocation bug.
Thu Jun 23 12:52:46 1994 David J. Mackenzie (
* Change --with-targets to --enable-targets.
Tue Jun 21 12:53:21 1994 Ian Lance Taylor (
* (sysinfo): Does not depend upon $(ADDL_LIBS).
* nlmconv.c (powerpc_build_stubs): Don't generate the PowerPC
NetWare custom header; no longer needed.
(powerpc_mangle_relocs): Convert relocs against the uninitialized
data section into relocs against the data section.
* Set nlmconv_defs to -DNLMCONV_cputype for all the
netware targets. Write it into Makefile as NLMCONV_DEFS.
* (nlmconv.o): Pass $(NLMCONV_DEFS) to $(CC).
* nlmconv.c: Only compile code for specific CPU types if
NLMCONV_cputype is defined.
* nlmconv.c (main): Change uses of bfd_abs_section, etc., to use
bfd_abs_section_ptr or bfd_is_abs_section, etc.
(i386_mangle_relocs, alpha_mangle_relocs): Likewise.
(powerpc_build_stubs): Likewise.
* nm.c (filter_symbols, print_symbols): Likewise.
* objcopy.c (filter_symbols): Likewise.
(mark_symbols_used_in_relocations): Likewise.
* objdump.c (remove_useless_symbols, dump_relocs): Likewise.
* size.c (sysv_internal_printer): Likewise.
Mon Jun 20 16:43:03 1994 Ken Raeburn (
(install): Install it explicitly, from build dir, not srcdir.
Mon Jun 20 16:29:54 1994 Ian Lance Taylor (
* objdump.c: Don't include elf/internal.h.
(bfd_elf_find_section): Don't declare.
(read_section_stabs): No special handling for ELF. Always read
using BFD sections.
Thu Jun 16 17:25:20 1994 Ian Lance Taylor (
* Set UNDERSCORE in Makefile based on result of
invoking config.bfd with a second argument of ``_''.
* (underscore.c): Depend upon Makefile. Don't try to
run $(CC) and $(NM), just use $(UNDERSCORE). Create via temporary
(demangle.o): Remove target.
($(NM_PROG)): Don't depend upon demangle.o, and don't link against
demangle.o. It's in libiberty anyhow.
(cplus-dem.o): Don't depend upon demangle.o.
* binutils.texi: Mention -n and --no-strip-underscores arguments
to c++filt.
Wed Jun 15 12:10:31 1994 Ian Lance Taylor (
* nm.c (long_options): Add --no-demangle to turn off --demangle,
and --no-cplus for Linux compatibility.
(usage): Mention --no-demangle.
* binutils.texi: Document --no-demangle.
Fri Jun 10 15:41:25 1994 Ian Lance Taylor (
* nm.c: HOST_64_BIT was renamed to BFD_HOST_64_BIT.
* objcopy.c (copy_archive): Make the temporary directory in the
same directory as the output BFD, since we may not have write
permission on the current directory. Set the permissions of the
new directory to 0700, not 0777.
Mon Jun 6 21:36:43 1994 D. V. Henkel-Wallace (
* if this is an rs6000 (and we're not building for
any other bfd targets) then build only nm (collect needs it on
* define TOOL_PROGS which the list of programes to
install in $tooldir -- replaces a hard-coded list.
Fri Jun 3 10:59:18 1994 Ian Lance Taylor (
* objdump.c (display_target_list): Remove unused local ok.
Thu May 26 18:05:52 1994 Ken Raeburn (
* config/mh-alphaosf (CFLAGS): Don't specify both -g and -O;
they're not compatible under native cc. Use -O1 instead.
* (VERSION): Updated to cygnus-2.4.1.
Changes from binutils-2.4 net release:
($(DEMANGLER_PROG).1): Build from, using sed.
* Renamed from c++filt.1, replaced "c++filt" with
magic token to be replaced by sed.
Wed May 11 22:32:00 1994 DJ Delorie (
* configure.bat: update for latest
Fri May 13 23:25:13 1994 Ian Lance Taylor (
* bucomm.c: Check ANSI_PROTOTYPES rather than __STDC__.
Tue May 10 18:22:06 1994 Jason Molenda (
* objcopy.c (copy_section): Set section size correctly if using
Sat May 7 16:49:36 1994 Steve Chamberlain (
* Add rule for sysinfo.h
Fri May 6 12:18:33 1994 Steve Chamberlain (
* (SRCONV_PROG): Define.
(PROGS): Use $(SRCONV_PROG) too.
Thu May 5 19:41:43 1994 Ken Raeburn (
* (DISTSTUFF): Add sysinfo.c, syslex.c, in case
someone configures with `targets=all'.
(distclean): Remove y.*.
(syslex.o): Depend on sysinfo.h.
(sysinfo.c): Rename to sysinfo.h.
(install-info): Don't try to install into $(infodir)/$(srcdir).
* syslex.l: Include sysinfo.h, not
Thu May 5 11:50:55 1994 Ken Raeburn (
* syslex.l (yywrap): Define as function if not defined as a macro.
* (objdump.o): Deleted special rule.
* Don't bother building ARCHDEFS variable for
* objdump.c (ARCH_*): Deleted handling.
(disassemble_data): Call `disassembler' from opcodes library.
Thu May 5 13:28:42 1994 Ian Lance Taylor (
* (install): Correct handling of $(tooldir) and
$(bindir) being on different devices.
Fri Apr 29 09:50:38 1994 Steve Chamberlain (
* sysdump.c (h8300, sh): Add declarations.
Wed Apr 27 11:25:18 1994 Steve Chamberlain (
* (syslex, sysinfo): Use CC_FOR_BUILD.
* coffdump.c, coffgrok.c, coffgrok.h, srconv.c, sysdump.c, Major changes.
Tue Apr 26 18:18:24 1994 Stan Shebs (
* objdump.c (print_section_stabs): Indicate the stab header symbol
more clearly, print numbers of unrecognized stab n_type values.
Tue Apr 26 16:22:55 1994 Ian Lance Taylor (
* nlmconv.c (copy_sections): Copy arelent pointers, not arelents.
Mon Apr 25 16:14:32 1994 Ian Lance Taylor (
* (distclean): Remove $(PROGS) and underscore.c.
Fri Apr 22 11:14:19 1994 Ian Lance Taylor (
* nlmconv.c (setup_sections): Remove special handling of .reginfo
(copy_sections): Likewise.
(alpha_mangle_relocs): Use bfd_ecoff_get_gp_value rather than the
special ECOFF .reginfo section.
* objcopy.c (copy_object): Call bfd_copy_private_bfd_data after
copying everything else, to let it fiddle with the file in its
final state.
* objdump.c: Include libiberty.h.
(display_target_list): If a format fails, just go on to the next
one. Check return value of bfd_set_format.
(display_info_table): Likewise. Don't increment loop variable in
for loop test, since that skips the first element.
(display_target_tables): Rewrite loop for clarity. Ensure that it
always prints at least one element.
* nlmconv.c (main): Use CyGnUsEx rather than CyGnUsSeCs for
sections header. Rename from cygnus_sections to cygnus_ext.
Thu Apr 21 12:12:26 1994 Ian Lance Taylor (
* objdump.c (_DUMMY_NAME_): Don't define.
(display_target_list): Use tmpnam to get a file name rather than
using _DUMMY_NAME_. Unlink it when done.
(display_info_table): Likewise.
* nlmconv.c (secsec): New static variable.
(main): Create .nlmsections section in output BFD. Store
information about it in sections header.
(setup_sections): Allocate space in sections header.
(copy_sections): Copy zero sized sections. Put information about
each section in the sections header.
Wed Apr 20 14:34:51 1994 Ian Lance Taylor (
* nlmconv.c (powerpc_build_stubs): Take new outbfd argument.
Change caller. Create custom header for new PowerPC NetWare
* (nlmheader.o, nlmconv.o): Update dependencies.
* nlmconv.c: Include bfd.h and libiberty.h with "", not <>.
* nlmheader.y: Include bfd.h with "", not <>.
Wed Apr 13 10:52:50 1994 Ian Lance Taylor (
* objdump.c: Do an ifdef on __GO32__, not unix.
Wed Apr 6 21:54:49 1994 Ian Lance Taylor (
Added -D (--dynamic) option to nm and -T (--dynamic-syms) and -R
(--dynamic-reloc) arguments to objdump.
* nm.c (dynamic): New static variable.
(long_options): Added "dynamic".
(usage): Mention -D and --dynamic.
(main): Add D to getopt string. Handle -D by setting dynamic.
(display_rel_file): If dynamic is non-zero, read dynamic symbols
rather than normal symbols.
* nm.1: Updated for -D (--dynamic) option.
* objdump.c (dump_dynamic_symtab): New global variable.
(dump_dynamic_reloc_info): New global variable.
(dynsyms, dynsymcount): New global variables.
(usage): Mention -R, -T, --dynamic-syms and --dynamic-reloc.
(long_options): Added "dynamic-reloc" and "dynamic-syms".
(slurp_symtab): If no symbols, return rather than exit.
(slurp_dynamic_symtab): New function.
(display_bfd): Handle dump_dynamic_symtab and
(dump_symbols): Take new dynamic argument, indicating whether to
display dynamic symbols.
(dump_relocs): Move most printing into dump_reloc_set.
(dump_dynamic_relocs): New function.
(dump_reloc_set): New function, extracted from dump_relocs.
(main): Add R and T to getopt string. Handle -T by setting
dump_dynamic_symtab and -R by setting dump_dynamic_reloc_info.
* objdump.1: Updated for -R (--dynamic-reloc) and -T
(--dynamic-syms) options.
* binutils.texi: Updated for new nm and objdump options.
Wed Mar 30 15:52:40 1994 Ian Lance Taylor (
Update for recent BFD changes to symbol and reloc reading. Rename
all uses of get_symtab_upper_bound to bfd_get_symtab_upper_bound.
* coffgrok.c (symcount): Change to long.
(do_sections_p1): Check for error return from
bfd_get_reloc_upper_bound. Change relcount to long, and check for
error from bfd_canonicalize_reloc.
(coff_grok): Change storage to long. Check for error from
bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
* nlmconv.c (main): Change symcount, newsymalloc, newsymcount, and
i to long. Check for error from bfd_get_symtab_upper_bound and
(copy_sections): Change reloc_size and reloc_count to long. Check
for error from bfd_get_reloc_upper_bound and
(mangle_relocs, i386_mangle_relocs, alpha_mangle_relocs): Change
reloc_count_ptr argument to long *. Make corresponding changes to
variables loaded from *reloc_count_ptr.
* nm.c (display_rel_file): Change storage and symcount to long.
Check for errors from bfd_get_symtab_upper_bound and
* objcopy.c (filter_symbols): Change symcount, src_count and
dst_count to long.
(copy_object): Change symcount to long. Pass another argument to
fprintf. Check for errors from bfd_get_symtab_upper_bound and
(copy_section): Change relcount to long. Check for errors from
bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
(mark_symbols_used_in_relocations): Change relcount and i to long.
Check for errors form bfd_get_reloc_upper_bound and
* objdump.c (storage): Remove global variable.
(symcount): Changed to long.
(slurp_symtab): New local variable storage. Check for errors from
bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
(remove_useless_symbols): Change return value and count to long.
(objdump_print_address): Change min, max, thisplace and i to long.
(disassemble_data): Change i to long.
(dump_symbols): Change count to long.
(dump_relocs): Change relcount to long. Check for errors from
bfd_ret_reloc_upper_bound and bfd_canonicalize_reloc.
(display_info_table): Add casts when passing LONGEST_ARCH for
printf %* argument.
Tue Mar 29 14:59:04 1994 Ian Lance Taylor (
* nm.c (display_archive): Close each archive element after it has
been displayed.
* objdump.c (display_file): Likewise.
Mon Mar 28 13:04:08 1994 Ian Lance Taylor (
* Change error message to refer to bfd/config.bfd
rather than bfd/
Sun Mar 27 16:23:39 1994 Jeffrey A. Law (
* More fixes for object formats which allow multiple sections
with the same name:
* objcopy.c (setup_section): Make a new output section even if
one already exists with the given name.
(copy_section): Use isection->output_section rather than trying
to look the output section up by its (possibly non-unique) name.
* (install-info): Look for in the
current directory, then in $(srcdir). Don't use $<.
Mon Mar 21 12:55:45 1994 Ian Lance Taylor (
* objdump.c (objdump_print_address): Make static. Declare with
prototype. Change vardiff from int to bfd_signed_vma. Correct
binary search termination condition. When looking for same
section symbol in relocatable file, handle final symbol correctly.
Sun Mar 20 11:26:36 1994 Jeffrey A. Law (
* Avoid bug in hpux sed.
* objcopy.c: Changes to keep it from stripping symbols used
in output relocations.
(mark_symbols_used_in_relocations): New function. Mark symbols
used in output relocations with BSF_KEEP.
(filter_symbols): Do not strip symbols marked with BSF_KEEP.
(copy_object): Reorder actions. First setup sections, then
build the output symbol table, then copy the section contents.
Fri Mar 18 10:53:55 1994 Ian Lance Taylor (
* ar.c (write_archive): Allocate space for the null byte. From
Robert Lipe <>.
Thu Mar 17 16:20:28 1994 Ian Lance Taylor (
* Built and to avoid problems with
collect when . is in PATH.
(STRIP_PROG): Change from strip to
(NM_PROG): Change from nm to
(install): Remove the .new when installing.
Wed Mar 16 16:27:05 1994 Ian Lance Taylor (
* nlmconv.c (powerpc_build_stubs): Set BSF_DYNAMIC flag for each
symbol for which we build a stub.
(powerpc_mangle_relocs): Only reset TOC pointer for a call to a
symbol with BSF_DYNAMIC flag set.
Tue Mar 15 23:04:13 1994 Jeffrey A. Law (
* objcopy.c (filter_symbols): Use bfd_is_local_label to determine
if a symbol represents a compiler-generated local label.
(copy_object): Give the BFD backends a chance to copy any private
bfd data from the input BFD to the output BFD.
(setup_section): Give the BFD backends a chance to copy any private
section data from the input section to the output section.
Mon Mar 14 11:15:58 1994 Jeffrey A. Law (
* objcopy.c (mangle_section): Delete unused function.
(setup_section): Set osection here instead of calling
mangle section to do it.
Mon Mar 14 12:11:01 1994 Ian Lance Taylor (
* ar.c (write_archive): Close inarch before unlinking it.
Fri Mar 11 22:20:48 1994 Ian Lance Taylor (
* nlmconv.c (main): For PowerPC, call powerpc_build_stubs and
powerpc_resolve_stubs. Use __GOT0, not __toc_start. Handle it if
the start and end symbols are not in the text section.
(struct powerpc_stub): New struct definition.
(powerpc_stubs, powerpc_stub_insns): New static variables.
(powerpc_initial_got_size): New static variable.
(powerpc_build_stubs): New function.
(powerpc_resolve_stubs): New function.
(powerpc_mangle_relocs): Clear extraneous data in .got section.
Rearrange reloc handling to handle ELF relocs that are not
partial_inplace. Resolve PC relative relocs.
Wed Mar 9 13:48:11 1994 Steve Chamberlain (
* ar.c (move_members): Fix it so that the abi positional modifiers
don't delete all archive members following the insert point.
Tue Mar 8 13:14:43 1994 Steve Chamberlain (
* coffgrok.[ch]: New files, understand coff objects.
* coffdump.c: Uses coffgrok to dump out the debug info of a coff
* Description of a SYSROFF object file.
* sysinfo.y, syslex.l: Parse info file, generate a reader, writer,
header files and a printer.
* srconv.c: Uses coffgrok.c and to convert a coff
file to a SYSROFF file.
Sat Feb 26 13:35:26 1994 Stan Shebs (
* ar.c (do_quick_append): Pad with a genuine character 10,
rather than whatever '\n' might happen to be.
Tue Feb 22 18:25:52 1994 Ian Lance Taylor (
* nlmconv.c (main): Ignore debugging symbols when looking for
special symbols by name.
Sun Feb 20 18:47:42 1994 Ian Lance Taylor (
* nlmconv.c: Include libiberty.h.
Support for PowerPC NetWare.
* nlmconv.c (main): For PowerPC NetWare, automatically define the
special symbols __toc_start.
(select_output_format): Handle bfd_arch_powerpc.
(mangle_relocs): Likewise.
(powerpc_mangle_relocs): New function.
Thu Feb 17 09:28:23 1994 David J. Mackenzie (
* ar.c, bucomm.c, nlmconv.c, nm.c, objcopy.c, objdump.c,
size.c: Use bfd_get_error and bfd_set_error and new error names.
Fri Feb 11 15:54:51 1994 David J. Mackenzie (
* objcopy.c (strip_main, copy_main): Add missing 'break' in switch.
Mon Feb 7 19:45:52 1994 Ian Lance Taylor (
* objdump.c (disassemble_data): Handle bfd_arch_powerpc.
Sun Feb 6 22:08:20 1994 David J. Mackenzie (
* strings.c objdump.c nlmconv.c objcopy.c nm.c ar.c size.c (main):
Call xmalloc_set_program_name.
Fri Feb 4 10:46:01 1994 David J. Mackenzie (
* objcopy.c (filter_bytes): Make MEMHUNK a char *, not PTR, so we
can do arithmetic on it.
Thu Feb 3 14:06:41 1994 David J. Mackenzie (
* objdump.c (dump_section_stabs, read_section_stabs,
print_section_stabs): Functions broken out of dump_stabs_1.
Free the stabs and strings when done with them.
Wed Feb 2 13:42:23 1994 David J. Mackenzie (
* nlmconv.c (main): Use bfd_get_flavour instead of struct member.
* ar.c (print_contents, extract_file), size.c
(print_berkeley_format, print_sysv_format): Use bfd_get_filename and
bfd_my_archive instead of dereferencing the structs directly.
* ar.c: Use bfd_fatal and bfd_nonfatal instead of bfd_perror and exit.
Indent. Remove DEFUNs.
* nlmconv.c (main), objcopy.c (copy_file): Print matching formats
if ambiguous match.
* nm.c (display_file, display_archive), size.c (display_bfd):
Eliminate gotos.
Print matching formats if there is an ambiguous match. Use
bfd_nonfatal instead of hardcoded error message if nothing matches.
* arsup.c, ar.c, objdump.c: Use bfd_get_filename instead of
* nm.c (display_archive): New function, from code in display_file.
(display_rel_file): Renamed from do_one_rel_file.
* size.c: Indent.
(display_archive): New function from code in display_file.
(display_file): Check bfd_close error return.
* strings.c (strings_object_file): Check bfd_check_format
error return.
* strings.c, objdump.c, size.c: Use bfd_nonfatal instead of bfd_perror.
* bucomm.c: Delete references to exit_handler. It wasn't set
anywhere, and now that we're using the libiberty xmalloc, it
wouldn't always get called before exiting.
(list_matching_formats): Function moved from objdump.c.
* bucomm.h: Declare it.
* objdump.c (disassemble_data): Move some variable decls closer to
their use. Add some comments. Replace a nested block with a
Mon Jan 31 18:50:41 1994 Stan Shebs (
* objdump.c (display_target_list, display_info_table): Check that
the bfd of the dummy output file is not null.