4 * configure.bat: Remove; obsolete.
8 * readelf.c (get_machine_flags): Print EF_SPARC_SUN_US3.
12 * configure.in: Bump version number to 2.9.5.
17 * objdump.c (dump_section_header): Print SEC_SHORT.
21 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
22 as appropriate. Add variable initializations. Add casts.
23 * objdump.c (disassemble_bytes): Change j to bfd_vma.
24 * readelf.c (process_syminfo): Change i to unsigned int.
25 (display_debug_info): Change abbrev_number to unsigned long.
26 (process_mips_specific): Change fcnt to size_t.
30 * readelf.c: Only support decoding 64bit ELF files if the compiler
31 supports a 64 bit data type.
32 Add -I equivalent for --histogram.
33 Add -A command-line option to display architecture specific information.
37 * readelf.c (guess_is_rela): Sparcv9 and v8plus use rela.
38 (dump_relocations): Use ELF64_R_TYPE_ID for Sparc, for R_SPARC_OLO10
39 print the secondary addend.
40 (get_machine_flags): Print Sparc machine flags.
41 (get_symbol_type): Print STT_REGISTER.
45 * stabs.c (parse_stab_type): Fix handling of template names with
46 template parameters containing `::'.
47 (stab_demangle_type): Handle a qualified name in a pointer to
52 * Makefile.am (dlltool_SOURCES): Add dyn-string.c.
53 * Makefile.in: Rebuild.
57 * configure.in (HAVE_EXECUTABLE_SUFFIX): Define.
58 * dlltool.c (look_for_prog): Use HAVE_EXECUTABLE_SUFFIX.
59 * dllwrap.c (look_for_prog): Likewise.
60 * resrc.c (look_for_default): Likewise.
61 * configure, config.in: Rebuild.
66 * configure.in: Define EXECUTABLE_SUFFIX.
67 * dlltool.c: Include "dyn-string.h". Include <stdarg.h> based on
68 ANSI_PROTOTYPES, not __STDC__.
70 (gen_exp_file): Change uses of outfile to use alloca.
71 (make_one_lib_file, make_head, make_tail): Likewise.
72 (gen_lib_file): Likewise.
73 (look_for_prog): New static function.
74 (deduce_name): Rewrite to use look_for_prog.
75 (mcore_elf_gen_out_file): Use dyn_string_t rather than outfile.
76 * dllwrap.c: Don't include <stdio.h>, <errno.h>, <string.h>,
77 <stdlib.h>, or <unistd.h>. Include <sys/stat.h> and either
78 <stdarg.h> or <varargs.h>.
79 (driver_name): Initialize to NULL, not "gcc".
80 (dlltool_name): Initialize to NULL, not "dlltool".
81 (display, inform, look_for_prog, deduce_name): New static
83 (usage): Mention -mno-cygwin.
84 (OPTION_MNO_CYGWIN): Define.
85 (main): Handle -mno-cygwin. Deduce driver_name and dlltool_name.
86 * resrc.c (look_for_default): Make static. Remove unused local
87 path. Check using EXECUTABLE_SUFFIX.
88 (read_rc_file): Allocate enough space to hold EXECUTABLE_SUFFIX.
89 * Makefile.am: Rebuild dependencies.
90 (dllwrap_LDADD): Add $(INTLLIBS).
91 * configure, Makefile.in, config.in: Rebuild.
95 * readelf.c (dump_relocations): Use elf_hppa_reloc_type instead of
96 elf32_hppa_reloc_type.
100 * dlltool.c (mcore_elf_gen_out_file): Link object files with the
101 .exp file, not the .lib file.
105 * deflex.l: Accept single-character symbol names.
109 * readelf.c (get_symbol_type): Detect ARM symbols typed as Thumb
114 * objdump.c (disassembler_options): New variable.
115 (usage): Document new -M/--disassembler-options option.
116 (long_options): Add --disassembler-options.
117 (disassemble_data): Initialise disassembler_options field of
118 disassembler_info structure.
119 (main): Add parsing of -M option.
121 * binutils.texi: Document new command line switch to objdump.
123 * NEWS: Describe new command line switch to objdump.
128 * binutils.texi: Fix typos.
132 * objdump.c (disassemble_bytes): If the disassembler returns an
133 error, print out anything it may have printed to the buffer. From
136 * defparse.y (explist): Remove separate expline to eliminate
137 shift/reduce conflict.
140 * defparse.y: Add tokens NONSHARED, SINGLE, MULTIPLE,
141 INITINSTANCE, INITGLOBAL, TERMINSTANCE, and TERMGLOBAL.
142 (command): Add option_list after LIBRARY.
143 (attr): Accept and ignore NONSHARED, SINGLE, and MULTIPLE.
144 (option_list, option): New nonterminals.
145 * deflex.l: Recognize NONSHARED, SINGLE, MULTIPLE, INITINSTANCE,
146 INITGLOBAL, TERMINSTANCE, and TERMGLOBAL.
150 * ar.c (O_BINARY): Define as 0 if not defined.
151 (ranlib_touch): Open file with O_BINARY.
153 * rename.c (O_BINARY): Define as 0 if not defined.
154 (simple_copy): Open files with O_BINARY.
157 * objcopy.c (struct section_list): Add copy field.
158 (sections_copied): New static variable.
159 (copy_options): Add "only-section".
160 (copy_usage): Mention -j and --only-section.
161 (find_section_list): Initialize copy field.
162 (is_strip_section): Check for copying sections.
163 (copy_object): Check sections_copied when calling filter_symbols.
164 (setup_section): Check for copying sections.
165 (copy_section): Likewise.
166 (copy_main): Handle -j/--only-section.
167 * binutils.texi, objcopy.1: Document -j/--only-section.
169 * configure.in: If frexp is not available, check in -lm.
170 * configure: Rebuild.
172 * readelf.c (get_elf_class): Use correct printf format for type.
173 (get_data_encoding): Likewise.
174 (get_osabi_name): Likewise.
175 (process_file_header): Don't pass an extra argument to printf.
176 (process_dynamic_segment): Cast dynamic_size to long before
178 (decode_location_expression): Cast byte_get to long before
183 * readelf.c (dump_section): Cast values from byte_get to
184 [unsigned] long for printing, in case it is wider than long.
185 (display_block): Likewise.
186 (read_and_display_attr): Likewise.
187 (decode_location_expression): Likewise. Don't depend on
192 * windres.c (usage): Fix typo.
196 * readelf.c: Use 64bit wide fields in internal strcutures even if
197 targetting a 32bit architecture.
198 (dump_relocations): Take a new parameter - the number of symbols
203 * readelf.c: Add support for 64bit ELF files.
207 * dlltool.c (mcore_elf_gen_out_file): Use constants for temporary
212 * dlltool.c (gen_exp_file): Revert 19990411 change.
216 * readelf.c (process_relocs): Determine type of reloc from
217 DT_PLTREL and from section type.
221 * readelf.c (get_elf_class): Display unknown class number.
222 (get_data_encoding): Display unknown encoding number.
223 (get_osabi_name): Display unknown ABI number.
224 (process_file_header): Display unknown version number.
228 * readelf.c (dump_relocations): Fix typo.
232 * readelf.c (dump_relocations): Add extra parameter: is_rela to
233 specify the kind of relocations to be dumped. Call guess_is_rela
234 if this parameter has a value of UNKNOWN.
235 (guess_is_rela): New function: Guess the kind of reloc being used
236 baced on the machine number.
237 (process_relocs): Determine type of reloc before calling
242 * readelf.c: Include "elf/i960.h".
243 (dump_relocations): Handle EM_960.
247 * objcopy.c (copy_archive): Preserve dates of archive members if
250 * readelf.c (dump_relocations): Always print the addend on RELA
251 systems even if there is no symbol.
252 (process_program_headers): Reset dynamic_size before looping
253 through the program headers.
254 (process_version_sections): Cast sh_offset to unsigned long for
255 printing in case bfd_vma is wider.
256 (process_symbol_table): Use get_symbol_index_type when printing
261 * windres.c: add verbose option
262 (main): process verbose option
263 * resrc.c (look_for_default): new. Look for the default
264 preprocessor in a given location.
265 (read_rc_file): for foo/bar-windres, look for foo/bar-gcc,
266 foo/gcc (in case of foo/windres), and then gcc (the old default).
270 * dlltool.c (deduce_name): New function: Deduce name of program to
272 (mcore_elf_out_file): New variable: Name of mcore-elf output file.
273 (mcore_elf_linker): New variable: Name of linker to use.
274 (mcore_elf_linker_flags): New variable: Linker flags to pass.
275 (scan_obj_file): Cache filenames if necessary.
276 (usage): Document new command line options.
277 (main): Support new command line options: -M (generate an
278 mcore-elf output file) -L (name of linker to use) -F (flags to
280 (mcore_elf_cache_filename): Store a filename in a cache.
281 (mcore_elf_gen_out_file): New function: Generate an output file
282 per the mcore-elf spec.
286 * configure.in (BUILD_MISC): Build dlltool for mcore
287 * configure: Regenerate.
288 * dlltool.c: Update example in comment.
289 (DLLTOOL_MCORE): Define.
290 (DLLTOOL_MCORE_ELF): Define.
291 (DRECTVE_SECTION_NAME): Define.
292 (mcore_be_jtab, mcore_le_jtab): Binary for performing an mcore
294 (mtable): Add entries for mcore variants.
295 (rvaafter, rvabefore, asm_prefix): Add mcore suppport.
296 (scan_drectve_symbols): Use DRECTVE_SECTION_NAME.
297 (make_head, make_tail): Cope if file cannot be created.
298 (usage): Improve layout.
302 * rclex.l: add code to suppress certain output from cpp, replace
303 all returns with MAYBE_RETURN
304 (MAYBE_RETURN): new, implement the suppression by returning
305 IGNORED_TOKEN as needed.
306 (cpp_line): remember which file we're in, mark data from included
307 *.h files for suppression.
308 * rcparse.y (input): allow IGNORED_TOKEN outside of known constructs
312 * windres.c (quot): Quote shell metacharacters in a string
313 (main): quote parameters to cpp that might have metacharacters in
314 them. Allow -D as an alias for --define to allow for sharing make
317 * objdump.c (dump_reloc_set): don't core if howto->name is NULL
319 * Makefile.am: Give rescoff.c a cpu-specific -D so it can set
322 * rescoff.c (write_coff_file): Set the correct BFD
326 * rename.c (smart_rename): Fix test of whether file exists.
330 * objdump.c (disassemble_data): Set display_endian based on target
335 * dlltool.c (interwork): Remove.
336 (arm_interwork_jtab): Use bx insn.
337 (thumb_jtab): Likewise.
338 (MARM_INTERWORK): New machine type.
339 (rvaafter): Handle it.
340 (rvabefore) Likewise.
341 (asm_prefix): Likewise.
342 (gen_exp_type): Check machine type instead of
344 (make_one_lib_file): Likewise.
345 (make_head): Likewise.
346 (make_tail): Likewise.
347 (usage): Update machine types.
348 (main): Remove -interwork support.
352 * readelf.c (get_machine_flags): Check for EF_CPU32.
353 (get_data_encoding): Fix typo.
357 * aclocal.m4, configure: Updated for new version of libtool.
361 * stabs.c (parse_stab_range_type): Correct parenthesization in
364 * readelf.c (get_section_type_name): Use correct types in printf
366 (process_relocs): Likewise.
367 (process_dynamic_segment): Likewise.
368 (process_symbol_table): Likewise.
369 (process_mips_specific): Likewise.
373 * dlltool.c (make_one_lib_file): Mark thumb functions as
378 * bucomm.h (environ): Declare it, if needed.
379 (alloca) [C_ALLOCA]: Don't use gcc's builtin or <alloca.h>.
380 * configure.in (environ): Detect declaration.
381 * nm.c (main): Don't declare environ.
382 * configure, config.in: Rebuild.
384 * dlltool.c (gen_exp_file): Pad out the .reloc section to a
385 32-byte boundary with dummy relocations, to make the BeOS loader
390 * binutils.texi (c++filt): Updated for -j/--java, and hp/edg
395 * readelf.c: Add ability to decode new constants found in April 25
396 1998 Draft of System V ABI spec.
400 * bucomm.h (LC_MESSAGES): Never define.
401 * addr2line.c (main): Don't pass LC_MESSAGES to setlocale if the
402 system does not define it.
403 * ar.c (main): Likewise.
404 * coffdump.c (main): Likewise.
405 * dlltool.c (main): Likewise.
406 * nlmconv.c (main): Likewise.
407 * nm.c (main): Likewise.
408 * objcopy.c (main): Likewise.
409 * objdump.c (main): Likewise.
410 * size.c (main): Likewise.
411 * srconv.c (main): Likewise.
412 * strings.c (main): Likewise.
413 * sysdump.c (main): Likewise.
414 * windres.c (main): Likewise.
415 * readelf.c (main): Call locale setting functions.
419 * readelf.c (decode_location_expression): Fix DW_OP_const8{s|u}
424 * rename.c: New file, copied out of objcopy.c with a few changes.
425 * bucomm.h (set_times, smart_rename): Declare.
426 * ar.c: Don't include <utime.h>.
427 (extract_file): Call set_times rather than utime.
428 (write_archive): Call smart_rename rather than unlink and rename.
429 * objcopy.c: Don't include <utime.h>.
430 (simple_copy, smart_rename, set_times): Move to rename.c.
431 (strip_main): Update smart_rename call for new parameter.
432 (copy_main): Likewise.
433 * Makefile.am: Rebuild dependencies.
434 (CFILES): Add rename.c.
435 (objcopy_SOURCES, strip_new_SOURCES): Add rename.c.
436 (ar_SOURCES, ranlib_SOURCES): Add rename.c.
437 * Makefile.in: Rebuild.
439 * Makefile.am: Rebuild dependencies.
440 (EXTRA_PROGRAMS): Remove backslash which troubles current version
442 * Makefile.in: Rebuild.
444 * dllwrap.c (main): Expect correct type in format string.
445 * resres.c: Include "bfd.h", "bucomm.h", "libiberty.h", and
446 <time.h>. Don't include <stdio.h> and <errno.h>.
447 (write_res_file): Remove unused locals e and i.
448 (read_resource_entry): Remove unused locals rtype and n.
449 (read_unistring): Remove unused local n.
453 * arparse.y: Declare yylex.
454 * objdump.c (disassemble_bytes): Initialize bytes. Add comment
455 for incorrect use of bytes.
456 * readelf.c: Change many formats to avoid warnings.
460 * readelf.c (reset_state_machine): New function. Resets the
461 registers of the source line number state machine.
462 (process_extended_line_op): Use state machine.
463 (display_debug_lines): Use state machine. Handle multiple line
464 number blocks within the same section.
468 * readelf.c (process_extended_line_op): end_sequence also resets
470 (display_debug_lines): advance_line takes a signed operand.
471 (read_and_display_attr): Print refs as <%x>, addresses as %#x,
472 others as %d. Handle other location expression attributes.
473 (display_debug_info): Handle nesting. Always print the offset.
477 * objcopy.c (filter_symbols): When checking whether to keep a
478 symbol, check the BFD section symbol for a symbol with
483 * readelf.c (process_dynamic_segment): Print new Solaris dynamic
484 section entries. Correct printing of DT_POSFLAG_1 and DT_FLAGS_1.
488 * readelf.c (request_dump): New function.
489 Removed arbitary limit on the number of sections that can be
494 * dlltool.c (make_one_lib_file): Use %05d to output the stub name so
495 order in the import library is preserved.
499 * readelf.c: Fix compile time warings.
503 * resbin.c (res_to_bin_versioninfo): Instead of entering a value
504 length of zero in a version info string, enter the appropriate
509 * configure.in: Require autoconf 2.13. Change AM_PROG_INSTALL to
510 AC_PROG_INSTALL. Add comments for AC_DEFINE calls.
511 * acconfig.h: Remove.
512 * aclocal.m4: Rebuild.
513 * configure: Rebuild.
514 * Makefile.in: Rebuild.
515 * config.in: Rebuild.
519 * readelf.c (read_and_display_attr): Add display of basic type
521 (display_debug_aranges): New function: Display the contents of a
522 .debug_aranges section.
523 (display_debug_info): Dump tags found after compunit entry.
525 * binutils.texi: Fixed bug in readelf documentation.
529 * readelf.c (dump_relocations): Handle EM_ARM as REL.
533 * readelf.c (process_symbol_table): Do not produce a histogram of
534 bucket chains if none were found.
538 * version.c: Add 1999 copyright.
540 * binutils.texi (readelf): Document new command line options
541 --debug-dump and --histogram.
543 * readelf.c: Add ability to display contents of some or all of the
544 Dwarf2 debug sections. {Work only partially completed}.
545 (display_debug_section): New function.
546 (display_debug_info): New function.
547 (display_debug_not_supported): New function.
548 (display_debug_line): New function.
549 (display_debug_abbrev): New function.
550 (process_abbrev_section): New function.
551 (read_leb128): New function.
552 (process_extended_line_op): New function.
553 (get_TAG_name): New function.
554 (get_AT_name): New function.
555 (get_FORM_name): New function.
556 (free_abbrevs): New function.
557 (add_abbrev): New function.
558 (add_abbrev_attr): New function.
559 (read_and_display_attr): New function.
560 (display_block): New function.
564 * coffdump.c (xcalloc): Remove, in libiberty now.
565 * srconv.c (xcalloc): Likewise.
566 * sysdump.c (xcalloc): Likewise.
570 * readelf.c (process_section_headers): Omit trailing space at end
571 of section header contents line.
575 * aclocal.m4: Regenerate.
579 * dllwrap.c: Include bfd.h and bucomm.h. Move getopt.h include
580 after libiberty.h include.
584 * objdump.1: Fix typo (-d to -D). From Nokubi Hirotaka
589 * objdump.c (SFILE): Add size field.
590 (objdump_sprintf): Merge both versions into one. Increase buffer
591 size as needed to avoid overflow.
592 (disassemble_bytes): Change buf from 1000 bytes to 50. Change
593 initialization and use of sfile to match changes to
596 * strip.1: Fix typo (-V to -v). From Issei Hirayama
601 * readelf.c (process_dynamic_segment): Improve output format for
606 * readelf.c (process_mips_specific): Print .conflict section
609 * readelf.c (process_mips_specific): Print l_flags in liblist in
614 * ar.c (extract_file): Add some paranoia checks for negatively
619 * stabs.c (DIR_SEPARATOR): Define as '\\' if WIN32 is defined.
623 * Makefile.in: Regenerate.
627 * po/binutils.pot: Regenerate.
631 * Makefile.am: Regernated dependencies.
632 * aclocal.m4: Regenerated.
633 * configure: Regenerated.
637 * debug.c (debug_name_type): Correct return type from false to
642 * objdump.c (disassemble_data): Skip over relocs below start
647 * Makefile.am: Add dependency of readelf.c on elf/fr30.h
648 * Makefile.in: Regenerate.
652 * readelf.c: Add support for the FR30.
656 * configure.in: detect cygwin* instead of cygwin32*
657 * configure: regenerate
661 * dllwrap.c: change all references to cygwin32_ to cygwin_,
662 change Cygwin target def to CYGWIN.
666 * objdump.c (disassemble_data): Replace 'unsigned long' with
671 * objdump.c (disassemble_bytes): Applied this patch from Philip
673 avoid problems when disassembling code at high-bit-set addresses.
677 * dllwrap.c (strhash): New function.
678 (main): Use it to supply image base if not supplied by user.
679 (program_version): Up to 0.2.4.
683 * dlltool.c (add_stdcall_alias): New global.
684 (long_options): Add --add-stdcall-alias option.
686 (scan_drectve_symbols): Add alias if --add-stdcall-alias is
688 (scan_filtered_symbols): Likewise.
689 (gen_def_file): Output alias for stdcall syms if appropriate.
691 * binutils.texi (dlltool): Document --add-stdcall-alias option.
693 * dllwrap.c (long_options): Add --add-stdcall-alias option.
696 * defparse.y (opt_name): Allow "." in name.
697 * dlltool.c (def_name): Set dll_name from NAME entry in def file.
698 (def_library): Set dll_name from LIBRARY entry in def file.
702 * dllwrap.c (long_options): --implib synonym for --output-lib.
703 (main): Pass --export-all to dlltool only if specified.
704 (program_version): Up to 0.2.3.
708 * dllwrap.c (mybasename): New function.
709 (main): Run dlltool to create export definition file and import
710 library file if necessary.
711 Change exp_file_name so that it's based on the dll name.
715 * dlltool.c (scan_all_symbols): Fix patch error.
719 * nm.c (display_rel_file): fix "no symbols" messages.
720 * objdump.c (slurp_symtab): ditto.
721 * po/POTFILES.in, po/binutils.pot: rebuilt
725 * readelf.c (dump_relocations): Rename field from Value to Info to
726 match name of field in ELF structures.
730 * configure.in: call AC_EXEEXT instead of AM_EXEEXT and
732 * aclocal.m4: remove local AM_EXEEXT/AM_CYGWIN32 macros.
733 * configure: regenerate
738 * dlltool.c (scan_all_symbols): Don't re-export symbols exported
743 * Makefile.am (BUILD_DLLWRAP): Add.
744 (BUILD_DLLWRAP, DLLWRAP_PROG): Add.
745 (bin_PROGRAMS): Add dllwrap.
746 * Makefile.in: regenerate with automake
749 * dllwrap.c: New file from dllhelpers v0.2.1.
750 (print_version): New function.
751 (long_options): Add --version.
753 * dyn-string.h, dyn-string.c: New files from egcs-1.1/gcc.
754 * configure.in (BUILD_DLLWRAP): Add.
755 * configure: Regenerate.
759 * Makefile.am (windres_SOURCES): Add resres.c.
760 (windres_OBJECTS): Add resres.o.
761 * Makefile.in: regenerate with automake
764 * resres.c: New file. Implementation of read_res_file and
765 write_res_file functions for windres.
766 * rcparse.y: Handle CONTROL's with named classes.
767 * resbin.c: Bug in res_to_bin_dialog and bin_to_res_dialog
768 when dialog is extended: The version and signature fields should
769 be reversed (despite what the docs say). Id is 32 bits long in
771 * resrc.c (write_rc_dialog): properly print controls with named
773 * windres.c (read_res_file, write_res_file): Remove stubs.
774 * resres.c (write_res): Rename RT_ACCELERATORS to RT_ACCELERATOR.
779 * objcopy.1: Fix typo in --remove-leading-char docs.
780 * objdump.1: Fix formatting in --stabs docs.
784 * rcparse.y (memflags_move): Correct recursion.
788 * readelf.c (process_symbol_table): Print in histogram how many
789 symbols are covered by the current chain length.
793 * readelf.c (process_section_contents): Do not try to dump empty
798 * dlltool.c (scan_all_symbols): Don't re-export symbols exported
803 * readelf.c (process_dynamic_segment): Print DT_* value only if
805 (do_histogram): New variable.
806 (options): New long option histogram. Set do_histogram if this
808 (usage): Document --histogram.
809 (parse_args): Handle 0 return value from getopt_long. Enable
811 (process_symbol_table): Read hash table also if only do_histogram.
812 Add code to print hash table histogram.
816 * readelf.c (process_dynamic_segment): Read syminfo section if
818 (process_syminfo): New function. Print syminfo information.
819 (process_file): Call process_syminfo and free syminfo data at the end.
823 * dlltool.c (usage): Add file parameter. Change all callers.
824 (main): Don't treat '?' as a special case in getopt return.
826 * binutils.texi (dlltool): Document new options. Add some uses of
831 * dlltool.c (gen_def_file): Plug memory leak. Don't print
832 demangled name if it is NULL.
834 Support for exporting all symbols to an output export def file:
835 * dlltool.c ({export_all_symbols, no_default_excludes,
836 no_default_excludes, excludes}): New file static variables.
837 (struct string_list): Type to hold list of symbols to exclude.
838 (scan_drectve_symbols): Renamed from scan_open_obj_file.
839 (scan_filtered_symbols): New static function.
840 (add_excludes): New static function.
841 (match_exclude): New static function.
842 (set_default_excludes): New static function.
843 (filter_symbols): New static function.
844 (scan_all_symbols): New static function.
845 (scan_open_obj_file): New static function.
846 (usage): Document new options.
847 (long_options): Add new options.
848 (main): Handle new options.
852 * readelf.c (process_program_headers): Print p_offset value with
854 (dynamic_segment_mips_val): Add support for DT_MIPS_FLAGS,
855 DT_MIPS_IVERSION, and DT_MIPS_TIME_STAMP.
856 (process_mips_specific): Also print seconds of time stamp.
860 * readelf.c (dump_relocations): EM_ARM uses rela relocs.
864 * readelf.c (get_dynamic_type): Don't used gettext on the names.
865 Add new DT_* values from Solaris. Don't print nuemric value in
866 case of an unknown entry.
867 (process_dynamic_segment): Handle new DT_* entries. Print numeric
868 values in decimal, not hex.
872 * readelf.c (get_dynamic_type): Remove empty default from switch
877 * Makefile.am (install-exec-local): Don't remove the file before
878 checking whether $(bindir) == $(tooldir)/bin. From Maciej
880 * Makefile.in: Rebuild.
884 * objcopy.c: Removed spurious inclusion of elf/internal.h and
889 * readelf.c: Consistantly use elf_ prefix for *_reloc_type
894 * readelf.c (dump_relocations): Add dumps of HPPA and ARC
897 (process_relocs): Do not abort if no string table can be found.
901 * readelf.c: Remove definition of functions to return relocation
902 symbol strings. They now get implicitly defined when include the
903 system specific ELF header.
907 * readelf.c: Before include system specific ELF header define
908 START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS. For now
909 used for ppc, mips, and mn10300.
913 * readelf.c (dump_relocations): Display number of unrecognised
918 * readelf.c: Use symbolic names of relocation entries for the various
919 architectures. Correct more layout details.
920 Print names of MIPS specific section types. Print Alpha, ARM, and
921 MIPS relocation type names.
925 * objcopy.c (filter_symbols): Add code for strip all symbols case.
926 (copy_objects): Strip all case is now processed also through
927 filter_symbols. No marking symbols used in relocations when strip
929 (copy_section): When strip all symbols case, remove relocations
930 which are not in keep strip specific list.
931 (strip_main): Remove guard `strip_specific_list == NULL' for
932 setting up strip all symbols by default.
936 * addr2line.c (find_address_in_section): Only consider a section
937 if the pc value is completely contained within it.
938 (translate_addresses): Don't crash if functionname or filename are
943 * readelf.c (process_symbol_table): Fix little alignment problem
944 in printed table header.
948 * readelf.c: Correct reading of .dynamic section.
949 (dynamic_section): Now a global variable.
950 (process_mips_fpe_exception, process_mips_specific,
951 process_arch_specific): New functions.
952 (get_file_header): Call process_arch_specific.
956 * readelf.c: Fix several versioning related bugs. Produce nicer
958 Add support for processor specific information on MIPS.
962 * readelf.c: Switch prototypes from unsigned short to unsigned
968 * ieee.c (parse_ieee): Initialize info.global_vars and
970 (parse_ieee_atn): Ignore register lifetime information reportedly
971 emitted by MRI compiler.
975 * Makefile.am (MAINTAINERCLEANFILES): Define.
976 * Makefile.in: Rebuild.
980 * readelf.c (byte_get): Use PARAMS in prototype.
981 (error): Make it work with non-ANSI compilers.
983 (get_ver_flags): Don't use an ANSI prototype in the definition.
987 * objcopy.c (filter_bytes): Set size correctly if the size of the
988 section is not an even multiple of the interleave. Based on patch
993 * configure.com: Add vax/vms support.
994 * makefile.vms-in: Renamed from makefile.vms. Add substitutions
995 now done by configure.com.
999 * stabs.c (parse_stab_range_type): Handle 4 and 8 byte signed
1000 integers with real upper bounds. Handle a lower bound one larger
1001 than the upper bound as a signed integer. Handle 8 byte signed
1003 (stab_demangle_template): Optionally return the demangled name of
1005 (stab_demangle_qualified): Treat a template name as a tagged
1007 (stab_demangle_fund_type): Likewise.
1011 * objcopy.c: Minor formatting improvements.
1012 * readelf.c: Minor output formatting improvement.
1016 * rclex.l: Add casts and change types to avoid warnings.
1017 * rcparse.y: Likewise.
1018 * resbin.c: Likewise.
1019 * rescoff.c: Likewise.
1020 * resrc.c: Likewise.
1022 * Makefile.am: Rebuild dependencies.
1023 (HFILES): Remove readelf.h.
1024 * Makefile.in: Rebuild.
1026 Based on patches from Andrew Kozin
1028 * winduni.h: New file, from windres.h.
1029 * winduni.c: New file, from windres.c.
1030 * windres.c: Move Unicode functions into winduni.c.
1031 * windres.h: Move Unicode declarations into winduni.h. Include
1033 (RT_ACCELERATOR): Rename from RT_ACCELERATORS to match Windows
1034 macro. Change all uses.
1035 (RT_PLUGPLAY, RT_VXD): Correct values.
1036 * Makefile.am (HFILES): Add windres.h.
1037 (CFILES): Add winduni.c.
1038 (windres_SOURCES): Add winduni.c.
1042 * readelf.c: Use BFD Internal and External Elf structures.
1043 * readelf.h: Removed - no longer needed.
1044 * Makefile.in: Remove readelf.c's dependency upon readelf.h.
1048 * objcopy.c (strip_main): keep_specific_list == NULL as additional
1049 condition to set up strip all symbols by default.
1050 (copy_archive): don't change archive when error in object files of
1055 * stabs.c (parse_number): Sign extend negative values correctly if
1056 bfd_vma is larger than unsigned long.
1060 * Makefile.am (install-exec-local): Don't let EXEEXT interfere
1061 with the program transform name.
1062 * Makefile.in: Rebuild.
1066 * readelf.c: Rewrite to use fopen/fread ratehr than mmap.
1068 Add --section-headers command line switch, which is an alias for
1071 Incorporate improvemnts made by Andreas Schwab
1073 formatting and version info display.
1075 * binutils.texi: Document --section-headers switch to readelf.
1079 * readelf.c: Include bfd.h and bucomm.h before system header
1081 (parse_args): Change type of c from char to int.
1085 * readelf.c (usage): Write to stdout, not stderr.
1089 * po/Make-in (all-yes): Depend on .pot file if maintainer mode
1091 ($(PACKAGE).pot): Unconditionally depend on POTFILES.
1095 * readelf.c (get_ppc_rel_type): New PowerPC support.
1096 (dump_relocations): PowerPC uses RELA relocations.
1097 (get_machine_name): Spell PowerPC correctly.
1098 (get_file_type): Change unsigned short parameter to unsigned.
1099 (get_machine_name): Ditto.
1100 (get_machine_data): Return whether big endian or little endian.
1101 (get_machine_flags): Interpret PowerPC, M32R, and MIPS flags.
1102 (process_elf_header): Print endian-ess. Convert all numeric
1103 formats to long or unsigned long. Print out machine specific flag
1105 (process_section_headers): Increase name by 3 columns and decrease
1106 type by the same so that .gcc_except_table fits in the space.
1108 * readelf.h: Include elf/ppc.h, elf/mips.h, and elf/m32r.h to get
1109 machine specific flag bits.
1113 * readelf.c: Remove extraneous #includes. Fix warnings produced
1114 by -Wall when compiling under Linux.
1116 * Makefile.am (readelf_LDADD): Add $(LIBIBERTY).
1120 * stabs.c (struct stab_handle): Add self_crossref field.
1121 (parse_stab_string): If a tag is a cross reference to itself,
1122 don't define it in the tags list.
1123 (parse_stab_type): Set info->self_crossref.
1125 * debug.c (struct debug_type_real_list): Define.
1126 (debug_get_real_type): Add list parameter. Change all callers.
1127 Check for circularity to avoid crashing when it occurs.
1131 * readelf.c: New file: Display contents of ELF format file.
1132 * readelf.h: New file: Header file for readelf.c
1133 * Makefile.am: Add rules to build readelf.
1134 * Makefile.in: Rebuilt.
1135 * binutils.texi: Document readelf.
1136 * NEWS: Mention inclusion of readelf into binutils.
1137 * po/POTFILES.in; Rebuilt.
1141 * objcopy.c (setup_section): Adjust the section size if copy_byte
1143 (copy_section): Do not call bfd_set_section_size.
1147 * objcopy.c (copy_usage): Add missing \n\ from help description.
1151 * Makefile.am (YACC): Correct bison -L option.
1152 * Makefile.in: Rebuild.
1154 * binutils.texi, objdump.1: Document -p/--private-headers.
1158 * objcopy.c: Add new command line options: --change-section-lma
1159 and --change-section-vma. Rename old command line option
1160 --adjust-section-vma to --change-section-address. Rename
1161 --adjust-vma to --change-addresses and --adjust-start to
1162 --change-start. Provide aliases to support the old versions of
1163 these command line options.
1165 Change the names of macros and enum elements to upper case to
1166 match the GNU coding standard.
1168 Replace calls to fprintf (stderr,...) with calls to fatal () or
1169 non_fatal () as appropriate.
1171 * objcopy.1: Document command line option changes.
1172 * binutils.texi: Document command line option changes.
1174 * bucomm.h: New exported funtion from bucomm.c: non_fatal().
1175 * bucomm.c (non_fatal): New exported function. Just like fatal()
1176 except that it returns rather than calling xexit().
1178 (bfd_check_format_matches): Call fatal() rather than bfd_fatal().
1180 (check_matching_formats): Fix C formating.
1182 (parse_vma): Call fatal().
1187 * debug.c (debug_type_samep): Avoid endless loops comparing
1188 function and method parameter types.
1192 * dlltool.c (dump_iat): Comment out; not used.
1193 (display): Rename from tell. Change all callers.
1197 * dlltool.c: Add support for Thumb DLLs. Add support for
1198 interworking between ARM and Thumb programs and DLLs. Tidy the
1201 * binutils.texi: Document dlltool.
1203 * configure: Build dlltool for thumb-pe targets.
1205 * version.c (print_version): Include 1998 in copyright strings.
1207 * stabs.c (parse_stab): Support Win32 style directory separators.
1211 * po/Make-in (install-info): New target.
1215 * ar.c (usage): Extend information provided about command line
1220 * makefile.vms: Run dec c with /nodebug. Pass CC value when
1225 * configure: Build dlltool for thumb-pe target.
1226 * configure.in: Build dlltool for thumb-pe target.
1230 * Makefile.am (EXTRA_PROGRAMS): Change $(SRCONV_PROG) to sysconf
1231 sysdump coffdump to avoid extra $(EXEEXT).
1232 * Makefile.in: Rebuild.
1236 * configure.in: Stop appending EXEEXT to the end of
1237 SRCONV_PROG (wrong because that variable may contain multiple
1239 * Makefile.am: instead, add EXEEXTs to each SRCONV_PROG
1241 * Makefile.in: regenerate
1242 * configure: regenerate
1246 * addr2line.c (main): Conditionally call setlocale.
1247 * windres.c (main): Likewise.
1248 * sysdump.c (main): Likewise.
1249 * strings.c (main): Likewise.
1250 * srconv.c (main): Likewise.
1251 * size.c (main): Likewise.
1252 * objdump.c (main): Likewise.
1253 * objcopy.c (main): Likewise.
1254 * nm.c (main): Likewise.
1255 * nlmconv.c (main): Likewise.
1256 * dlltool.c (main): Likewise.
1257 * coffdump.c (main): Likewise.
1258 * ar.c (main): Likewise.
1259 * bucomm.h: Include <locale.h> if HAVE_LOCALE_H.
1260 (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
1264 Add support for IMPORTS:
1265 * defparse.y (impline): Add IMPORTS syntaxes.
1266 * dlltool.c (ifunctype, iheadtype): New typedefs.
1267 (import_list): New static variable.
1268 (append_import): New static function.
1269 (def_import): Add an entry to import_list.
1270 (generate_idata_ofile): New static function.
1271 (gen_exp_file): Call generate_idata_ofile.
1272 * dlltool.h (def_import): Update declaration.
1276 * configure.in: Change version number to 2.9.4
1277 * configure: Rebuild.
1281 * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
1285 * Makefile.am (INCLUDES): Search intl dirs for headers; define
1287 * addr2line.c (main): Call setlocale, bindtextdomain, textdomain.
1288 * ar.c (main): Likewise.
1289 * coffdump.c (main): Likewise.
1290 * dlltool.c (main): Likewise.
1291 * nlmconv.c (main): Likewise.
1292 * nm.c (main): Likewise.
1293 * objcopy.c (main): Likewise.
1294 * objdump.c (main): Likewise.
1295 * size.c (main): Likewise.
1296 * srconv.c (main): Likewise.
1297 * strings.c (main): Likewise.
1298 * sysdump.c (main): Likewise.
1299 * windres.c (main): Likewise.
1303 * Many files: Added gettext invocations around user-visible
1305 * bucomm.h: Added gettext-related includes and defines.
1306 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
1307 HAVE_LC_MESSAGES): Define.
1308 * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
1309 po/Makefile. Use AM_PROG_LEX.
1310 * Makefile.am (SUBDIRS): New macro.
1311 (POTFILES): Likewise.
1312 (po/POTFILES.in): New target.
1313 (LDADD): Added INTLLIBS.
1314 (objdump_LDADD): Likewise.
1315 (c__filt_LDADD): Likewise.
1316 (ar_LDADD): Likewise.
1317 (ranlib_LDADD): Likewise.
1318 (dlltool_LDADD): Likewise.
1319 (windres_LDADD): Likewise.
1320 * po/Make-in, po/POTFILES.in, po/binutils.pot: New files.
1324 * objcopy.c (preserve_dates): New file static variable.
1325 (smart_rename): If preserve_dates, call set_times when copying.
1326 (strip_main): Remove preserve_dates local variable.
1327 (copy_main): Likewise.
1331 * Makefile.am (DISTSTUFF): Add defparse.h, defparse.c, rclex.c,
1332 rcparse.h, and rcparse.c
1333 * Makefile.in: Rebuild.
1337 * Makefile.am (PROGS): Move $(ADDR2LINE_PROG) to end, so that
1338 Makefile.in doesn't have an empty continuation line.
1339 (bin_PROGRAMS): Likewise.
1340 * Makefile.in: Rebuild.
1344 * Makefile.am (DISTCLEANFILES): Add site.exp and site.bak.
1345 (MOSTLYCLEANFILES): Add binutils.log, binutils.sum, and abcdefgh*.
1346 (mostlyclean-local): New target.
1347 * Makefile.in: Rebuild.
1353 * ar.c (usage): Mention S modifier.
1354 (main): Add S modifier.
1355 * ar.1, binutils.texi: Document S modifier.
1359 * binutils.texi: Use @itemx for a secondary item in a table.
1363 * dep-in.sed: Add rule to remove @OBJDIR@.
1364 * Makefile.am (dep.sed): Substitute for @OBJDIR@.
1365 * Makefile.in: Rebuild.
1369 * configure.in: Set version to 2.9.1.
1370 * configure: Rebuild.
1372 * Branched binutils 2.9.
1374 * Makefile.am (DISTCLEANFILES): Remove defparse.h, arparse.h,
1375 rcparse.h, and nlmheader.h.
1376 * Makefile.in: Rebuild.
1380 * Makefile.am (MOSTLYCLEANFILES): Define.
1381 * Makefile.in: Rebuild.
1383 Fix some gcc -Wall warnings:
1384 * nlmconv.c (main): Add casts to avoid warnings.
1385 (alpha_mangle_relocs): Likewise.
1386 * objdump.c (dump_section_stabs): Likewise.
1387 * size.c (print_sysv_format): Likewise.
1388 * srcconv.c (wr_ob): Likewise.
1389 * wrstabs.c (stab_modify_type): Likewise.
1390 (stab_variable): Likewise.
1391 * nlmconv.c (main): Initialize variables to avoid warnings.
1392 * nm.c (sort_symbols_by_size): Likewise.
1393 * objdump.c (disassemble_bytes): Likewise.
1394 * wrstabs.c (stab_end_class_type): Likewise.
1395 * coffgrok.c (do_sections_p2): Change j to unsigned int.
1396 (do_lines): Change l to unsigned int.
1397 * nlmheader.y (yylex): Change i to unsigned int.
1398 * nm.c (print_symbol): Change j to long.
1399 * size.c (lprint_number): Comment out.
1400 * srconv.c (wr_ob): Change i to bfd_size_type.
1401 * sysdump.c (unit_info_list): Comment out.
1402 (object_body_list, program_structure, debug_list): Likewise.
1403 * sysinfo.y (yyerror): Return value.
1407 * defparse.y (explist): Allow epsilon.
1412 * coffgrok.c (do_sections_p1): Use the section's lma instead of vma
1413 for the benefit of prom loaders.
1418 * Makefile.am (DISTSTUFF): New variable.
1419 (diststuff): New target.
1420 (DISTCLEANFILES): New variable.
1421 * Makefile.in: Rebuild.
1425 * rclex.l: Accept { and } as synonyms for BEGIN and END.
1429 * aclocal.m4, configure: Rebuild with libtool 1.2.
1433 * objdump.c (disassemble_data): Delete "++place" after call to
1434 find_symbol_for_address. Set disasm_info.symbols to array of
1435 symbols at the current address.
1439 * Makefile.am (install-exec-local): Install properly when ln
1440 fails or tooldir == prefix.
1444 * objcopy.c (compare_section_lma): Rename from _vma.
1445 (copy_object): Gap fill based on LMA not VMA.
1446 * binutils.texi: Update and clarify.
1447 * objcopy.1: Likewise.
1451 * dlltool.c (gen_exp_file): Generate _imp__%s as well as __imp_%s,
1452 for Microsoft compatibility.
1453 (make_one_lib_file): Likewise.
1455 * dlltool.c (make_one_lib_file): Don't add 1 to hint.
1459 * Makefile.am (AUTOMAKE_OPTIONS): Define.
1460 * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
1464 * deflex.l: Accept '?' in symbol names, for VC++ mangled names.
1467 * addr2line.c (usage): Update bug-gnu-utils address.
1468 * ar.c (usage): Likewise.
1469 * nlmconv.c (show_usage): Likewise.
1470 * nm.c (usage): Likewise.
1471 * objcopy.c (copy_usage): Likewise.
1472 (strip_usage): Likewise.
1473 * objdump.c (usage): Likewise.
1474 * size.c (usage): Likewise.
1475 * strings.c (usage): Likewise.
1476 * windres.c (usage): Likewise.
1477 * binutils.texi (Bug Reporting): Likewise.
1481 * configure, aclocal.m4: Rebuild with new libtool.
1485 * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
1489 * Makefile.am (CC_FOR_TARGET,nlmcomv.o): Change program_transform_name
1491 * Makefile.in: Regenerate.
1495 * dlltool.c: Define exit status macros for _WIN32 but not
1497 (gen_lib_file): Check for exit status of unlink.
1498 * resrc.c: Define popen and pclose if _WIN32 but not
1503 * configure.in: Remove vfork check.
1504 * nlmconv.c: Never include vfork.h.
1505 * aclocal.m4, configure, Makefile.in, config.in: Rebuild.
1509 * objcopy.c (copy_archive): Only pass one argument to mkdir if
1510 _WIN32 but not __CYGWIN32__.
1511 (smart_rename): Add code for _WIN32 (not __CYGWIN32__), to cope
1512 with different rename behaviour and lack of chown.
1514 * configure.in: Check for mingw32 when deciding whether to build
1516 * dlltool.c: Never include vfork.h.
1517 (run): Use pexecute rather than vfork.
1518 (gen_lib_file): Check for errors from bfd_set_archive_head and
1519 bfd_close. Close all the BFDs in the archive before deleting the
1524 * objdump.c (disassemble_bytes): Add flag INSN_HAS_RELOC to tell
1525 disassembly function there is a reloc on this line.
1529 * srconv.c (sh, h8300): Delete variables.
1530 (addrsize, toolname, rnames): New variables.
1531 (writeINT): Use addrsize.
1532 (wr_un): Use toolname.
1533 (wr_hd): Set up addrsize et al properly for h8300[hs].
1534 (walk_tree_symbol): Zero dsy. Use rnames.
1535 (wr_un, wr_hd, wr_ob, wr_du): Use proper bfd access macros.
1536 * sysdump.c (sh, h8300): Delete variables.
1537 (addrsize): New variable.
1539 (getone): Initialize it.
1540 (getBITS): Range check on MAX.
1545 * ar.c (get_pos_bfd): Add default_posname parameter. Change all
1547 (replace_members): Default to replacing in the same position.
1551 * rclex.l: Don't permit a comma in a STRING.
1552 * rcparse.y (acc_entry): Warn if an inappropriate modifier is used
1554 (acc_event): For a control character, set VIRTKEY, and force the
1555 character to uppercase.
1556 (acc_options): Don't require a comma separator.
1560 * size.c (size_number): New function to provide size of field.
1561 ({l,r}print_number): For octal and hex fields, print field using
1562 '0' and '0x' suffixes. Do not include following tab.
1563 (sysv_internal_sizer): Size section name, section size, and vma
1565 (sysv_internal_printer): Use calculated sizes for the columns.
1566 (print_sysv_format): Size columns before printing.
1567 (print_berkeley_format): Print tabs between numbers now that
1568 {l,r}print_number doesn't. Print fields right justified.
1572 * objdump.c (objdump_print_addr_with_sym): Remove call to
1573 disasm_symaddr() as this function no longer exists.
1577 * objdump.c (objdump_print_addr_with_sym): Call disasm_symaddr()
1578 to allow backend to know which symbol has just been displayed.
1582 * windres.h (ESCAPE_*): Define standard escape sequences.
1583 * rclex.l (handle_quotes): Handle standard escape sequences. Warn
1584 about an unrecognized escape character.
1585 * windres.c (unicode_print): Print standard escape sequences.
1586 * rcparse.y (acc_event): Initialize $$.next.
1587 * resbin.c (bin_to_res_menuitems): Don't set MENUITEM_POPUP or
1588 MENUITEM_ENDMENU in the menu item flags.
1589 (bin_to_res_accelerators): Allocate a structure (the old code
1591 (res_to_bin_accelerator): Correct the test for setting ACC_LAST.
1592 (res_to_bin_dialog): Save the extended style rather than saving
1593 the style twice. Remove useless shadowing length variable. Set
1594 the length of control data correctly.
1595 * resrc.c (write_rc_dialog): Don't print the class or menu if the
1596 string length is zero.
1600 * stabs.c (parse_stab_argtypes): Don't try to parse the name of a
1601 destructor as mangled argument types.
1605 * addr2line.c (translate_addresses): Use bfd_scan_vma rather
1606 than strtol to scan addresses.
1610 * Makefile.am (bin_PROGRAMS): Don't use line continuations here.
1614 * objcopy.c (copy_section): Don't crash if there is no particular
1615 information for a section.
1619 * objcopy.c (parse_flags): Make flag check case insensitive.
1620 Check for `contents' flag. Give an error for unrecognized flags.
1621 (copy_section): If the contents flag was set for a section that
1622 had no contents, zero out the new contents.
1623 * binutils.texi (objcopy): Document contents section flag.
1627 * objcopy.c: Move new struct and variable definitions to top of
1628 file. Remove obsolete add_strip_symbol and is_strip_symbol
1629 declarations. Add prototype declarations for add_specific_symbol
1630 and is_specified_symbol.
1634 * configure.com (HAVE_SBRK): Undefine.
1638 * objdump.c (objdump_symbol_at_address): New function. Returns
1639 true if a symbol can be found at the address passed in.
1640 (disassemble_data): Set the symbol_at_address_func field to point
1641 to objdump_symbol_at_address.
1645 * objcopy.c, objcopy.1, binutils.texi: "localize" is a better name
1646 than "privatize". Update all references.
1650 * binutils.texi (strip): Remove duplicate --target. From Marty
1653 * nm.c (lineno_cache_bfd): New file static variable.
1654 (lineno_cache_rel_bfd): New file static variable.
1655 (display_archive): Clear lineno_cache_bfd and lineno_cache_rel_bfd
1657 (display_file): Likewise.
1658 (print_symbol): Use lineno_cache_bfd and lineno_cache_rel_bfd
1659 instead of cache_bfd and cache_rel_bfd. Make seccount static, and
1660 only set it when setting relocs.
1664 * objcopy.c (keep_specific_list, privatize_specific_list,
1665 weaken_specific_list): New variables.
1666 (keep_symbols): Removed.
1667 (add_specific_symbol): New function from the carcas of
1668 add_strip_symbol. Takes a list as an argument.
1669 (is_specified_symbol): Likewise from is_strip_symbol.
1670 (filter_symbols): Honor the new privatize and weaken lists.
1671 Optimize bfd_asymbol_name handling.
1672 (copy_object, copy_options, copy_usage): Add privatize-symbol &
1673 weaken-symbol options.
1675 * objcopy.1, binutils.texi: Update docs.
1679 * objdump.c (disassemble_data): Make "--prefix-addresses"
1680 disassembly adjust to mixed-length instructions.
1681 (objdump_print_addr_with_sym): Add "0x" prefix for hexadecimal
1682 symbol-offsets in disassembly.
1686 * objcopy.c (set_times): New static function, replacing
1688 (strip_main): If preserve_dates, stat the input file before
1689 copying it, and call set_times afterward.
1690 (copy_main): Likewise.
1692 * wrstabs.c (write_stabs_in_sections_debugging_info): Cast p to
1693 char * when calling strcpy and strlen.
1697 * binutils.texi (ar cmdline): Document that q now works like r.
1700 * binutils.texi (size): The object file argument is optional.
1703 * aclocal.m4: Rebuild with new libtool.
1704 * configure: Rebuild.
1708 * Makefile.am (EXEEXT_FOR_BUILD): New variable. Use it in all
1709 references to the sysinfo program.
1710 * configure.in: Rebuild with new bfd/acinclude.m4.
1711 * Makefile.in: Rebuild.
1715 * windres.c: Include <time.h>.
1716 (define_resource): Set a timestamp for the resource.
1720 * configure.in: Define TARGET in header file.
1721 * acconfig.h (TARGET): Add #undef.
1722 * Makefile.am (version.o, bucomm.o): Remove special targets.
1723 * bucomm.c (target): Remove.
1724 * nm.c (program_name): Don't declare.
1725 (target): Make static.
1726 * size.c (target): Make static.
1727 * configure, config.in, Makefile.in: Rebuild.
1731 * Makefile.am (check-DEJAGNU): Export r.
1732 (.dep1): Use $(INCLUDES) rather than $(ALL_CFLAGS).
1733 * Makefile.in: Rebuild.
1735 * nlmheader.y: Use VERSIONK rather than VERSION.
1737 * Makefile.am (STRIP_PROG): Change from strip.new to strip-new.
1738 (NM_PROG): Change from nm.new to nm-new.
1739 (TOOL_PROGS, install-exec-local): Adjust accordingly.
1740 * Makefile.in: Rebuild.
1744 * configure.in: Remove AC_ARG_PROGRAM; it's invoked by
1746 * configure: Rebuild.
1748 * Makefile.am (install-exec-local): Create $(tooldir)/bin before
1749 trying to install anything into it.
1750 * Makefile.in: Rebuild.
1752 * Makefile.am (TOOL_PROGS): Use an explicit $(EXEEXT).
1753 (install-exec-local): When handling $(noinst_PROGRAMS), only use
1754 $(EXEEXT) on the installed file. When handling $(TOOL_PROGS),
1755 handle $(EXEEXT) correctly.
1756 * configure.in: Add an explicit $(EXEEXT) when substituting for
1757 the name of a program to build.
1758 * Makefile.in, configure: Rebuild.
1760 * aclocal.m4, configure, Makefile.in: Rebuild with new automake
1763 * deflex.l, defparse.y: Use VERSIONK rather than VERSION.
1764 * rclex.l, rcparse.y: Likewise.
1765 * Makefile.am (windres_SOURCES): Add $(BULIBS).
1766 * Makefile.in: Rebuild.
1770 * acinclude.m4: Include bfd/acinclude.m4, not bfd/acmacros.m4.
1771 * aclocal.m4, configure: Rebuild with new libtool.
1775 * Makefile.am: New file, based on old Makefile.in.
1776 * acinclude.m4: New file, from old aclocal.m4.
1777 * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL. Remove
1778 shared library handling; now handled by libtool. Replace
1779 AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AC_PROG_YACC,
1780 AC_PROG_LEX, AC_DECL_YYTEST, AM_MAINTAINER_MODE, AM_CYGWIN32, and
1781 AM_EXEEXT. Replace AC_PROG_INSTALL with AM_PROG_INSTALL. Remove
1782 stamp-h handling in AC_OUTPUT.
1783 * acconfig.h: Mention PACKAGE and VERSION.
1784 * stamp-h.in: New file.
1785 * Makefile.in: Now built with automake.
1786 * aclocal.m4: Now built with aclocal.
1787 * config.in, configure: Rebuild.
1790 * rcparse.y (dialog): Default menu and class to be named.
1791 (styles): If FONT is seen, set DS_SETFONT in dialog style.
1792 * resbin.c (res_to_bin_dialog): Correct computation of font
1798 * resbin.c (res_to_bin_menu): Correct computation of menu
1800 * resrc.c (define_stringtable): Add 1 to resource ID.
1804 * resbin.c (bin_to_res_string): Correct adjustment of data and
1809 * nlmconv.c (link_inputs): Call libiberty pexecute function.
1810 (pexecute) [multiple versions]: Remove.
1814 * bucomm.c (make_tempname): If we might be using a DOS filesystem,
1815 check for a backslash as well as a slash.
1819 * windres.c (main): Quit if we didn't get any resources.
1820 (usage): Fix --yydebug usage message.
1821 * rescoff.c (write_coff_file): Don't free the relocation array
1822 until after we've closed the BFD.
1823 (read_coff_rsrc): Quit rather than try to read standard input.
1824 (write_coff_file): Quit rather than try to write to standard
1826 * rcparse.y: Add a couple of missing semicolons (accepted by bison
1828 * binutils.texi: Document windres.
1832 * resbin.c: New file.
1833 * rclex.l, rcparse.y, rescoff.c, resrc.c, windres.c, windres.h:
1834 Numerous fixes and improvements.
1835 * Makefile.in: Rebuild dependencies.
1836 (CFILES): Add resbin.c.
1837 (WINDRES_OBJS): Add resbin.o.
1841 First stab at Windows resource compiler:
1842 * windres.h: New file.
1843 * windres.c: New file.
1844 * resrc.c: New file.
1845 * rcparse.y: New file.
1846 * rclex.l: New file.
1847 * rescoff.c: New file.
1848 * configure.in: Define and substitute BUILD_WINDRES.
1849 * configure: Rebuild.
1850 * Makefile.in: Rebuild dependencies.
1851 (WINDRES_PROG): New variable.
1852 (PROGS): Add @BUILD_WINDRES@.
1853 (HFILES): Add dlltool.h and windres.h.
1854 (CFILES): Add windres.c and resrc.c.
1855 (GENERATED_CFILES): Add rcparse.c and rclex.c.
1856 (WINDRES_OBJS): New variable.
1857 $(WINDRES_PROG): New target.
1858 (rcparse.c, rcparse.h, rclex.c): New targets.
1862 * dlltool.c (export_type): Add data field.
1863 (def_exports): Add data parameter. Change all callers.
1864 (dump_def_info): Print data field.
1865 (gen_def_file): Likewise.
1866 (make_one_lib_file): Handle data field by not emitting simple
1867 label and not emitting anything in SEC_TEXT.
1868 (dtab): Print data field.
1869 (process_duplicates): Merge data field.
1870 * dlltool.h (def_exports): Update declaration.
1871 * defparse.y (expline): Accept opt_DATA. Pass it to def_exports.
1872 (opt_DATA): New non-terminal.
1876 * dlltool.h: New file.
1877 * deflex.l: Include dlltool.h and libiberty.h. Don't declare
1878 strdup. Use xstrdup rather than strdup.
1879 * defparse.y: Include bfd.h, bucomm.h, and dlltool.h.
1880 * dlltool.c: Include dlltool.h and time.h. Make a lot of
1881 variables and functions static. Make a lot of char * variables
1882 and parameters const. Add declarations for static functions. Do
1883 some reindenting. Hide more PowerPC stuff inside DLLTOOL_PPC.
1887 * ar.c (bfd_special_undocumented_glue): Add const.
1891 * Makefile.in (check): Pass CC_FOR_TARGET and CFLAGS_FOR_TARGET
1896 * configure.in: Don't clear OPCODES when --enable-commonbfdlib is
1898 * configure: Rebuild.
1902 * Makefile.in (maintainer-clean realclean): Change *.info*
1903 to binutils.info* to save sysroff.info.
1907 * Makefile.in (INSTALL): Set to @INSTALL@.
1908 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
1909 (install): Depend upon installdirs. Use $(program_transform_name)
1910 directly, rather than using $(INSTALL_XFORM) and
1912 (installdirs): New target.
1913 (install-info): Run mkinstalldirs.
1917 * Makefile.in (INSTALL): Change install.sh to install-sh.
1920 * Makefile.in: Always use $(SHELL) when running move-if-change.
1921 * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
1922 * configure: Rebuild.
1926 * configure.in: Add AC_FUNC_ALLOCA.
1927 * configure, config.in: Rebuild.
1928 * bucomm.h: Add alloca handling, copied from gas/as.h.
1929 * dlltool.c: Add #pragma alloca for AIX to start of file.
1930 * nlmconv.c: Likewise.
1932 * Makefile.in (distclean): Remove site.exp and site.bak. Remove
1933 everything that clean removes.
1937 * Makefile.in (VERSION): Set to 2.8.1.
1939 * Branched binutils 2.8.
1943 * configure.com: New file.
1944 * config.h-vms: Remove file.
1945 * makefile.vms: Update for new configure scheme.
1949 * objcopy.c (make_same_dates): Use statbuf, not buf, if not
1954 * Makefile.in ($(OBJDUMP_PROG)): Don't link against BFDLIB twice.
1955 * configure.in: Add AC_ARG_ENABLE for commonbfdlib. If it is set,
1956 set OPCODES to empty.
1957 * configure: Rebuild.
1962 * objcopy.c: Include <utime.h> or <sys/time.h>.
1963 (strip_options): Add "preserve-dates".
1964 (copy_options): Likewise.
1965 (copy_usage): Mention -p and --preserve-dates.
1966 (strip_usage): Likewise.
1967 (make_same_dates): New static function.
1968 (strip_main): Handle -p.
1969 (copy_main): Likewise.
1970 * binutils.texi, strip.1, objcopy.1: Document new option.
1972 addr2line.c contributed by Ulrich Lauther
1974 * addr2line.c: New file.
1975 * Makefile.in: Rebuild dependencies.
1976 (ADDR2LINE_PROG): New variable.
1977 (MANPAGES): Add addr2line.
1978 (PROGS): Add $(ADDR2LINE_PROG).
1979 (CFILES): Add addr2line.c.
1980 ($(ADDR2LINE_PROG)): New target.
1981 * binutils.texi: Document addr2line.
1982 * addr2line.1: New file.
1984 * version.c (print_version): Update copyright date.
1988 * objdump.c (disassemble_data): Don't exit if a file cannot be
1989 disassembled, instead just return.
1993 * size.c (usage): Make definition match its prototype.
1994 (display_bfd, lprint_number, rprint_number): Likewise.
1995 (print_berkeley_format, sysv_internal_printer): Likewise.
1996 (print_sysv_format): Likewise.
1997 * nm.c (set_print_radix, set_output_format): Likewise.
1998 * objcopy.c (filter_bytes): Likewise.
2002 * Many files: Add function prototypes.
2003 * ar.c (mri_emul, get_pos_bfd): Make static.
2004 * arlex.l: Include "libiberty.h". Don't declare strdup. Use
2005 xstrdup rather than strdup.
2006 * arparse.y (yyerror): Make argument const. Correct typo.
2007 * arsup.c (strdup): Don't declare.
2008 (ar_save): Use xstrdup rather than strdup.
2009 * filemode.c: Include "bucomm.h".
2010 * nm.c (usage): Make static.
2011 (print_symname): Make format and name const.
2012 * objcopy.c (cat): Remove.
2013 (copy_archive): Make output_target const. Use concat, not cat.
2014 (copy_file, simple_copy, smart_rename): Make arguments const.
2015 * objdump.c (read_section_stabs): Likewise.
2016 (print_section_stabs): Likewise.
2017 (display_target_tables): Don't declare getenv.
2018 * strings.c (strings_object_file): Change file to const.
2019 (print_strings): Change filename to const.
2020 * Makefile.in: Rebuild dependencies.
2024 * configure.in: Add BFD_NEED_DECLARATION(getenv).
2025 * acconfig.h: Add NEED_DECLARATION_GETENV.
2026 * bucomm.h (getenv): Declare if NEED_DECLARATION_GETENV.
2027 * configure, config.in: Rebuild.
2028 * nlmconv.c (getenv): Don't declare.
2030 * Makefile.in: Rebuild dependencies.
2035 * objdump.c: Include "demangle.h".
2036 (do_demangle): New static variable.
2037 (usage): Mention -C/--demangle.
2038 (long_options): Add "demangle".
2039 (objdump_print_symname): New static function.
2040 (objdump_print_addr_with_sym): Use objdump_print_symname.
2041 (disassemble_bytes): Likewise.
2042 (dump_reloc_set): Likewise.
2043 (dump_symbols): Demangle symbol name.
2045 * binutils.texi, objdump.1: Document -C/--demangle.
2047 * objdump.c (usage): Mention --no-show-raw-insn.
2048 (long_options): Add "no-show-raw-insn".
2049 (disassemble_bytes): Handle --no-show-raw-insn.
2050 * binutils.texi, objdump.1: Document --no-show-raw-insn.
2054 * rddbg.c (free_saved_stabs): Set the strings to NULL after being
2059 * bucomm.c (set_default_bfd_target): New function.
2060 * bucomm.h (set_default_bfd_target): Declare.
2061 * ar.c (main): Call set_default_bfd_target.
2062 * nlmconv.c (main): Likewise.
2063 * nm.c (main): Likewise.
2064 * objcopy.c (main): Likewise.
2065 * objdump.c (main): Likewise.
2066 * size.c (main): Likewise.
2067 * strings.c (main): Likewise.
2068 * Makefile.in (bucomm.o): New target, to define TARGET.
2072 * objdump.c (adjust_section_vma): New static variable.
2073 (usage): Mention --adjust-section-vma.
2074 (OPTION_ADJUST_VMA): Define.
2075 (long_options): Add "addjust-vma".
2076 (display_bfd): If adjust_section_vma is not 0, add it to all the
2078 (main): Handle OPTION_ADJUST_VMA.
2079 * binutils.texi, objdump.1: Document --adjust-vma.
2083 * nm.c (print_symbol): Cache the BFD as well as the symbols and
2084 relocs, and don't try to use the symbols or relocs with a
2089 * config.h-vms: sbrk() is provided on openVMS/Alpha.
2090 * makefile.vms: allow compiling with current gcc snapshot.
2094 * arsup.c, coffgrok.c, dlltool.c, nlmconv.c: Use xmalloc rather
2099 * objdump.c (disassemble_data): Correct VMA argument to
2100 find_symbol_for_address. Improve handling of code with no symbol
2101 followed by code with a symbol.
2105 * objdump.c (disassemble_bytes): Make output of raw instructions
2106 work better for non-standard values of bytes_per_chunk and
2111 * objdump.c (disassemble_bytes): Added code to allow some control
2112 over the way raw instructions are displayed.
2116 * stabs.c (struct bincl_file): Add next_stack field.
2117 (push_bincl): Put the new file on both bincl_list and
2118 bincl_stack. Clear the file_types field.
2119 (pop_bincl): Use the next_stack field when popping the stack.
2120 Don't put the file on bincl_list.
2121 (find_excl): Include the file name when warning about an unfound
2124 * debug.c (debug_type_samep): Don't crash if we are passed NULL.
2128 * objcopy.1: Add missing space after .B.
2132 * objdump.c (disassemble_data): Initialize `aux.require_sec'.
2136 * objdump.c (objdump_print_value): Add skip_zeroes parameter.
2138 (objdump_print_addr_with_sym): Likewise. Call objdump_print_value
2140 (objdump_print_addr): New static function.
2141 (objdump_print_address): Just call objdump_print_addr.
2142 (disassemble_bytes): Print real address, not function offset.
2143 Skip a certain number of leading zeroes.
2145 * objdump.c (disassemble_zeroes): New static variable.
2146 (usage): Mention --disassemble-zeroes.
2147 (long_options): Add "disassemble-zeroes".
2148 (disassemble_bytes): Check disassemble_zeroes.
2152 * objdump.c (disassemble_bytes): Don't skip zeroes if the
2153 disassembler has told us that we are in a branch delay slot.
2157 * size.c (berkeley_sum): Rewrite. Skip sections which are not
2158 SEC_ALLOC. Count SEC_READONLY sections as text.
2162 * Makefile.in (maintainer-clean realclean): Remove *.info*, not
2167 * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
2171 * configure.in: Work around bug in AC_FUNC_VFORK in autoconf 2.12.
2172 * configure: Rebuild.
2177 * objcopy.c (OPTION_WEAKEN): Define.
2178 (copy_options): Add "weaken".
2179 (copy_usage): Mention --weaken.
2180 (weaken): New static variable.
2181 (filter_symbols): Handle weaken.
2182 (copy_object): Call filter_symbols if weaken.
2183 (copy_main): Handle OPTION_WEAKEN.
2184 * binutils.texi, objcopy.1: Document --weaken.
2188 * mpw-make.sed: Use NewFolderRecursive for installation.
2192 * Makefile.in (install): Add "else true" clause to cater to
2193 broken "make" on some systems.
2197 * ieee.c (parse_ieee_bb): Always initialize namcopy to avoid gcc
2198 warning about uninitialized variable.
2199 (ieee_read_cxx_class): Likewise, for pf.
2200 (ieee_enum_type): Likewise, for i.
2204 * wrstabs.c (stab_array_type): Add casts when printing
2205 bfd_signed_vma values.
2207 * configure: Rebuild with autoconf 2.12.
2211 * objdump.c (disassemble_data): Don't crash if there is no
2216 * ar.c (open_inarch): Don't call bfd_openr with a null name.
2220 * binutils.texi: Add section on reporting bugs.
2224 * stabs.c (struct stab_handle): Add bincl_list field.
2225 (parse_stab): Pass value to push_bincl. Call find_excl for
2227 (struct bincl_file): Add hash, file and file_types fields.
2228 (push_bincl): Add hash parameter. Save it in the new hash field.
2229 Save the file number in the new file field.
2230 (pop_bincl): Put the bincl_file on bincl_list, rather than freeing
2231 it. Save the file types in the new file_types field.
2232 (find_excl): New static function.
2234 * ieee.c (ieee_lineno): Don't compare line number addresses to
2235 info->highaddr (undo part of October 28 patch).
2239 * objdump.c (objdump_print_value): Don't print the empty string
2244 * stabs.c (struct stab_handle): Add function_end field.
2245 (start_stab): Initialize function_end.
2246 (finish_stab): Pass info->function_end to debug_end_function.
2247 (parse_stab): If info->function_end is set, use it as the address
2248 which ends a function.
2250 * ieee.c (ieee_array_type): Remember the correct size.
2252 * ieee.c (ieee_finish_compilation_unit): Permit coalescing ranges
2253 that are up to 0x1000 bytes apart, not just 64.
2254 (ieee_add_bb11_blocks): Don't bother to emit a BB11 that is less
2256 (ieee_lineno): Only emit line numbers that are less than
2261 * ieee.c (struct ieee_defined_enum): Add defined field.
2262 (ieee_enum_type): If the enum tag has been seen before but not
2263 defined, reuse the same type index, and define it.
2264 (ieee_tag_type): If this enum has not been defined, add an
2265 undefined entry to the list of enums.
2267 * objdump.c (disassemble_bytes): Let the disassembler override the
2268 number of bytes printed on a line.
2272 * objdump.c (prefix_addresses): New static variable.
2273 (long_options): Add "prefix-addresses".
2274 (compare_symbols): Sort BSF_FUNCTION symbols before other
2276 (find_symbol_for_address): New static function, broken out of
2277 objdump_print_address.
2278 (objdump_print_addr_with_sym): New static function, broken out of
2279 objdump_print_address.
2280 (objdump_print_address): Call new functions.
2281 (disassemble_bytes): New static function, broken out of
2282 disassemble_data. Change disassembly format, unless
2283 prefix_addresses is set.
2284 (disassemble_data): Call disassemble_bytes. Unless
2285 prefix_addresses is set, disassemble in chunks headed by a
2287 * binutils.texi, objdump.1: Document --prefix-addresses.
2289 * rddbg.c (read_section_stabs_debugging_info): Preserve the
2290 backslash when concatenating multiple stabs strings.
2294 * dlltool.c (scan_open_obj_file): Fix loop exit test.
2295 Add missing parameter to def_exports.
2299 * Makefile.in (LEX_OPTIONS): Set to empty string. -I -Cem is the
2300 default for flex, and is not recognized by lex.
2304 * binutils.texi (Target Selection): Document that you can now
2305 specify targets using configuration triplets.
2307 * ar.c (usage): Declare. Make sure all callers pass an argument.
2311 * Makefile.in (clean): Remove config.log.
2315 * makefile.vms: Bump version date.
2319 * version.c (print_version): New function.
2320 * bucomm.h (print_version): Declare.
2321 * ar.c (program_version): Don't declare.
2322 (do_show_version): Remove.
2323 (usage): Add help parameter. Print bug report address.
2324 (main): Set is_ranlib at start. Check for --help and --version.
2325 Call print_version, not do_show_version.
2326 * nlmconv.c (program_version): Don't declare.
2327 (main): Call print_version.
2328 (show_usage): Print bug report address.
2329 * nm.c (program_version, print_version): Don't declare.
2330 (usage): Print bug report address.
2331 (main): Call print_version.
2332 * objcopy.c (program_version): Don't declare.
2333 (copy_usage): Print bug report address.
2334 (strip_usage): Likewise.
2335 (strip_main): Call print_version.
2336 (copy_main): Likewise.
2337 * objdump.c (program_version): Don't declare.
2338 (usage): Print bug report address.
2339 (main): Call print_version.
2340 * size.c (program_version): Don't declare.
2341 (usage): Print bug report address.
2342 (main): Call print_version.
2343 * strings.c (program_version): Don't declare.
2344 (main): Call print_version.
2345 (usage): Print bug report address.
2346 * Makefile.in: Update dependencies.
2350 * ieee.c: Revert Monday's reflocalp patch, and apply this patch
2352 (write_ieee_debugging_info): Write a dummy type at the end of the
2357 * ieee.c (struct ieee_write_type): Add reflocalp field.
2358 (ieee_pointer_type): Set reflocalp after pushing type.
2359 (ieee_function_type): If reflocalp is set, make this type local.
2360 (ieee_range_type, ieee_array_type, ieee_set_type): Likewise.
2361 (ieee_const_type, ieee_volatile_type): Likewise.
2362 (ieee_struct_field, ieee_class_baseclass): Likewise.
2364 * ieee.c (struct ieee_info): Add global_types field.
2365 (parse_ieee_bb): When starting a BB1, initialize the types field
2366 to the global_types field.
2367 (parse_ieee_be): When ending a BB2, copy the types field to the
2372 * objcopy.c (change_leading_char): New static variable.
2373 (OPTION_CHANGE_LEADING_CHAR): Define.
2374 (copy_options): Add "change-leading-char".
2375 (copy_usage): Mention --change-leading-char.
2376 (filter_symbols): Add obfd parameter. Change all callers.
2377 Implement change_leading_char.
2378 (copy_object): Call filter_symbols if change_leading_char.
2379 (copy_main): Handle OPTION_CHANGE_LEADING_CHAR.
2380 * binutils.texi, objcopy.1: Document --change-leading-char.
2384 * ieee.c (ieee_enum_type): Don't check index into a NULL names
2386 * nm.c (sort_symbols_by_size): Always initialize next.
2387 * rdcoff.c (parse_coff_type): Warn about an incomprehensible
2388 type rather than crashing.
2389 * rddbg.c (read_symbol_stabs_debugging_info): Initialize f.
2390 * stabs.c (parse_stab_members): Set context in all cases.
2394 * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
2395 * configure: Regenerate.
2399 * objdump.c (L_tmpnam): Never define.
2400 (display_target_list): Use choose_temp_base instead of tmpnam.
2401 (display_info_table): Likewise.
2405 * stabs.c (parse_stab): An N_FUN symbol with an empty string
2406 indicates the end of a function.
2410 * wrstabs.c (struct string_hash_entry): Add next field.
2411 (struct stab_write_handle): Change strings to a pointer to
2412 string_hash_entry. Add last_strings field. Remove strings_alloc
2414 (string_hash_newfunc): Initialize next field.
2415 (stab_write_symbol): Copy string into hash table rather than into
2416 buffer. Keep a list of hash table entries.
2417 (write_stabs_in_sections_debugging_info): Initialize last_string.
2418 Copy strings from list of hash table entries in memory.
2419 (stab_modify_type): If the entry on the stack is a definition,
2420 make a new definition rather than failing an assert.
2421 (stab_array_type): The size is only zero if high is strictly less
2424 * ieee.c (struct ieee_info): Add saw_filename field.
2425 (parse_ieee): Initialize saw_filename.
2426 (parse_ieee_bb): Set saw_filename for a BB1 or BB2. In a BB1,
2427 discard the current variables and types. In a BB10, if no
2428 filename has been seen, call debug_set_filename.
2429 (parse_ieee_ty): In case 'g', the type is optional.
2431 * prdbg.c (pr_fix_visibility): Don't abort on
2432 DEBUG_VISIBILITY_IGNORE.
2434 * debug.c (debug_name_type): Correct error message.
2436 * configure.in: Substitute HLDENV.
2437 * configure: Rebuild.
2438 * Makefile.in (HLDENV): New variable. Use it whenever linking a
2443 * mpw-make.sed: Add symbolic doublequotes around the version
2448 * makefile.vms: Add better support for DEC C compilation.
2449 Add new macros as in Makefile.in.
2453 * configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk.
2454 * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
2455 (NEED_DECLARATION_SBRK): New macro.
2456 * configure, config.in: Rebuild.
2457 * bucomm.h (strstr): Declare if NEED_DECLARATION_STRSTR.
2458 (sbrk): Declare if HAVE_SBRK and NEED_DECLARATION_SBRK.
2460 * prdbg.c (pr_end_struct_type): Avoid using a string constant in
2461 assert, for the benefit of broken assert macros.
2465 * objdump.c (disassemble_data): Set disasm_info.flavour from
2470 * dlltool.c (secdata): In non DLLTOOL_PPC case, change alignment
2471 of .text section to 2.
2475 * objdump.c (dump_section_stabs): Fix test for stabs sections
2476 ending with numbers. This fixes a problem with .stab being
2477 confused with .stab.index.
2481 * stabs.c (stab_demangle_fund_type): Return a void * for a
2482 template, rather than simply aborting.
2486 * ar.c (open_inarch): Add file parameter. Change all callers. If
2487 this is a newly created archive, set the target based on the
2489 * arsup.h (open_inarch): Update declaration.
2493 * Makefile.in (VERSION): Set to cygnus-2.7.1.
2495 * Released binutils 2.7.
2497 * rdcoff.c (parse_coff): Get address to pass to debug_end_function
2498 from function size, not value of .ef symbol. From Ning
2503 * objcopy.c (strip_main): Add -o option, and handle it.
2504 (strip_usage): Mention -o.
2505 * binutils.texi, strip.1: Mention -o.
2509 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
2510 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf set values.
2512 * configure.in (AC_PREREQ): Autoconf 2.5 or higher.
2516 * objdump.c (endian): New static variable.
2517 (usage): Mention -EB/-EL/--endian.
2518 (long_options): Add "endian".
2519 (disassemble_data): If endianness was specified, replace
2520 abfd->xvec with a copy of itself with the given endianness.
2521 (main): Handle -EB/-EL/--endian.
2522 * binutils.texi, objdump.1: Mention -EB/-EL/--endian.
2524 * objdump.c: Make most variables and functions static.
2526 * configure.in: On alpha*-*-osf*, link against libbfd.a if not
2527 using shared libraries.
2528 * configure: Rebuild with autoconf 2.10.
2532 * dlltool.c (secdata): Changed .rdata to .reldata so .reloc will work.
2533 (make_one_lib_file): Removed cruft. (#if 1)
2537 * objdump.c (stabs): Change from struct internal_nlist * to
2539 (print_section_stabs): Fetch stabs information directly, rather
2540 than assuming that struct internal_nlist is the right size.
2542 * binutils.texi: Document change to binary format: file position
2543 based on load address, not section VMA.
2545 * bucomm.h: Define SEEK_SET, SEEK_CUR, and SEEK_END if they are
2546 not already defined.
2550 * Makefile.in (DISTSTUFF): Add deflex.c.
2554 * config.h-vms, makefile.vms: New files.
2558 * dlltool.c (make_one_lib_file): Use BFD_RELOC_RVA rather than
2559 BFD_RELOC_32 in IDATA7.
2563 * nm.c (struct get_relocs_info): Define.
2564 (line_numbers): New static variable.
2565 (long_options): Add "line-numbers".
2566 (usage): Mention -l and --line-numbers.
2568 (print_symbol): Print line numbers if requested.
2569 (get_relocs): New static function.
2570 * binutils.texi, nm.1: Document -l/--line-numbers.
2574 * objdump.c (dump_reloc_set): Add sec parameter. Change all
2575 callers. If with_line_numbers is set, display line numbers of
2577 * binutils.texi, objdump.1: Document -l with -r.
2581 * ar.c (open_inarch): Report BFD error message if an archive can
2582 not be recognized. List matching formats if the file is
2583 ambiguously recognized.
2584 (ranlib_touch): Likewise.
2588 * README: Add notes on how to build if you don't have ar.
2590 * Makefile.in: Remove old incorrect setting of CC.
2594 * Makefile.in (install): Don't check to see if tooldir exists.
2595 Make $(tooldir) and $(tooldir)/bin.
2599 * strings.c (main): Make main an int function, not void.
2603 * nm.c (filter_symbols): Check for BSF_WEAK as well as
2605 * objcopy.c (filter_symbols): Likewise.
2609 * objcopy.c (copy_object): Make clear that it is only a warning
2610 when the output file can not represent the architecture.
2614 * objdump.c (disassemble_data): Don't refer to bytes past the end
2619 * rddbg.c (read_symbol_stabs_debugging_info): Move call to
2620 free_saved_stabs outside the loop over the symbols.
2624 * objdump.c (compare_symbols): Sort symbols whose names start with
2625 `.' after other symbols. If no other decision can be made, sort
2630 * dep-in.sed: Substitute $(BFDDIR) for @BFDDIR@.
2631 * Makefile.in: Rebuild dependencies.
2632 (dep.sed): Substitute $(BFDDIR) for @BFDDIR@.
2636 * rdcoff.c: New file.
2637 * rddbg.c (read_debugging_info): Read COFF symbols if COFF flavour
2638 and no stabs were found.
2639 * budbg.h (parse_coff): Declare.
2640 * Makefile.in: Rebuild dependencies.
2641 (CFILES): Add rdcoff.c.
2642 (DEBUG_OBJS): Add rdcoff.o.
2646 * nlmconv.c (choose_temp_base{,_try}): Delete, in libiberty now.
2647 (link_inputs): Update call to choose_temp_base.
2651 * configure.in: Permit --enable-shared to specify a list of
2653 * configure: Rebuild.
2657 * objdump.c (dump_section_header): Print the SEC_LINK_ONCE flag
2658 and the SEC_LINK_DUPLICATES field.
2662 * nlmconv.1: Changed to be recognized by catman -w on Solaris.
2666 * wrstabs.c (stab_enum_type): Set buf before using it.
2670 * stabs.c (struct stab_handle): Add field abfd.
2671 (start_stab): Add abfd parameter.
2672 (parse_stab_string): Skip the symbol leading char when searching
2673 for the value of a global symbol.
2674 * budbg.h (start_stab): Update declaration.
2675 * rddbg.c (read_section_stabs_debugging_info): Pass abfd to
2677 (read_symbol_stabs_debugging_info): Likewise.
2681 * wrstabs.c (stab_function_type): Output an empty typedef for an
2682 unused argument, rather than making up a meaningless name.
2683 (stab_variable): Use N_RSYM for a DEBUG_REGISTER variable.
2685 * ieee.c (struct ieee_info): Add global_vars field.
2686 (parse_ieee_be): When ending the global typedef block, copy the
2687 variables into info->global_vars.
2688 (parse_ieee_atn): Don't require an NN record for a pmisc ATN.
2689 (ieee_read_reference): Search the global variables after the local
2694 * objdump.c (disassemble_data): Make sure sym_name is always set.
2695 (dump_section_header): Always put a space after the section name.
2696 (dump_bfd_header): Terminate output with newline.
2700 * wrstabs.c: New file.
2701 * budbg.h (write_stabs_in_sections_debugging_info): Declare.
2702 * objcopy.c (write_debugging_info): For COFF or ELF, output stabs
2704 * Makefile.in: Rebuild dependencies.
2705 (CFILES): Add wrstabs.c.
2706 (WRITE_DEBUG_OBJS): New variable.
2707 ($(OBJCOPY_PROG)): Use $(WRITE_DEBUG_OBJS), not $(DEBUG_OBJS).
2708 ($(STRIP_PROG)): Likewise.
2710 * stabs.c (parse_stab_members): Make type stub detection more like
2713 * ieee.c (struct ieee_handle): Add fields complex_float_index and
2714 complex_double_index.
2715 (ieee_complex_type): Cache type index in complex_float_index and
2716 complex_double_index, depending upon size. Set size on type stack
2719 * ieee.c (ieee_empty_type): Use builtin_unknown, not 0.
2720 (ieee_void_type): Use builtin_void, not 1.
2722 * ieee.c (parse_ieee_ty): Handle 'V' type code.
2723 (parse_ieee_atn): Don't require two numbers for type 10.
2725 * ieee.c (parse_ieee_be): Add one to offset at end of function or
2728 * ieee.c (struct ieee_block): Add field skip.
2729 (parse_ieee_bb): Don't call debug_record_function for __XRYCPP
2730 function, and set skip field.
2731 (parse_ieee_be): Don't call debug_end_function if skip is set.
2733 * debug.c (struct debug_handle): Add fields current_write_lineno
2734 and current_write_lineno_index.
2735 (debug_write): Initialize current_write_lineno and
2736 current_write_lineno_index for each unit. Call
2737 debug_write_linenos rather than writing out the line numbers
2739 (debug_write_function): Call debug_write_linenos.
2740 (debug_write_block): Likewise.
2741 (debug_write_linenos): New static function.
2743 * debug.c (debug_write_type): For DEBUG_KIND_FUNCTION, push return
2744 type before arguments.
2748 * configure.in: Add AC_FUNC_VFORK.
2749 * configure, config.in: Rebuild.
2750 * dlltool.c, nlmconv.c: Include <vfork.h> if HAVE_VFORK_H is
2753 * stabs.c (parse_stab_range_type): A complex type is defined as a
2754 subrange of itself with the high bound zero.
2755 * ieee.c (ieee_complex_type): Don't crash on sizes of 12 or 16.
2759 * ieee.c (ieee_write_undefined_tag): Switch to global_types even
2761 (ieee_tag_type): For an enum, look through info->enums.
2763 * configure: Rebuild with autoconf 2.8.
2765 * debug.c (debug_type_samep): Don't loop endlessly in
2770 * rddbg.c (read_section_stabs_debugging_info): Call save_stab for
2771 each stab entry, call stab_context on an error, and call
2772 free_saved_stabs before rturning.
2773 (read_symbol_stabs_debugging_info): Likewise.
2774 (SAVE_STABS_COUNT): Define.
2775 (struct saved_stab): Define.
2776 (saved_stabs, saved_stabs_index): New static variables.
2777 (save_stab, stab_context, free_saved_stabs): New static functios.
2779 * objdump.c (stab_name): Remove.
2780 (struct stab_print): Remove.
2781 (stab_print): Remove.
2782 (dump_stabs): Don't initialize stab_name.
2783 (print_section_stabs): Call bfd_get_stab_name rather than using
2784 the stab_name array.
2788 * prdbg.c (pr_int_constant): Initialize info correctly.
2789 (pr_float_constant): Likewise.
2793 * mpw-make.sed: Update to handle shared library support.
2797 * Makefile.in ($(OBJDUMP_PROG)): Search $(BFDLIB) before
2802 * configure.in: Don't tamper with LDFLAGS. Call AC_PROG_CC before
2804 * configure: Rebuild.
2806 * configure.in: Substitute RPATH_ENVVAR.
2807 * configure: Rebuild.
2808 * Makefile.in (RPATH_ENVVAR): New variable.
2809 (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
2811 * objcopy.c (smart_rename): Rather than doing chmod then chown, do
2812 chmod without setuid, then chown, then chmod with setuid.
2816 * arsup.c (map_over_list): Reindent. Don't assume that the
2817 function does not delete the BFD.
2818 (ar_addlib_doer): Don't set prev->next if prev is NULL.
2822 * ieee.c (ieee_regno_to_genreg): Convert register numbers for m68k
2824 (ieee_genreg_to_regno): Likewise.
2828 * ieee.c: Extensive changes to write code to put types in the
2829 global type block when possible, to output ranges for all memory
2830 occupied by the module, and to improve efficiency.
2832 * debug.c (struct debug_handle): Remove class_mark field. Add
2833 id_list and compare_list fields.
2834 (struct debug_class_id): Define.
2835 (struct debug_type_compare_list): Define.
2836 (debug_write): Initialize info->id_list
2837 (debug_write_name): Remove reference to info->class_mark.
2838 (debug_write_type): Get id for all structs and classes. Simplify
2839 test for whether struct has already been written.
2840 (debug_write_class_type): Get id for all classes. Simplify test
2841 for whether class has already been written.
2842 (debug_write_block): Don't write out blocks other than the top
2843 level block if they have no local variables.
2844 (debug_set_class_id): New static function.
2845 (debug_type_samep): New static function.
2846 (debug_class_type_samep): New static function.
2847 * prdbg.c (pr_start_struct_type): Always print id.
2848 (pr_start_class_type): Likewise.
2849 (pr_tag_type): Likewise.
2851 * stabs.c (struct stab_handle): Add syms and symcount fields.
2852 (start_stab): Add syms and symcount parameters. Change all
2854 (parse_stab_string): Look up global variables in the symbol table
2855 to get the right value.
2856 * budbg.h (start_stab): Update declaration.
2857 * rddbg.c (read_section_stabs_debugging_info): Add syms and
2858 symcount parameters. Change all callers.
2860 * stabs.c (parse_stab_array_type): If the index type is 0, use
2865 * ieee.c (ieee_start_compilation_unit): Clear modified and
2866 modified_alloc fields of info.
2868 * configure.in: Check for --enable-shared. Substitute new
2869 variables BFDLIB and OPCODES.
2870 * configure: Rebuild.
2871 * Makefile.in (BFDLIB): Set to @BFDLIB@.
2872 (OPCODES): Set to @OPCODES@.
2876 Support for building bfd and opcodes as shared libraries, based on
2878 * configure.in (HLDFLAGS): New substitution.
2879 * configure: Rebuild.
2880 * Makefile.in (HLDFLAGS): New variable. Make all links use
2881 $(HLDFLAGS) before $(CFLAGS) and $(LDFLAGS).
2882 (BFDLIB_DEP): New variable. Replace all occurrences of $(BFD) as
2883 a dependency with $(BFDLIB_DEP). Remove $(BFD) as a dependency if
2884 there is also a dependency on $(ADDL_DEPS).
2885 (BFDLIB): Rename from BFD; change all uses; set to -L../bfd -lbfd.
2886 (OPCODES_DEP): New variable. Replace all occurrends of $(OPCODES)
2887 as a dependency with $(OPCODES_DEP).
2888 (OPCODES): Set to -L../opcodes -lopcodes.
2889 (ADDL_DEPS): New variable. Replace all occurrences of
2890 $(ADDL_LIBS) as a dependency with $(ADDL_DEPS).
2891 (check): Set LD_LIBRARY_PATH in the environment.
2892 (config.status): Depend upon BFD configure.host and config.bfd.
2896 * objdump.c: #include stdarg.h or varargs.h.
2897 (objdump_print_value): Change FILE* arg to struct disassemble_info*.
2898 All callers updated. Use fprintf_func.
2899 (objdump_print_address): Consistently use fprintf_func.
2900 (objdump_sprintf): New function.
2901 (disassemble_data): Print insn into a buffer, print raw insn ourselves,
2902 then print insn mnemonic.
2906 * configure: Regenerate.
2910 * configure.in (i[3-6]86-*-win32): Becomes i[3-6]86-*-cygwin32.
2911 (powerpc*-*-cygwin32): New.
2912 * configure: Regenerated.
2916 * Makefile.in (distclean): Remove $(DEMANGLER_PROG).1.
2921 * objcopy.c (remove_leading_char): New static variable.
2922 (OPTION_REMOVE_LEADING_CHAR): Define.
2923 (copy_usage): Mention --remove-leading-char.
2924 (filter_symbols): If remove_leading_char, and the first character
2925 of a global symbol matches the symbol leading char of the BFD,
2926 remove the first character.
2927 (copy_object): Filter the symbols if remove_leading_char is set.
2928 (copy_main): Handle --remove-leading-char.
2929 * binutils.texi, objcopy.1: Document --remove-leading-char.
2933 * objdump.c (fprintf): Add prototype to avoid compiler warning on
2938 * binutils.texi (nm): Improve documentation on symbol types.
2939 (objdump): Reference the stabs manual from the discussion of the
2944 * mpw-make.sed: Add a "stamps" target.
2948 * objdump.c (dump_headers, dump_section_header): Change objdump -h
2949 output to be simpler and to include section file offsets.
2953 * stabs.c (parse_stab_members): Don't adjust voffset.
2955 * ieee.c (ieee_read_cxx_class): Don't multiply voffset by 4.
2956 (struct ieee_write_type): Add name field.
2957 (struct ieee_type_class): Remove name field. Change all uses to
2958 use new name field in type instead.
2959 (struct ieee_name_type): Likewise.
2960 (ieee_start_struct_type): Initialize name field of type.
2961 (ieee_start_class_type): Don't initialize classdef entry of tag.
2962 (ieee_class_method_var): Don't adjust voffset.
2963 (ieee_end_class_type): Likewise.
2964 (ieee_tag_type): Initialize new name field of type.
2965 (ieee_typdef): Set name after copying in type information.
2967 * debug.c (VOFFSET_STATIC_METHOD): Define as -1, not 1.
2969 * ieee.c (struct ieee_modified_type): Define.
2970 (struct ieee_handle): Add modified and modified_alloc fields.
2971 (ieee_get_modified_info): New static function.
2972 (ieee_pointer_type): Cache type index.
2973 (ieee_const_type): Likewise.
2974 (ieee_volatile_type): Likewise.
2976 * ieee.c (ieee_define_named_type): When creating a tag for an
2977 anonymous struct, copy the name into memory.
2978 (ieee_tag_type): Likewise.
2979 * debug.c (debug_write_type): Only check and set id field for an
2981 (debug_write_class_type): Likewise.
2983 * ieee.c: Various changes to write out types for functions and
2984 references, and to not write out unnecessary function types.
2986 * ieee.c (struct ieee_var): Remove variable field. Add kind
2987 field, and define some enum constants for it.
2988 (parse_ieee_ty): Set kind field of variable for 'x' and 'X' types.
2989 (parse_ieee_atn): Make an indirect slot for an external variable,
2990 although we otherwise don't record it. Set kind field rather than
2991 variable field of pvar.
2992 (ieee_read_cxx_class): Try to get the type of a static member.
2993 (ieee_read_reference): Check kind field rather than variable
2998 * ieee.c: Various changes to handle reading C++ reference type
3001 * debug.h (enum debug_var_kind): Add DEBUG_VAR_ILLEGAL.
3002 (enum debug_parm_kind): Add DEBUG_PARM_ILLEGAL.
3003 * debug.c (debug_get_parameter_types): Handle DEBUG_KIND_FUNCTION.
3005 * ieee.c: Various changes to write out definitions of C++ classes.
3007 * debug.c (debug_append_filename): Remove.
3008 * debug.h (debug_append_filename): Don't declare.
3010 * stabs.c (struct stab_handle): Remove last_type field. Add
3011 so_string and so_value fields.
3012 (finish_stab): Call stab_emit_pending_vars before calling
3013 debug_end_function. Don't warn about pending variables.
3014 (parse_stab): Accumulate N_SO strings until a non N_SO symbol is
3015 seen, rather than calling debug_append_filename. Call
3016 stab_emit_pending_vars before calling debug_end_function. Don't
3017 set info->last_type.
3021 * objdump.c (disassemble_data): Handle unknown endianness.
3022 Pass fprintf to INIT_DISASSEMBLE_INFO.
3026 Add new option --show-raw-insn.
3027 * objdump.c (show_raw_insn): New global.
3029 (long_options): Update.
3030 (disassemble_data): Set disasm_info.flags if --show-raw-insn.
3032 * objdump.c (disassemble_data): Set new arch,mach,endian fields in
3037 * ieee.c: Extensive changes to pass a single info argument around
3038 in the reading routines, rather than several arguments. Add code
3039 to read C++ debugging records.
3041 * debug.h (debug_get_type_size): Declare.
3042 (debug_get_field_name): Declare.
3043 (debug_get_field_bitpos): Declare.
3044 (debug_get_field_bitsize): Declare.
3045 (debug_get_field_visibility): Declare.
3046 (debug_get_field_physname): Declare.
3047 * debug.c (debug_get_real_type): Handle DEBUG_KIND_TAGGED.
3048 (debug_get_type_size): New function.
3049 (debug_get_field_name): New function.
3050 (debug_get_field_bitpos): New function.
3051 (debug_get_field_bitsize): New function.
3052 (debug_get_field_visibility): New function.
3053 (debug_get_field_physname): New function.
3054 (debug_write_type): Make sure we pass the real kind, not INDIRECT,
3055 to tag_type. Pass the name recursively for INDIRECT.
3059 * debug.h (struct debug_write_fns): Remove ellipsis_type. Add int
3060 and boolean parameters to function_type. Add boolean parameter to
3062 (debug_make_ellipsis_type): Don't declare.
3063 (debug_make_function_type): Add debug_type * and boolean
3064 parameters. Change all callers.
3065 (debug_make_method_type): Add boolean parameter. Change all
3067 (debug_get_parameter_types): Add boolean * parameter. Change all
3069 (debug_get_target_type): Declare.
3070 * debug.c (struct debug_function_type): Add fields arg_types and
3072 (struct debug_method_type): Add field varargs.
3073 (debug_ellipsis_type, ELLIPSIS_P): Remove.
3074 (debug_make_ellipsis_type): Remove.
3075 (debug_make_function_type): Add arg_types and varargs parameters.
3076 (debug_make_method_type): Add varargs parameter.
3077 (debug_get_parameter_types): Add pvarargs parameter.
3078 (debug_get_target_type): New function.
3079 (debug_write_type): In case DEBUG_KIND_FUNCTION, push argument
3080 types and pass count to function_type. In DEBUG_KIND_METHOD, use
3081 a signed int for the count, don't call ellipsis_type, and pass
3082 varargs to method_type.
3083 * stabs.c (struct stab_demangle_info): Add varargs field.
3084 (stab_demangle_argtypes): Add pvarargs parameter. Change all
3086 (stab_demangle_args): Likewise.
3087 (stab_demangle_type): In case 'F', pick up argument types.
3088 * prdbg.c (pr_ellipsis_type): Remove.
3089 (pr_function_type): Add argcount and varargs parameters.
3090 (pr_method_type): Add varargs parameter.
3091 * ieee.c (ieee_ellipsis_type): Remove.
3092 (ieee_function_type): Add argcount and varargs parameters.
3093 (ieee_method_type): Add varargs parameter. Remove most of
3094 function body, and just call ieee_function_type.
3096 * stabs.c: Include "demangle.h". Added several new static
3097 functions not listed below to demangle argument types; they are
3098 all called via stab_demangle_argtypes.
3099 (finish_stab): If the kind of an undefined tag is
3100 DEBUG_KIND_ILLEGAL, use DEBUG_KIND_STRUCT instead. Warn if there
3101 are any pending variable.
3102 (parse_stab): Don't close the function when the block depth goes
3103 to zero. Pass value to debug_end_function.
3104 (parse_stab_string): In case 'T', pass the name to
3106 (parse_stab_type): In case 'x', use stab_find_tagged_type. In
3107 case '#', handle functions with variable numbers of arguments.
3108 (parse_stab_struct_type): Add tagname parameter. Change all
3110 (parse_stab_members): Add tagname and typenums parameters. Change
3111 all callers. If the type of a method is a stub, call
3112 parse_stab_argtypes to demangle the argument types and get the
3113 physical name of the function.
3114 (parse_stab_argtypes): New static function.
3115 (stab_record_variable): For a DEBUG_GLOBAL or DEBUG_STATIC
3116 variable, call debug_record_variable immediately.
3117 (stab_find_tagged_type): New static function.
3119 * debug.h (enum debug_type_kind): Add DEBUG_KIND_ILLEGAL.
3120 (struct debug_write_fns): Add field ellipsis_type. Add id
3121 parameter to start_struct_type, start_class_type, and tag_type.
3122 (debug_make_ellipsis_type): Declare.
3123 (debug_find_named_type): Declare.
3124 (debug_get_type_kind): Declare.
3125 (debug_get_return_type): Declare.
3126 (debug_get_parameter_types): Declare.
3127 (debug_get_fields): Declare.
3128 (debug_get_field_type): Declare.
3129 * debug.c (struct debug_handle): Add fields class_id and base_id.
3130 (struct debug_class_type): Add field id.
3131 (struct debug_method_variant): Rename argtypes to physname.
3133 (debug_ellipsis_type): New static variable.
3134 (ELLIPSIS_P): New macro.
3135 (debug_make_ellipsis_type): New function.
3136 (debug_make_method_variant): Rename argtypes to physname.
3137 (debug_make_static_method_variant): Likewise.
3138 (debug_name_type): Always put types in the global namespace.
3139 (debug_find_named_type): New function.
3140 (debug_find_tagged_type): Treat DEBUG_KIND_ILLEGAL specially,
3141 rather than DEBUG_KIND_VOID.
3142 (debug_get_real_type): New static function.
3143 (debug_get_type_kind): New function.
3144 (debug_get_return_type): New function.
3145 (debug_get_parameter_types): New function.
3146 (debug_get_fields): New function.
3147 (debug_get_field_type): New function.
3148 (debug_write): Initialize base_id.
3149 (debug_write_type): Pass new id argument to tag_type. Handle
3150 DEBUG_KIND_ILLEGAL. Use id for DEBUG_KIND_STRUCT and
3151 DEBUG_KIND_UNION. Handle ellipsis for method arguments.
3152 (debug_write_class_type): Don't dereference kclass if it is NULL.
3154 * prdbg.c (pr_fns): Add pr_ellipsis_type.
3155 (pr_ellipsis_type): New static function.
3156 (pr_pointer_type): If this is a pointer to an array, parenthesize
3158 (pr_start_struct_type): Add id parameter.
3159 (pr_start_class_type): Likewise.
3160 (pr_tag_type): Likewise.
3161 (pr_fix_visibility): Add the visibility to the top of the stack,
3162 not the second element on the stack.
3163 (pr_struct_field): Pop the stack before calling pr_fix_visibility.
3164 (pr_class_static_member): Likewise.
3165 (pr_class_start_method): Don't push a type, just set the method
3166 name in the type on the top of the stack.
3167 (pr_class_end_method): Don't pop the stack.
3168 (pr_class_method_variant): Rename argtypes parameter to physname.
3169 Append const and volatile rather than prepending them. Add a
3170 space after the physname.
3171 (pr_class_static_method_variant): Likewise.
3172 * ieee.c (ieee_fns): Add ieee_ellipsis_type.
3173 (ieee_define_named_type): Use DEBUG_KIND_ILLEGAL rather than
3175 (write_ieee_debugging_info): Likewise.
3176 (ieee_typdef): Likewise.
3177 (ieee_ellipsis_type): New static function.
3178 (ieee_start_struct_type): Add id parameter.
3179 (ieee_start_class_type): Likewise.
3180 (ieee_tag_type): Likewise.
3181 (ieee_class_method_variant): Rename name to physname.
3182 (ieee_class_static_method_variant): Likewise.
3184 * Makefile.in (DEBUG_OBJS): Remove prdbg.o.
3185 ($(OBJDUMP_PROG)): Depend upon, and link against, prdbg.o.
3189 * dlltool.c (make_tail): Changed the order of the sections to avoid
3190 an alignment problem.
3194 * srconv.c (wr_du): Set du.stackfrmt to 0.
3195 (wr_un, wr_sc): Emit all sections, even those with 0 size.
3199 * srconv.c (wr_hd): Space size within segment was being
3200 stored in segment identifier field.
3204 * mpw-config.in (BUILD_NLMCONV, BUILD_SRCONV, SYSINFO_PROG,
3205 BUILD_DLLTOOL): Put definitions for these into makefile when
3206 configuring, instead of always clearing in mpw-make.sed.
3207 * mpw-make.sed: Edit out any host_alias or target_alias settings,
3208 fix pathname to BFD internal include files, remove dependency
3213 * objdump.c (dump_section_header): Add new section flags
3214 SEC_{EXCLUDE,SORT_ENTRIES}.
3218 * objcopy.c (filter_symbols): NULL terminate the output symbols.
3219 (copy_object): Allocate space for a possible extra NULL pointer.
3221 * debug.c (debug_make_undefined_tagged_type): Make sure we are
3222 given a kind of type we can handle.
3223 (debug_write_type): Handle undefined enums and structs.
3224 (debug_write_class_type): Handle undefined classes.
3225 * prdbg.c (pr_enum_type): Handle an undefined enum.
3226 * ieee.c (ieee_enum_type): Likewise.
3230 * Makefile.in: Updated dependencies.
3231 (ALLOCA, MALLOC): Remove variables.
3232 (ADDL_LIBS): Remove $(MALLOC) from definition.
3233 * alloca.c, gmalloc.c: Remove.
3237 * ieee.c: Add global function write_ieee_debugging_info and a
3238 bunch of static functions and structs used to write out IEEE
3239 debugging information.
3240 * budbg.h (write_ieee_debugging_info): Declare.
3242 * ieee.c (struct ieee_type): Add pslot field.
3243 (enum builtin_types): Define.
3244 (ieee_builtin_type): For a pointer, return a pointer to the named
3245 type. Use enum values rather than numbers.
3246 (ieee_alloc_type): New static function.
3247 (ieee_read_type_index): Use ieee_alloc_type.
3248 (parse_ieee_bb): Likewise.
3249 (parse_ieee_ty): Likewise. Use ieee_builtin_type for array range,
3250 rather than making a new integer type. Store the new type in the
3251 slot, if there is one.
3252 (parse_ieee_atn): Treat ATN10 as defining a register variable.
3253 (ieee_regno_to_genreg): Rename from ieee_regno_to_gen. Change all
3255 (ieee_genreg_to_regno): New static function.
3257 * stabs.c (parse_stab_type): Add new typename parameter. Change
3259 (parse_stab_range_type): Add new typename parameter. Change all
3262 * debug.h (struct debug_write_fns): Add tag parameter to
3263 enum_type, start_struct_type, and start_class_type.
3264 * debug.c (debug_write_type): Pass any tag name to
3265 start_struct_type, debug_write_class_type, and enum_type. If
3266 DEBUG_KIND_TAGGED, pass the name in the recursive call.
3267 (debug_write_class_type): Accept a new tag parameter, and pass it
3268 to start_class_type.
3269 * prdbg.c (pop_type): Don't remove '+' character.
3270 (pr_enum_type): Accept and use tag parameter.
3271 (pr_start_struct_type): Likewise.
3272 (pr_start_class_type): Likewise.
3273 (pr_class_baseclass): Adjust algorithm used to find where to put
3275 (pr_tag): Don't bother to insert the tag name.
3277 * objcopy.c: Include budbg.h.
3278 (convert_debugging): New static variable.
3279 (OPTION_DEBUGGING): Define.
3280 (copy_options): Add "debugging".
3281 (copy_usage): Mention --debugging.
3282 (is_strip_section): Skip debugging sections if convert_debugging.
3283 (setup_section, copy_section): Likewise.
3284 (filter_symbols): Skip debugging symbols if convert_debugging.
3285 (copy_object): If convert_debugging, read and write debugging
3287 (write_debugging_info): New static function.
3288 (copy_main): Handle --debugging.
3289 * Makefile.in (DEBUG_OBJS): New variable.
3290 ($(OBJCOPY_PROG)): Depend upon and link against $(DEBUG_OBJS).
3291 ($(STRIP_PROG)): Likewise.
3292 (OBJDUMP_OBJS): Remove variable.
3293 ($(OBJDUMP_PROG)): Use objdump.o $(DEBUG_OBJS) rather than
3295 * binutils.texi, objcopy.1: Document --debugging.
3299 * ieee.c: New file with code to read IEEE debugging information.
3300 * budbg.h (parse_ieee): Declare.
3301 * rddbg.c (read_debugging_info): Handle IEEE flavour files.
3302 (read_ieee_debugging_info): New static function.
3303 * Makefile.in: Rebuild dependencies.
3304 (CFILES): Add ieee.c.
3305 (OBJDUMP_OBJS): Add ieee.o.
3307 * bucomm.h (xrealloc): Change type of first parameter from char *
3312 * Makefile.in: Add targets to automatically rebuild dependencies.
3313 Remove targets which just listed dependencies of .o files.
3314 (DEP): New variable.
3315 (HFILES, GENERATED_HFILES): New variables.
3316 (CFILES, GENERATED_CFILES): New variables.
3317 (underscore.c): Don't do anything, just depend upon stamp-under.
3318 (stamp-under): New target; do what underscore.c used to do.
3319 (nlmconv.o): Depend upon sym.h and ecoff.h.
3320 (.dep, .dep1, dep.sed, dep, dep-in): New targets.
3321 (stage1, stage2, stage3, against, comparison): Remove.
3322 (de-stage1, de-stage2, de-stage3): Remove.
3323 (clean, distclean): Remove stamp-under and dep.sed.
3324 * dep-in.sed: New file.
3326 Implement generic debugging support. Implement a stabs reader and
3328 * budbg.h, debug.c, debug.h, prdbg.c, rddbg.c, stabs.c: New files.
3329 * objdump.c: Include "debug.h" and "budbg.h".
3330 (dump_debugging): New global variable.
3331 (usage): Mention --debugging.
3332 (long_options): Add "debugging".
3333 (display_bfd): Handle --debugging.
3334 * Makefile.in (OBJDUMP_OBJS): New variable.
3335 ($(OBJDUMP_PROG)): Use $(OBJDUMP_OBJS).
3336 * binutils.texi, objdump.1: Document --debugging.
3340 * nm.c ( long_options): Add "--defined-only" option.
3341 (usage): Update for new "--defined-only" option.
3342 (filter_symbols): Handle "--defined-only".
3346 * arparse.y: Include "bucomm.h", not <sysdep.h>.
3347 * nlmheader.y: Don't include "sysdep.h".
3351 * nm.c (print_symdef_entry): Check return value of
3352 bfd_get_elt_at_index.
3356 * configure.in (DLLTOOL_DEFS): Build dlltool for PowerPC if target
3357 is powerpc*-*-win* in addition to powerpc*-*-*pe*.
3361 * objdump.c (endian_string): New static function.
3362 (display_target_list): Use it.
3363 * nlmconv.c (main): Use new bfd_big_endian macro.
3367 * dlltool.c (fill_ordinals): Start from 1 if no other instructions
3372 * Makefile.in (clean): Remove $(DEMANGLER_PROG).1. From Ronald
3377 * mac-binutils.r: Fix copyright and version strings.
3379 * Makefile.in (version): Remove, no longer used.
3383 * mpw-make.sed (install, install-only): Edit in Mac-specific
3388 * dlltool.c (ppc_jtab): The binary glue for PowerPC dll linkage,
3389 including the return instruction.
3390 sinfo: added a preferred alignment field.
3391 (secdata): section data for the PowerPC version.
3392 (make_one_lib_file): More symbols, More sections (pdata, rdata)
3393 (make_tail): Use idata$6 instead of idata$7 for ppc. Also added a
3394 NULL idata$3 descriptor (temporary).
3398 * dlltool.c (fill_ordinals): Don't reference d_export_vec if
3399 there are no exported functions.
3403 * configure: Regenerate with autoconf 2.7.
3407 * dlltool.c (fill_ordinals): Start assigning ordinals at 1.
3409 * Makefile.in (EXPECT): Use $$r, not $${rootme}.
3410 (check): Set r, not rootme.
3414 * configure.in: Use BFD_NEED_DECLARATION.
3415 * acconfig.h: Put NEED_DECLARATION_FPRINTF in @TOP@ section.
3416 * configure, config.in: Rebuild with autoconf 2.6.
3420 * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
3421 $(host_canonical) and $(target_canonical).
3425 Version 2.6 released.
3426 * Makefile.in (VERSION): Update to 2.6.
3430 * Makefile.in (CC_FOR_TARGET): Define.
3431 (check): Pass CC and CFLAGS to runtest.
3433 * nm.c (display_rel_file): Don't require a DYNAMIC object when
3434 dumping the dynamic symbol table.
3436 * objdump.c (compare_symbols): Sort global symbols before local
3437 symbols before debugging symbols.
3438 (objdump_print_address): Don't futz around looking for a global
3439 symbol with the same value.
3443 * dlltool.c: Use FOPEN_* macros rather than "r" or "w".
3445 * dlltool.c (fill_ordinals): Correct memset call.
3449 * mpw-make.sed (DEMANGLER_PROG): Edit out attempts to do anything
3454 * objcopy.c (setup_section): Copy the section lma independently of
3459 * arsup.c (ar_open): Cast malloc return value.
3463 * configure.in, configure (DLLTOOL_DEFS): Added ppc target.
3464 * dlltool.c (MPPC): Added basic PPC definitions.
3468 * configure.in: Don't treat rs6000-*-lynx* specially.
3469 * configure: Rebuild.
3470 * config/rslynx: Remove.
3471 * Makefile.in: Remove @target_makefile_fragment@.
3475 * bucomm.h: Include <sys/types.h>.
3476 * ar.c: Don't include <sys/types.h> or <stdio.h>.
3477 * bucomm.c, dlltool.c, nlmconv.c, objcopy.c, objdump.c: Likewise.
3481 * objdump.c: Include <sys/types.h>.
3483 Permit user to override DEMANGLER_PROG from command line. From
3485 * Makefile.in ($(DEMANGLER_PROG)): Depend upon
3486 $(DEMANGLER_PROG).1.
3487 (install): Don't depend upon $(DEMANGLER_PROG).1. Only install
3488 $(DEMANGLER_PROG).1 if $(DEMANGLER_PROG) is not empty.
3492 * Makefile.in (syslex.o): add -I$(srcdir) if compiling in a
3497 * objdump.c (objdump_print_value): New static function.
3498 (objdump_print_address): Use it. If we need the right section for
3499 the symbol, and we can't find it, print an offset from the section
3500 rather than using a symbol from some other section.
3504 * dlltool.c (no_idata4, no_idata5): New.
3505 (arm_jtab): Use correct encoding of jump instruction.
3506 (usage, main, make_head, make_tail): Act on no_idata4, no_idata5.
3510 * mpw-make.sed: Edit paths to generated y.tab.[ch] files.
3514 * binutils.texi: Change --with-targets to --enable-targets.
3518 * Makefile.in: Remove extraneous tab on otherwise empty line,
3519 which confuses many non-GNU versions of "make".
3523 * dlltool.c (i386_jtab, arm_jtab): New
3524 (gen_lib_file): Rewritten to use bfd.
3528 * Makefile.in (install): Don't give error message if dlltool
3533 * deflex.l: Allow quoting of IDs.
3534 * defparse.y (%union): string deleted.
3535 (command): DESCRIPTION takes ID.
3536 * dlltool.c (gen_def_file): Quote outgoing name if
3537 necessary. Preserve NONAME.
3538 (gen_lib_file): Run ranlib.
3539 (workout_prefix): Deleted.
3540 (main, usage, long_options): Add --as, --ranlib, --ar options.
3544 * dlltool.c (mtable): HOW_ALIGN_LONG, new.
3546 (d_low_ord, d_high_ord, d_named_funcs): New.
3547 (gen_exp_file): Create noname entries correctly.
3548 (gen_lib_file): Dump exports alphabetically.
3549 (process_duplicates): Count nonamed functions.
3550 (fill_ordinals): Keep track of highest ord too.
3551 (mangle_defs): Create alphabetically ordered list of names.
3555 * Makefile.in (TOOL_PROGS): Include DLLTOOL_PROG.
3559 * dlltool.c (add_underscore): New.
3560 (xlate): Use new name.
3561 (main, usage): Update.
3565 * sysinfo.y: Eliminate unused terminals "[" and "]" and unused
3566 nonterminal "name". One s/r conflict remains.
3570 * nm.c (print_symname): Don't try to demangle an empty
3572 * objdump.c (slurp_symtab): Reset symcount if there are
3574 (slurp_dynamic_symtab): Likewise, for dynsymcount.
3575 (disassemble_data): Fix memory leak: free sorted_syms when done.
3576 (display_bfd): Likewise, for syms and dynsyms.
3577 (dump_relocs): Don't print header before possibly generating an
3579 (dump_dynamic_relocs): Likewise.
3581 * ar.1, nm.1, objdump.1, size.1, strings.1, strip.1: Fix typos and
3586 * ar.c (do_quick_append): Comment out.
3587 (replace_members): Add quick argument.
3588 (main): Don't call do_quick_append.
3589 (open_inarch): Don't call quick_append to create an empty archive.
3590 Instead call bfd_openw/bfd_set_format/bfd_close.
3594 * bucomm.c: Always include time.h.
3598 * objdump.c (compare_symbols): Sort gnu_compiled and gcc2_compiled
3599 symbols after other symbols with the same value. Likewise for
3600 symbols which look like file names.
3601 (objdump_print_address): Always chose the first reasonable symbol
3606 * arsup.c (ar_save): Use rename, not unlink/link/unlink.
3610 * strings.c (main): Exit with zero status if no files are given
3611 and standard input is read.
3615 * mpw-config.in: Calculate underscore and put into makefile
3616 fragment, generate config.h.
3617 * mpw-make.sed: New file, sed commands to edit Unix makefile
3619 * mpw-make.in: Remove.
3620 * mac-binutils.r: New file, Mac resources.
3624 * dlltool.c: (gen_exp_file): Always emit a .reloc section if
3626 (imp_name_lab): New.
3627 (gen_def_file): New.
3628 (gen_lib_file): Use imp_name_lab.
3629 (main): Initialize imp_name_lab.
3633 * configure.in: Call AC_HEADER_SYS_WAIT.
3634 * configure: Rebuild.
3635 * config.in: Rebuild.
3636 * dlltool.c: Include "libiberty.h" and "bucomm.h". Don't include
3637 <stdio.h>, <stdlib.h>, or <string.h>. Don't include <wait.h>.
3638 Include <sys/types.h>. Use HAVE_SYS_WAIT_H to control whether to
3639 include <sys/wait.h> or define the wait macros by hand. Don't
3641 (gen_lib_file): Don't assume that sprintf returns the number of
3642 characters; use strlen instead.
3646 * objdump.c (disassemble_data): Don't use the old BFD based
3647 disassembler interface. Make info a const pointer.
3651 * objdump.c (start_address): New variable.
3652 (stop_address): New variable.
3653 (usage): Mention --start-address and --stop-address.
3654 (OPTION_START_ADDRESS, OPTION_STOP_ADDRESS): Define.
3655 (long_options): Add "start-address" and "stop-address".
3656 (disassemble_data): Handle start_address and stop_address.
3657 (dump_data, dump_reloc_set): Likewise.
3658 (main): Don't set seenflag for -l. Handle OPTION_START_ADDRESS
3659 and OPTION_STOP_ADDRESS.
3660 * objcopy.c (parse_vma): Move to bucomm.c.
3661 * bucomm.c (parse_vma): New function, moved in from objcopy.c.
3662 * bucomm.h (parse_vma): Declare.
3663 * binutils.texi, objdump.1: Document new objdump options.
3667 * Makefile.in (maintainer-clean): New target.
3669 * ar.c (replace_members): Don't call write_archive if nothing
3672 * objdump.c (disassemble_data): Add casts to avoid gcc warnings.
3676 * config.in: Rename from config.h.in.
3677 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
3678 Check for config.h:config.in when creating stamp-h.
3679 * configure: Rebuild.
3680 * Makefile.in (stamp-h): Depend upon config.in rather than
3681 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
3682 calling config.status.
3684 * Makefile.in (distclean): Remove config.h, stamp-h, and
3687 * nm.c (value_format): Initialize based on BFD64 and
3688 BFD_HOST_64BIT_LONG.
3689 (print_radix): New static variable.
3690 (set_print_radix): Set print_radix. Adjust changes to
3692 (print_value): New static function, to print 64 bit octal and
3693 decimal values correctly.
3694 (print_symbol_info_bsd): Check BFD64, not BFD_HOST_64_BIT. Use
3696 (print_symbol_info_sysv): Use print_value.
3697 (print_symbol_info_posix): Likewise.
3701 * Makefile.in (*.o): Remove incorrect dependencies on
3702 $(BFDDIR)/hosts/std-host.h.
3704 * Makefile.in (INSTALL_DATA): Add -m 644.
3705 (INSTALL_XFORM1): Likewise.
3706 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@ rather than $(CC).
3707 (mostlyclean): Remove config.log.
3708 (distclean): Remove config.cache.
3710 * configure.in: Call BFD_CC_FOR_BUILD and BFD_BINARY_FOPEN.
3711 * configure: Rebuild.
3715 * configure.in: Rewrite to use autoconf.
3716 * aclocal.m4: New file.
3717 * configure: New file, built by autoconf.
3718 * acconfig.h: New file.
3719 * config.h.in: New file, built by autoheader.
3720 * Makefile.in: Various changes for new configure script. Also:
3721 (PROGS): Remove $(SYSINFO_PROG).
3722 (ALL_CFLAGS): Remove $(TDEFINES).
3723 (version.o): Use $(ALL_CFLAGS).
3724 (cplus-dem.o, dlltool.o, nlmconv.o): Likewise.
3725 (sysdump.o): Depend upon bucomm.h and config.h.
3726 (srconv.o, arsup.o, strings.o): Depend upon config.h.
3727 (filemode.o): Don't depend upon ../bfd/sysdep.h.
3728 (bucomm.o): Depend upon config.h, not ../bfd/sysdep.h.
3729 (size.o, objdump.o, nm.o, ar.o, objcopy.o): Likewise.
3730 (nlmheader.o, nlmconv.o): Likewise.
3731 (distclean): Don't remove sysdep.h.
3732 * bucomm.h: Include "ansidecl.h", <stdio.h>, and "config.h".
3733 Include "fopen-same.h" or "fopen-bin.h", based on
3734 USE_BINARY_FOPEN. Include <errno.h>, and declare errno if it is
3735 not a macro. Include <unistd.h>, <string.h>, <strings.h>,
3736 <stdlib.h>, and <fcntl.h> if they are present. Declare strchr,
3737 strrchr, and strstr if no string header file exists. Include
3738 <sys/file.h> if it exists and <fcntl.h> does not. Define
3739 O_RDONLY and O_RDWR if necessary.
3740 * ar.c: Don't include "sysdep.h". Do include <sys/types.h> and
3741 <sys/stat.h>. Use HAVE_GOOD_UTIME_H rather than POSIX_UTIME. Use
3742 HAVE_UTIMES rather than !USE_UTIME. Don't include <errno.h>, and
3743 don't declare errno.
3744 * arsup.c: Don't include <sysdep.h>.
3745 * bucomm.c: Don't include "sysdep.h". Include <stdio.h>,
3746 <sys/types.h>, and <sys/stat.h>. Include <time.h> if it defines
3747 time_t. Define time_t if necessary.
3748 * coffdump.c: Don't include "sysdep.h".
3749 * coffgrok.c, filemode.c, nlmconv.c, size.c: Likewise.
3750 * srconv.c, strings.c: Likewise.
3751 * nm.c: Don't include "sysdep.h". Don't try to define HAVE_SBRK.
3752 * objcopy.c: Don't include "sysdep.h". Include <sys/types.h> and
3754 (simple_copy): Use creat rather than assuming that O_CREAT is
3756 * objdump.c: Don't include "sysdep.h". Use
3757 NEED_DECLARATION_PRINTF rather than !FPRINTF_ALREADY_DECLARED.
3758 * sysdump.c: Include "bfd.h" and "bucomm.h". Don't include
3759 "sysdep.h" or <stdlib.h>.
3760 (dump_symbol_info): Rename from symbol_info. Change all callers.
3764 * configure.in (host_makefile_frag): Don't set. Substitute for
3765 @CC@, @CFLAGS@, @HDEFINES@ and @LDFLAGS@ in Makefile.
3766 * Makefile.in (AR_FLAGS): Set to rc rather than qv.
3767 (CC): Define as @CC@.
3768 (CFLAGS): Set to @CFLAGS@.
3769 (LDFLAGS): Define as @LDFLAGS@.
3770 (ALL_CFLAGS): Use @HDEFINES@ rather than $(HDEFINES).
3772 * configure.in: Don't bother to call config.bfd for each target.
3773 Just call it for the default target, and use the shell variable to
3774 decide whether underscores are used.
3778 * configure.in: match i[3-6]86-*-win32, not just i386-*-win32.
3782 * dlltool.c (add_indirect): New.
3784 (gen_exp_file): Timestamp should be 0. Insert prefix when
3785 needed. New code for indirection.
3786 (gen_lib_file): Timestamp should be 0. Insert prefix
3788 (usage): Document --add-indirect.
3789 (main): Cope with new option.
3791 * objdump.c (dump_private_headers): New.
3792 (usage): Document new option.
3793 (long_option): Add private-headers.
3794 (dump_bfd_private_header): New.
3795 (main): Cope with new option.
3799 * dlltool.c (run): Add missing 3rd arg to waitpid.
3803 * Makefile.in (TOOL_PROGS): Include dlltool if needed.
3807 * dlltool.c (rva): Deleted.
3808 (rvaafter, rva_before): Use new assembler pseudo.
3809 (flush_page, gen_exp_file, gen_lib_file): Use new way of RVAing.
3810 (gen_exp_file): Don't generate .edata if no need.
3811 (gen_lib_file): Don't make timestamp.
3812 Put _iname in idata$7.
3813 (workout_prefix): Fix memory initialization bug.
3814 (usage): Tidy up, delete many single char options.
3815 (main): rva option is gone.
3819 * dlltool.c (options): image-base is a synonym for rva.
3820 (gen_lib_file): Put dll name into ibase$7.
3824 Modified to generate archives and objects rather than .s files.
3825 * dlltool.c (run) New function.
3826 (gen_exp_file, gen_lib_file): Use run.
3827 (workout_prefix): New.
3828 (usage): Document new options.
3829 (main): Parse new options.
3833 * dlltool.c (gen_exp_file): Fix RVA handling.
3834 (rva_s, rva_n): Delete.
3838 * nm.c (main): Ignore -e.
3842 * Makefile.in (config.texi): New target. Write out a setting for
3843 texinfo variable VERSION.
3844 (binutils.dvi, binutils.info): Depend on it.
3845 * binutils.texi: Include it, and reference @value{VERSION} instead
3846 of explicitly specifying 2.2(!).
3850 * coffgrok.c (do_type): Handle array dimensions the same way gdb
3855 * dlltool.c (mtable): New fields.
3856 (ASM_RVA_BEFORE, ASM_RVA_AFTER): New.
3857 (flush_page): Use new macros.
3861 * objcopy.c (mark_symbols_used_in_relocations): Handle sections
3862 with no relocations.
3863 * coffgrok.c (do_sections_p1): Likewise.
3867 * strings.c (print_strings): For compatibility with existing
3868 strings programs, print strings which are not terminated with a
3869 null byte or a newline.
3870 * binutils.texi, strings.1: Update documentation accordingly.
3872 * ar.c (replace_members): For compatibility with existing ar
3873 programs, permit users to add the same file multiple times.
3877 * strings.c (DATA_FLAGS): Remove SEC_DATA.
3878 (main): If no file names are given, scan standard input.
3879 * binutils.texi, strings.1: strings now scans non-data sections by
3884 * srconv.c (wr_hd): Set afl field to 4 for bfd_arch_sh.
3885 (writeINT): When size == -2, use 2 bytes for the h8300 and 4 bytes
3888 * sysdump.c (fillup): Return size - 1, the last byte is a checksum
3889 and shouldn't be counted.
3890 * sysroff.info (hd): Changed segment identifier from a byte to a 1
3891 bit field. The sysroff 2.0-01 specification seems to be in error
3892 here. Reduce width of following "spare" field from 4 to 3 bits.
3893 (rl): Changed order and width of first 4 bitfields to correspond
3894 to sysroff specification.
3895 (dln_head, dln_inside, dln_tail): Removed.
3899 * nm.c (sort_symbols_by_size): Enclose expression being casted
3900 in parens so result is casted, not just first operand. Can't
3901 do pointer arithmetic on void* pointers.
3905 * sysdump.c (dh): Changed format of output to be 16 hex digits
3906 followed by 16 ascii characters, similar to Emacs' hexl-mode,
3907 to make it easier to read.
3908 (xcalloc): fix typo.
3912 * srconv.c (wr_tr): Write out handcrafted tr block.
3913 (walk_tree_symbol): Use evallen and evalue instead of
3914 vallen & value because of corresponding changes in
3917 * sysdump.c (sysroff_swap_tr_in, sysroff_print_tr_out): New
3920 * sysroff.info (tr): the tr block is a special case --- a block
3921 without contents --- which can't be handled by generated code.
3922 (den, dpp): only first byte is present for DENend, DPPend.
3923 (dsy): describe a conditional portion of block, rename some fields.
3924 (dps): describe a conditional portion of block.
3927 * sysinfo.y (yyerror): write error message to standard error.
3931 * Makefile.in (DISTSTUFF): Add arparse.h and sysinfo.h.
3932 (mostlyclean): Remove y.output.
3933 (clean): Remove sysroff, sysroff.c, sysroff.h, and sysinfo.
3935 * nlmconv.c (powerpc_mangle_relocs): Cast memset arg to size_t.
3936 * objcopy.c (copy_object): Likewise.
3938 * nm.c (HAVE_SBRK): Define execpt on amigados and WINDOWS_NT.
3939 (struct size_sym): Define.
3940 (show_stats): New static variable.
3941 (long_options): Add undocumented option "stats".
3942 (main): Print memory stats if requested.
3943 (sort_bfd, sort_dynamic, sort_x, sort_y): New static variables.
3944 (numeric_forward): Use minisymbols rather than asymbols.
3945 (non_numeric_forward): Likewise.
3946 (size_forward1): Rename from size_forward. Use minisymbols.
3947 (size_forward2): New static function.
3948 (sort_symbols_by_size): Take new arguments dynamic, size, and
3949 symsizep. Use minisymbols. Don't store the size back in the
3950 symbol; store in a newly allocate struct size_sym array.
3951 (display_rel_file): Read minisymbols rather than asymbols. Set
3952 sort_* variables. Call print_size_symbols if sorting by size.
3953 (filter_symbols): Take new arguments dynamic and size. Use
3955 (print_symbols): Likewise. Call print_symbol for actual printing.
3956 (print_size_symbols): New static function.
3957 (print_symbol): New static function.
3961 * objdump.c (dump_section_stabs): Only print each stabs section
3963 (compare_relocs): Make it clear to gcc that this always returns a
3968 * objcopy.c (simple_copy): Preserve errno on failure.
3969 (smart_rename): Print error mesage if simple_copy fails.
3973 * sysdump.c: re-indented file.
3974 (module): read blocks sequentially instead of trying to parse
3975 them, as that would require changing the parser recognize the
3976 difference between a DPSstart and DPSend block.
3977 (getone): Add break's between switch blocks as appropriate.
3978 (object_body_list): parse blocks according to sysroff spec.
3982 * sysroff.info: re-indented file, prior formatting was confusing
3983 because it was indentation did not reflect nesting of conditional
3984 records. Change "space size within segment" record in hd record
3987 * sysinfo.y (cond_it_field): Use xcalloc instead of calloc.
3989 * srconv.c (wr_cs): Reformatted cs header array, tag each byte
3990 with a comment describing the field.
3991 (wr_unit_info): Use SEEK_SET macro instead of constant 0.
3992 (main): Use FOPEN_WB macro instead of literal "wb".
3993 * sysroff.info: Remove fdl (dfl) field from cs block. Compare
3994 ptr->type with ED_TYPE_CONST instead of constant 2 in ed block.
3998 * nm.c (size_forward): Check yf against yn, not xn.
4000 * objcopy.c (copy_archive): Record all output BFD's, and close
4001 them before unlinking them and removing the temporary directory,
4002 to avoid NFS problems.
4004 * ar.c (replace_members): In verbose messages, use 'r' when
4005 replacing a member, and 'a' when adding one.
4007 * ar.c (ar_truncate): New static variable.
4008 (normalize): Change return type to const char *. Add abfd
4009 argument. Change all callers. If ar_truncate, chop the filename
4010 to abfd->ar_max_namelen.
4011 (main): For the 'f' modifier, set ar_truncate to true. Don't
4012 change quick_append to replace if ar_truncate is true.
4013 (do_quick_append): If ar_truncate, set BFD_TRADITIONAL_FORMAT.
4014 (write_archive): Likewise.
4015 * binutils.texi, ar.1: Document 'f' modifier.
4017 * objcopy.c (enum strip_action): Define strip_unneeded.
4018 (OPTION_STRIP_UNNEEDED): Define.
4019 (strip_options): Add "strip-unneeded".
4020 (copy_options): Likewise.
4021 (copy_usage): Mention --strip-unneeded.
4022 (strip_usage): Likewise.
4023 (is_strip_section): Strip debugging sections if strip_unneeded.
4024 (filter_symbols): If strip_unneeded, only keep BSF_KEEP symbols.
4025 (copy_object): If strip_all, discard symbols without checking
4027 (copy_object): Call filter_symbols if strip_unneeded.
4028 (setup_section): Strip debugging sections if strip_unneeded.
4029 (copy_section): Likewise.
4030 (strip_main): Handle OPTION_STRIP_UNNEEDED.
4031 (copy_main): Likewise.
4032 * binutils.texi, objcopy.1, strip.1: Document --strip-unneeded.
4036 * configure.in (i386-*-win32): New configuration.
4037 * dlltool.c (killat, xlate, usage, long_options, main):
4038 Understand and cope with -k option.
4042 * ar.c: (extract_file): Change "#if POSIX_UTIME" to
4043 "#ifdef POSIX_UTIME" to match other tests of POSIX_UTIME
4044 and avoid lossage when POSIX_UTIME is not defined at all.
4048 * ar.c: (print_contents.c, extract_file, do_quick_append):
4049 Malloc buffers rather than allocate on stack (so it works
4051 * deflex.l: Names can have an @ in them.
4052 * dlltool.c: Loads of stuff. Can now generate .imp files which
4057 * mpw-make.in (demangle.c.o): Remove.
4058 (arparse.h): Depend on arparse.c instead of arparse.y.
4062 * Makefile.in (DISTSTUFF): Don't include info here.
4063 (diststuff): Include it here.
4064 (realclean): Remove *.info.
4066 * objdump.c (compare_relocs): If relocation entries have the same
4067 address, keep them in file order.
4071 * dlltool.c: Change names of generated files. .*.s-> -*.s
4073 * objdump.c (dump_section_stabs): Check for names
4074 which are supersets of selected names.
4078 * dlltool.c (mtable, ARM jump): Must redirect via pc offsetable ptr.
4082 * deflex.l, defparse.y, dlltool.c: New files.
4083 * Makefile.in, configure.in: Support for them.
4087 * sysdump.c: Include sysdep.h
4088 (main): Open input with FOPEN_RB.
4092 * objdump.c (wide_output): New flag variable.
4093 (usage): Print new -w, --wide options.
4094 (long_options): Add --wide support.
4095 (dump_section_header): If --wide, don't print a newline between
4096 the section's first line and the flags.
4097 (objdump_print_address): Use unsigned comparisons for the binary
4099 (disassemble_data): If --wide, don't put a \n between the
4100 disassembly output and relocation information.
4101 (main): Support -w option being the same as --wide.
4107 * objcopy.c (smart_rename): make it smarter, clean up
4112 * Makefile.in: Delete lines with lots of #### because four or more
4113 indicate a point for makefile fragment substitution.
4117 * configure.in: Don't build nlmconv on PowerPC eabi any more, it
4122 * Makefile.in (EXPECT): Define.
4123 (RUNTEST): Use one in source tree if present.
4124 (check): Set `rootme' for $(EXPECT).
4128 * srconv.c (main): Add support for -n option which disables
4129 prescan of common symbols.
4130 (wr_ob): If reading past the end of a section, fill with zeros.
4134 * objdump.c (dump_section_header): Display load address after
4135 virtual memory (run-time) address.
4139 * Makefile.in (cplus-dem.o): Pass -DVERSION='"$(VERSION)"' to the
4141 (DEMANGLER_PROG): No longer uses version.o.
4145 Merge in support for Mac MPW as a host.
4146 (Old change descriptions retained for informational value.)
4148 * mpw-config.in (TDEFINES): Define as empty in makefile frag.
4150 * mpw-config.in: Create mk.tmp, define ARCHDEFS in it.
4152 * mpw-config.in: New file, MPW configure fragment for binutils.
4153 * mpw-make.in (install-only): New target.
4154 (install): Also depend on install-only.
4156 * mpw-make.in (cplusfilt): Renamed from c++filt.
4157 (INCLUDES): Add more paths.
4159 * mpw-make.in: New file, MPW makefile fragment for binutils.
4160 (Normally automatically generated from Makefile.in.)
4164 * ar.c (write_archive): Call make_tempname to get output file
4165 name, rather than using a fixed name based on the input file.
4167 * objcopy.c (make_tempname): Copy from here...
4168 * bucomm.c (make_tempname): ...to here, and make global.
4169 * bucomm.h (make_tempname): Declare.
4173 * strings.c: Include "bfd.h" before other headers. Include
4175 * bucomm.c (print_arelt_descr): Cast st_uid and st_gid to long,
4176 and print them with %ld.
4180 * objcopy.c (strip_options): Add --keep-symbol.
4181 (copy_options): Likewise.
4182 (copy_usage): Mention --keep-symbol and -K.
4183 (strip_usage): Likewise.
4184 (keep_symbols): New static variable.
4185 (is_strip_symbol): Adjust the return value according to
4187 (strip_main): Handle -K. For -N, check that -K was not given.
4188 (copy_main): Likewise.
4189 * binutils.texi, objcopy.1, strip.1: Document -K.
4193 * objcopy.c (copy_archive): Check result of mkdir.
4194 (copy_main): Cast an xmalloc result.
4196 * objdump.c (usage): Break long format string into shorter ones.
4200 * bucomm.c (list_supported_targets): New function.
4201 * bucomm.h (list_supported_targets): Declare.
4202 * ar.c (usage): Call list_supported_targets.
4203 * nm.c (usage): Likewise.
4204 * objcopy.c (copy_usage, strip_usage): Likewise.
4205 * objdump.c (usage): Likewise.
4206 * size.c (usage): Likewise.
4207 * strings.c (usage): Likewise.
4211 * bucomm.c (print_arelt_descr): Cast st_size to long before
4212 passing it to fprintf.
4216 * objcopy.c (struct section_list): Add fields remove, set_flags,
4217 and flags. Change adjust from boolean to enum.
4218 (remove_sections): Remove static variable.
4219 (sections_removed): New static variable.
4220 (copy_options): Add --set-section-flags.
4221 (copy_usage): Mention --set-section-flags.
4222 (parse_flags): New static function.
4223 (find_section_list): New static function.
4224 (is_strip_symbol): Change return type from int to boolean.
4225 (is_strip_section): New static function.
4226 (filter_symbols): Call is_strip_section.
4227 (copy_object): When adding sections, check for specified flags or
4228 VMA. Call filter_symbols if any sections are being removed.
4229 (setup_section): Use find_section_list function rather than
4230 looking through remove_sections and adjust_sections. Handle
4231 --set-section-flags.
4232 (copy_section): Use find_section_list rather than looking through
4234 (strip_main): Use find_section_list instead of adding items to
4236 (copy_main): Use find_section_list instead of adding items to
4237 sections_removed and adjust_sections. Handle --set-section-flags.
4238 * binutils.texi, objcopy.1: Document --set-section-flags.
4242 * objdump.c (with_source_code): New global variable.
4243 (usage): Mention -S/--source.
4244 (long_options): Add --source.
4245 (prev_functionname, prev_line): New static variables.
4246 (struct print_file_list): Define.
4247 (print_files): New static variable.
4248 (skip_to_line, show_line): New static functions.
4249 (disassemble_data): Call show_line to handle -l and -S.
4251 * binutils.texi, objdump.1: Document -S/--source.
4255 * objcopy.c (copy_usage): Rename parameter to avoid shadowing.
4256 (strip_usage): Likewise.
4258 * objcopy.c (struct section_add): Define.
4259 (add_sections): New static variable.
4260 (copy_options): Accept --add-section.
4261 (copy_usage): Mention --add-section.
4262 (copy_object): Add sections from the add_sections list.
4263 (copy_main): Handle --add-section.
4264 * binutils.texi, objcopy.1: Document --add-section.
4268 * objdump.c (disassemble_data): Pass section offset, not absolute
4269 address, to bfd_find_nearest_line.
4271 * nlmconv.c (powerpc_mangle_relocs): Don't use const with
4276 * objdump.c (compare_symbols): Use bfd_asymbol_value (VAR) rather
4278 (objdump_print_address): Likewise.
4279 (disassemble_data): Don't change the symbol values. It can
4280 confuse bfd_canonicalize_reloc.
4284 * configure.in: Add support for powerpc-*-ebai.
4286 Wed Jan 18 10:02:12 1995 Steve Chamberlain <sac@splat>
4288 * coffdump.c: Include sysdep.h.
4289 (dump_coff_type): Handle coff_secdef_type.
4290 * coffgrok.c : Include sysdep.h.
4291 * srconv.c: Include libiberty.h
4292 (absolute_p, dty_start, dty_end, dump_tree_structure): Remove.
4296 * coffdump.c (dump_coff_scope): Cast pointer to unsigned long for
4298 * coffgrok.c: Include bucomm.h. Don't declare xmalloc.
4299 (push_scope): Declare type of parameter link.
4300 * size.c: Include libiberty.h.
4301 * srconv.c: Include bucomm.h.
4302 (find_base): Declare at top of file.
4303 (wr_hd): Add default case to architecture switch.
4304 (wr_dps_start): Declare type of parameter nest.
4305 (wr_du): Comment out variables used only in commented out blocks.
4306 (wr_dus): Remove unused variable i.
4307 (wr_sc): Remove unused variables myinfo, low, and high.
4308 * strings.c: Include libiberty.h.
4309 * sysdump.c: Include <ctype.h>.
4313 * ar.c (main): Ignore 'f' modifier used on HP/UX 9.
4317 * ar.c, nm.c, objcopy.c, objdump.c: Include progress.h.
4318 * ar.c, nm.c, objcopy.c, objdump.c (main): Add START_PROGRESS
4320 * ar.c (map_over_members, open_inarch): Call PROGRESS.
4321 * nm.c (main, display_archive, filter_symbols, print_symbols):
4324 * objcopy.c (copy_usage): Break up long usage string.
4328 * objcopy.c (copy_object): Don't bother setting status after
4329 nonfatal() "call", because it won't return.
4333 * nlmconv.c (powerpc_mangle_relocs): Don't switch a reloc to use
4334 the section symbol if the symbol is undefined.
4338 * objcopy.c (add_strip_symbol): Cast return value of xmalloc.
4342 * ar.c (replace_members): Pass current->filename to normalize when
4343 checking for duplicates, because the filename of a newly added
4344 file will not have been normalized yet.
4348 * ar.c (main): Don't call do_quick_append if any of the archive
4349 names are longer than 14 characters.
4351 * objcopy.c (main): Fix is_strip test. From
4356 * objcopy.c (add_strip_symbol): New function, adds a name to an
4357 explicit list of symbols to strip.
4358 (is_strip_symbol): New function, reports whether the name argument
4359 is in the explicit list.
4360 (filter_symbols): Check against is_strip_symbol above all.
4361 (strip_main): Recognize -N option. If used, don't default to
4363 (copy_main): Recognize -N option.
4364 (strip_usage): Document -N and --strip-symbol options.
4365 (copy_usage): Ditto.
4366 * objcopy.1, strip.1, binutils.texi: Document -N and
4367 --strip-symbol options.
4371 * objdump.c (display_target_list, display_info_table): Pass an
4372 array to tmparg, rather than NULL, since some systems can't handle
4375 * objcopy.c (copy_archive): Keep a list of the names of the
4376 temporary files we created. Close each input BFD after we open
4381 * Makefile.in (VERSION): Bump to 2.5.3.
4385 * Makefile.in (install-info): Install info files from whatever
4386 directory they were found in.
4388 Patch from DJ Delorie:
4389 * configure.bat: do c++filt -> cxxfilt right
4391 * sysinfo.y: Include system header files early, so any potential
4392 declaration of abort() occurs before its use.
4394 * strings.c (strings_file): Try opening the file in binary mode
4399 * ar.c (main): Treat ar qs like ar rs.
4403 * objcopy.c (gap_fill): Explicitly initialize, for clarity.
4404 (pad_to_set, pad_to): New static variables.
4405 (copy_options): Accept --pad-to.
4406 (copy_usage): Mention --pad-to.
4407 (copy_object): Support --pad-to.
4408 (compare_section_vma): Sort non loadable sections to the front.
4409 Sort sections with the same VMA by size.
4410 (copy_main): Handle --pad-to.
4411 * binutils.texi, objcopy.1: Document --pad-to.
4415 * objcopy.c (gap_fill_set, gap_fill): New static variables.
4416 (copy_options): Accept --gap-fill.
4417 (copy_usage): Mention --gap-fill.
4418 (copy_object): Support --gap-fill.
4419 (get_sections, compare_section_vma): New static functions.
4420 (copy_main): Handle --gap-fill.
4421 * binutils.texi, objcopy.1: Document --gap-fill.
4425 * Makefile.in (check): Add a dummy else clause to the if
4428 * objcopy.c (copy_object): Revert yesterday's change.
4429 * binutils.texi, objcopy.1: Remove special mention of --set-start
4430 and `binary' output format.
4434 * objcopy.c (copy_object): If the output file format is `binary',
4435 and the start address was not set using --set-start, default the
4436 start address to zero. This hack is because the `binary' output
4437 file format uses the start address to set the virtual address of
4438 the first byte in the file.
4439 * binutils.texi, objcopy.1: Add some notes on generating S-records
4442 * nm.c (print_symdef_entry): Call print_symname to print the
4443 symbol name, so that --demangle works.
4445 * Makefile.in (mostlyclean): Remove tmpdir.
4447 * objcopy.c (struct section_list): Add fields used, adjust, val.
4448 (adjust_start, set_start_set, set_start): New static variables.
4449 (adjust_section_vma, adjust_sections): New static variables.
4450 (copy_options): Add --adjust-start, --adjust-vma,
4451 --adjust-section-vma, --adjust-warnings, --no-adjust-warnings,
4453 (parse_vma): New static function.
4454 (copy_usage): Mention new options.
4455 (copy_object): Handle --set-start and --adjust-start.
4456 (setup_section): Correct type of last argument to PTR. Set used
4457 field if section is removed. Handle --adjust-vma and
4458 --adjust-section-vma.
4459 (copy_section): Correct type of last argument to PTR.
4460 (mark_symbols_used_in_relocations): Likewise.
4461 (strip_main): Clear used field when handling -R.
4462 (copy_main): Handle new options.
4463 * binutils.texi (objcopy): Document new options.
4464 * objcopy.1: Document new options.
4468 * configure.in (configdirs): Remove definition--testsuite is no
4470 * Makefile.in (testsuite): Remove target.
4471 (site.exp): New target.
4473 (clean, distclean): Don't recur into testsuite directory.
4477 * Makefile.in (VERSION): Updated to 2.5.
4478 * Version 2.5 released.
4482 * Makefile.in (sysdump.o): Depends upon sysroff.c.
4486 * nlmconv.c (link_inputs): Pass -Ur flag to ld so that the
4487 ctor/dtor tables needed by C++ programs are built.
4491 * Makefile.in (srconv.o): Add dependence on sysroff.c.
4495 * configure.in: Use ${config_shell} when running config.bfd.
4497 * Makefile.in (sysroff.h): Split target away from sysroff.c.
4498 (srconv.o, sysdump.o): New targets.
4499 (srconv, sysdump): Don't depend upon sysroff.c.
4503 * Makefile.in (arparse.c): Don't ignore errors from mv.
4504 (sysinfo.c): Likewise. Also, depend upon arparse.c, to prevent a
4505 parallel make from trying to build both arparse.c and sysinfo.c
4507 (nlmheader.c): Similar change.
4508 (arparse.h): Separate target from arparse.c, so that a parallel
4509 make does not try to build both at once. Depend upon arparse.c.
4510 (sysinfo.h): Similar change.
4512 * objdump.c (disassemble_data): Pass the reloc buffer to free, not
4513 the pointer used to loop over the relocs.
4517 * objdump.c (disassemble_data): Cast result of xmalloc.
4521 * objdump.c (sorted_syms, sorted_symcount): New global variables.
4522 (objdump_print_address): Use sorted_syms and sorted_symcount
4523 instead of syms and symcount.
4524 (disassemble_data): Don't bother to get the relocs before looping
4525 over the sections. Before filtering and sorting the symbol table,
4526 copy it into sorted_syms.
4530 * objdump.c (struct objdump_disasm_info): Add field require_sec.
4531 (objdump_print_address): If aux->require_sec, require that the
4532 symbol be in aux->sec even if HAS_RELOC is not set. If we can't
4533 find a smaller symbol in the right section, look for a larger one.
4534 (disassemble_data): Set aux.require_sec around the
4535 objdump_print_address call for the instruction address.
4539 * ar.c: Call xexit rather than exit.
4540 (output_filename, output_file, output_bfd): New static variables.
4541 (remove_output): New static function.
4542 (main): Call xatexit (remove_output). Call xexit rather than
4544 (extract_file): Set output_filename and output_file while output
4546 (write_archive): Likewise, but use output_bfd, not output_file.
4547 * arsup.c: Include libiberty.h. Call xexit rather than exit.
4548 * bucomm.c: Likewise.
4550 * objdump.c (disassemble_all): New global variable.
4551 (usage): Document --disassemble-all.
4552 (long_options): Add disassemble-all as a synonym for -D.
4553 (compare_symbols): Make pointers const.
4554 (compare_relocs): New static function.
4555 (disassemble_data): Rename disassemble to disassemble_fn to avoid
4556 shadowing. If dump_reloc_info, print relocs along with
4557 disassembly. Skip sections which are not SEC_CODE unless
4558 disassemble_all or only is set.
4559 (display_bfd): Don't call dump_relocs if disassemble is set.
4560 (main): Accept and handle -D.
4561 * binutils.texi: Document -D/--disassemble-all.
4562 * objdump.1: Likewise.
4566 * objdump.c (disassemble_data): Initialize prevline to 0. Make
4567 prev_function non const. Copy functionname into an malloc buffer
4568 when setting prev_function, instead of assuming that the string
4571 * nm.c: Include libiberty.h.
4572 (sort_by_size): New static variable.
4573 (long_options): Add --size-sort.
4574 (usage): Mention --size-sort.
4575 (numeric_forward): Make static. Change from void * to PTR.
4576 (numeric_reverse): Likewise.
4577 (non_numeric_forward, non_numeric_reverse): Likewise.
4578 (sorters): Change declaration from void * to PTR.
4579 (size_forward, sort_symbol_by_size): New static functions.
4580 (display_rel_file): Handle sort_by_size.
4581 (filter_symbols): If sort_by_size, discard absolute and undefined
4583 * binutils.texi (nm): Document --size-sort.
4584 * nm.1: Document --size-sort.
4588 * objcopy.c (copy_main): Initialize input_filename and
4589 output_filename to NULL.
4593 * Makefile.in (version.o): Depend upon Makefile, so that version.o
4594 gets rebuilt when make variable VERSION is changed.
4596 * objdump.c (dump_section_header): Print the SEC_NEVER_LOAD flag.
4600 * configure.in: Change i[34]86 to i[345]86.
4604 * ar.c (ranlib_touch): Don't update the archive map if there isn't
4609 * ar.c: Include libiberty.h.
4610 (inarch): Remove variable.
4611 (map_over_members): Make static. Add arch argument, and use it
4612 instead of inarch. Change all callers.
4613 (main): Treat --version as -v. Accept -t argument. Accept any
4614 number of archive arguments. Catch and use open_inarch return
4615 value, rather than using inarch.
4616 (open_inarch): Return newly opened BFD, rather than using inarch.
4617 (do_quick_append): Make archive_filename const.
4618 (write_archive): Add iarch argument, and use it instead of inarch.
4620 (delete_members, move_members, replace_members): Likewise.
4621 (ranlib_only): Don't exit on success. Catch and use open_inarch
4623 (ranlib_touch): New function.
4624 * arsup.h (map_over_members): Don't declare.
4625 (ar_end, ar_extract): Declare.
4626 (open_inarch): Change return value in declaration to bfd *.
4627 * arsup.c (map_over_list): Make static. Always pass two arguments
4628 to function. Add arch argument, and use it instead of inarch.
4630 (ar_directory_doer): Make static. Add ignored second argument.
4632 (ar_directory): Use open_inarch return value rather than inarch.
4633 (ar_addlib_doer): Make static.
4634 (ar_addlib): Use open_inarch return value rather than inarch.
4635 (ar_extract): Remove unused local variable abfd.
4639 Add support for removing named sections to objcopy and strip.
4640 * objcopy.c (struct section_list): Define.
4641 (remove_sections): New static variable.
4642 (strip_options, copy_options): Add remove-section.
4643 (copy_usage, strip_usage): Mention -R and --remove-section.
4644 (setup_section): If section is in remove_sections list, ignore it.
4645 (copy_section): Likewise.
4646 (strip_main, copy_main): Handle -R.
4647 * binutils.texi, objcopy.1, strip.1: Document new options.
4651 * nlmconv.c (powerpc_mangle_relocs): Rename symvalue to sym_value,
4652 so as not to conflict with the symvalue typedef in bfd.h.
4656 * nlmheader.y: Per current NetWare docs, accept a revision number
4657 of 0 and treat a revision number greater than 26 as 0.
4661 * objdump.c (objdump_print_address): Correct handling of end of
4662 symbols when looking for next symbol with a different value.
4666 * nm.c (numeric_forward): Treat undefined symbols as "less than"
4667 defined symbols with zero values. If numeric values are equal, or
4668 both symbols are undefined, sort alphabetically. Don't assume
4669 that the difference of two bfd_vma values will truncate to "int"
4670 and still have the same sign.
4671 (numeric_reverse): Call numeric_forward and negate the result.
4672 (print_symbol_info_bsd): For undefined symbols, print leading
4673 spaces equivalent to the width of a printed bfd_vma, rather than
4674 assuming that 8 will look right.
4678 * coffgrok.c (doit): Zero all fields of new structure.
4679 * srconv.c (sysroff_swap_*_out): Remove redundant trailing arg.
4680 * sysinfo.y: Generate sysroff_swap_*_out without requiring extra
4685 * nlmheader.y: Make "stack" and "stacksize" synonyms in the lexer
4686 rather than the parser.
4690 * config/mh-alphaosf, config/mh-apollo68v, config/mh-delta88:
4695 * objdump.c (slurp_dynamic_symtab): Try to get the dynamic symbols
4696 even if the bfd is not marked DYNAMIC. ELF executables are not
4697 marked DYNAMIC, but do have dynamic symbols.
4701 * coffgrok.c (do_where): Make data with no type 'int'.
4702 (do_define): Keep info on source file of a symbol.
4703 * coffgrok.h (coff_symbol): New field.
4704 * srconv.c (PROGRAM_VERSION): Now 1.3
4705 (wr_rl): Use external ref number for symbol.
4706 (wr_dus): Only keep one source file per debug unit.
4707 (wr_dln): Always emit line numbers for first source file,
4708 (wr_globals): Emit globals in the du of their owning source file.
4712 * nlmheader.y: Null terminate var_hdr->threadName.
4716 * Makefile.in (syslex.o, sysinfo.o): Permit C source files to be
4717 in $(srcdir), as they will be for FSF releases.
4721 * nlmconv.c (setup_sections): Preserve existing section flags when
4722 copying in flags from a new section.
4726 * objcopy.c: Include libiberty.h.
4727 (copy_file): If output_target is NULL, set it to the target of the
4732 * nlmconv.c (link_inputs): Fixed memory allocation bug.
4736 * configure.in: Change --with-targets to --enable-targets.
4740 * Makefile.in (sysinfo): Does not depend upon $(ADDL_LIBS).
4742 * nlmconv.c (powerpc_build_stubs): Don't generate the PowerPC
4743 NetWare custom header; no longer needed.
4744 (powerpc_mangle_relocs): Convert relocs against the uninitialized
4745 data section into relocs against the data section.
4747 * configure.in: Set nlmconv_defs to -DNLMCONV_cputype for all the
4748 netware targets. Write it into Makefile as NLMCONV_DEFS.
4749 * Makefile.in (nlmconv.o): Pass $(NLMCONV_DEFS) to $(CC).
4750 * nlmconv.c: Only compile code for specific CPU types if
4751 NLMCONV_cputype is defined.
4753 * nlmconv.c (main): Change uses of bfd_abs_section, etc., to use
4754 bfd_abs_section_ptr or bfd_is_abs_section, etc.
4755 (i386_mangle_relocs, alpha_mangle_relocs): Likewise.
4756 (powerpc_build_stubs): Likewise.
4757 * nm.c (filter_symbols, print_symbols): Likewise.
4758 * objcopy.c (filter_symbols): Likewise.
4759 (mark_symbols_used_in_relocations): Likewise.
4760 * objdump.c (remove_useless_symbols, dump_relocs): Likewise.
4761 * size.c (sysv_internal_printer): Likewise.
4765 * Makefile.in (MANPAGES): Remove $(DEMANGLER_PROG).
4766 (install): Install it explicitly, from build dir, not srcdir.
4770 * objdump.c: Don't include elf/internal.h.
4771 (bfd_elf_find_section): Don't declare.
4772 (read_section_stabs): No special handling for ELF. Always read
4777 * configure.in: Set UNDERSCORE in Makefile based on result of
4778 invoking config.bfd with a second argument of ``_''.
4779 * Makefile.in (underscore.c): Depend upon Makefile. Don't try to
4780 run $(CC) and $(NM), just use $(UNDERSCORE). Create via temporary
4782 (demangle.o): Remove target.
4783 ($(NM_PROG)): Don't depend upon demangle.o, and don't link against
4784 demangle.o. It's in libiberty anyhow.
4785 (cplus-dem.o): Don't depend upon demangle.o.
4786 * binutils.texi: Mention -n and --no-strip-underscores arguments
4791 * nm.c (long_options): Add --no-demangle to turn off --demangle,
4792 and --no-cplus for Linux compatibility.
4793 (usage): Mention --no-demangle.
4794 * binutils.texi: Document --no-demangle.
4798 * nm.c: HOST_64_BIT was renamed to BFD_HOST_64_BIT.
4800 * objcopy.c (copy_archive): Make the temporary directory in the
4801 same directory as the output BFD, since we may not have write
4802 permission on the current directory. Set the permissions of the
4803 new directory to 0700, not 0777.
4807 * configure.in: if this is an rs6000 (and we're not building for
4808 any other bfd targets) then build only nm (collect needs it on
4811 * Makefile.in: define TOOL_PROGS which the list of programes to
4812 install in $tooldir -- replaces a hard-coded list.
4816 * objdump.c (display_target_list): Remove unused local ok.
4820 * config/mh-alphaosf (CFLAGS): Don't specify both -g and -O;
4821 they're not compatible under native cc. Use -O1 instead.
4823 * Makefile.in (VERSION): Updated to cygnus-2.4.1.
4825 Changes from binutils-2.4 net release:
4827 * Makefile.in (MANPAGES): Use $(DEMANGLER_PROG).
4828 ($(DEMANGLER_PROG).1): Build from cxxfilt.man, using sed.
4829 * cxxfilt.man: Renamed from c++filt.1, replaced "c++filt" with
4830 magic token to be replaced by sed.
4834 * configure.bat: update for latest makefile.in
4838 * bucomm.c: Check ANSI_PROTOTYPES rather than __STDC__.
4842 * objcopy.c (copy_section): Set section size correctly if using
4847 * Makefile.in: Add rule for sysinfo.h
4851 * Makefile.in (SRCONV_PROG): Define.
4852 (PROGS): Use $(SRCONV_PROG) too.
4856 * Makefile.in (DISTSTUFF): Add sysinfo.c, syslex.c, in case
4857 someone configures with `targets=all'.
4858 (distclean): Remove y.*.
4859 (syslex.o): Depend on sysinfo.h.
4860 (sysinfo.c): Rename y.tab.h to sysinfo.h.
4861 (install-info): Don't try to install into $(infodir)/$(srcdir).
4862 * syslex.l: Include sysinfo.h, not y.tab.h.
4866 * syslex.l (yywrap): Define as function if not defined as a macro.
4868 * Makefile.in (objdump.o): Deleted special rule.
4869 * configure.in: Don't bother building ARCHDEFS variable for
4871 * objdump.c (ARCH_*): Deleted handling.
4872 (disassemble_data): Call `disassembler' from opcodes library.
4876 * Makefile.in (install): Correct handling of $(tooldir) and
4877 $(bindir) being on different devices.
4881 * sysdump.c (h8300, sh): Add declarations.
4885 * Makefile.in (syslex, sysinfo): Use CC_FOR_BUILD.
4886 * coffdump.c, coffgroc.c, coffgrog.h, srconv.c, sysdump.c,
4887 sysroff.info: Major changes.
4891 * objdump.c (print_section_stabs): Indicate the stab header symbol
4892 more clearly, print numbers of unrecognized stab n_type values.
4896 * nlmconv.c (copy_sections): Copy arelent pointers, not arelents.
4900 * Makefile.in (distclean): Remove $(PROGS) and underscore.c.
4904 * nlmconv.c (setup_sections): Remove special handling of .reginfo
4906 (copy_sections): Likewise.
4907 (alpha_mangle_relocs): Use bfd_ecoff_get_gp_value rather than the
4908 special ECOFF .reginfo section.
4910 * objcopy.c (copy_object): Call bfd_copy_private_bfd_data after
4911 copying everything else, to let it fiddle with the file in its
4914 * objdump.c: Include libiberty.h.
4915 (display_target_list): If a format fails, just go on to the next
4916 one. Check return value of bfd_set_format.
4917 (display_info_table): Likewise. Don't increment loop variable in
4918 for loop test, since that skips the first element.
4919 (display_target_tables): Rewrite loop for clarity. Ensure that it
4920 always prints at least one element.
4922 * nlmconv.c (main): Use CyGnUsEx rather than CyGnUsSeCs for
4923 sections header. Rename from cygnus_sections to cygnus_ext.
4927 * objdump.c (_DUMMY_NAME_): Don't define.
4928 (display_target_list): Use tmpnam to get a file name rather than
4929 using _DUMMY_NAME_. Unlink it when done.
4930 (display_info_table): Likewise.
4932 * nlmconv.c (secsec): New static variable.
4933 (main): Create .nlmsections section in output BFD. Store
4934 information about it in sections header.
4935 (setup_sections): Allocate space in sections header.
4936 (copy_sections): Copy zero sized sections. Put information about
4937 each section in the sections header.
4941 * nlmconv.c (powerpc_build_stubs): Take new outbfd argument.
4942 Change caller. Create custom header for new PowerPC NetWare
4945 * Makefile.in (nlmheader.o, nlmconv.o): Update dependencies.
4946 * nlmconv.c: Include bfd.h and libiberty.h with "", not <>.
4947 * nlmheader.y: Include bfd.h with "", not <>.
4951 * objdump.c: Do an ifdef on __GO32__, not unix.
4955 Added -D (--dynamic) option to nm and -T (--dynamic-syms) and -R
4956 (--dynamic-reloc) arguments to objdump.
4957 * nm.c (dynamic): New static variable.
4958 (long_options): Added "dynamic".
4959 (usage): Mention -D and --dynamic.
4960 (main): Add D to getopt string. Handle -D by setting dynamic.
4961 (display_rel_file): If dynamic is non-zero, read dynamic symbols
4962 rather than normal symbols.
4963 * nm.1: Updated for -D (--dynamic) option.
4964 * objdump.c (dump_dynamic_symtab): New global variable.
4965 (dump_dynamic_reloc_info): New global variable.
4966 (dynsyms, dynsymcount): New global variables.
4967 (usage): Mention -R, -T, --dynamic-syms and --dynamic-reloc.
4968 (long_options): Added "dynamic-reloc" and "dynamic-syms".
4969 (slurp_symtab): If no symbols, return rather than exit.
4970 (slurp_dynamic_symtab): New function.
4971 (display_bfd): Handle dump_dynamic_symtab and
4972 dump_dynamic_reloc_info.
4973 (dump_symbols): Take new dynamic argument, indicating whether to
4974 display dynamic symbols.
4975 (dump_relocs): Move most printing into dump_reloc_set.
4976 (dump_dynamic_relocs): New function.
4977 (dump_reloc_set): New function, extracted from dump_relocs.
4978 (main): Add R and T to getopt string. Handle -T by setting
4979 dump_dynamic_symtab and -R by setting dump_dynamic_reloc_info.
4980 * objdump.1: Updated for -R (--dynamic-reloc) and -T
4981 (--dynamic-syms) options.
4982 * binutils.texi: Updated for new nm and objdump options.
4986 Update for recent BFD changes to symbol and reloc reading. Rename
4987 all uses of get_symtab_upper_bound to bfd_get_symtab_upper_bound.
4989 * coffgrok.c (symcount): Change to long.
4990 (do_sections_p1): Check for error return from
4991 bfd_get_reloc_upper_bound. Change relcount to long, and check for
4992 error from bfd_canonicalize_reloc.
4993 (coff_grok): Change storage to long. Check for error from
4994 bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
4995 * nlmconv.c (main): Change symcount, newsymalloc, newsymcount, and
4996 i to long. Check for error from bfd_get_symtab_upper_bound and
4997 bfd_canonicalize_symtab.
4998 (copy_sections): Change reloc_size and reloc_count to long. Check
4999 for error from bfd_get_reloc_upper_bound and
5000 bfd_canonicalize_reloc.
5001 (mangle_relocs, i386_mangle_relocs, alpha_mangle_relocs): Change
5002 reloc_count_ptr argument to long *. Make corresponding changes to
5003 variables loaded from *reloc_count_ptr.
5004 * nm.c (display_rel_file): Change storage and symcount to long.
5005 Check for errors from bfd_get_symtab_upper_bound and
5006 bfd_canonicalize_symtab.
5007 * objcopy.c (filter_symbols): Change symcount, src_count and
5009 (copy_object): Change symcount to long. Pass another argument to
5010 fprintf. Check for errors from bfd_get_symtab_upper_bound and
5011 bfd_canonicalize_symtab.
5012 (copy_section): Change relcount to long. Check for errors from
5013 bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
5014 (mark_symbols_used_in_relocations): Change relcount and i to long.
5015 Check for errors form bfd_get_reloc_upper_bound and
5016 bfd_canonicalize_reloc.
5017 * objdump.c (storage): Remove global variable.
5018 (symcount): Changed to long.
5019 (slurp_symtab): New local variable storage. Check for errors from
5020 bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
5021 (remove_useless_symbols): Change return value and count to long.
5022 (objdump_print_address): Change min, max, thisplace and i to long.
5023 (disassemble_data): Change i to long.
5024 (dump_symbols): Change count to long.
5025 (dump_relocs): Change relcount to long. Check for errors from
5026 bfd_ret_reloc_upper_bound and bfd_canonicalize_reloc.
5027 (display_info_table): Add casts when passing LONGEST_ARCH for
5032 * nm.c (display_archive): Close each archive element after it has
5034 * objdump.c (display_file): Likewise.
5038 * configure.in: Change error message to refer to bfd/config.bfd
5039 rather than bfd/configure.in.
5043 * More fixes for object formats which allow multiple sections
5045 * objcopy.c (setup_section): Make a new output section even if
5046 one already exists with the given name.
5047 (copy_section): Use isection->output_section rather than trying
5048 to look the output section up by its (possibly non-unique) name.
5050 * Makefile.in (install-info): Look for binutils.info in the
5051 current directory, then in $(srcdir). Don't use $<.
5055 * objdump.c (objdump_print_address): Make static. Declare with
5056 prototype. Change vardiff from int to bfd_signed_vma. Correct
5057 binary search termination condition. When looking for same
5058 section symbol in relocatable file, handle final symbol correctly.
5062 * Makefile.in: Avoid bug in hpux sed.
5064 * objcopy.c: Changes to keep it from stripping symbols used
5065 in output relocations.
5066 (mark_symbols_used_in_relocations): New function. Mark symbols
5067 used in output relocations with BSF_KEEP.
5068 (filter_symbols): Do not strip symbols marked with BSF_KEEP.
5069 (copy_object): Reorder actions. First setup sections, then
5070 build the output symbol table, then copy the section contents.
5074 * ar.c (write_archive): Allocate space for the null byte. From
5079 * Makefile.in: Built nm.new and strip.new to avoid problems with
5080 collect when . is in PATH.
5081 (STRIP_PROG): Change from strip to strip.new.
5082 (NM_PROG): Change from nm to nm.new.
5083 (install): Remove the .new when installing.
5087 * nlmconv.c (powerpc_build_stubs): Set BSF_DYNAMIC flag for each
5088 symbol for which we build a stub.
5089 (powerpc_mangle_relocs): Only reset TOC pointer for a call to a
5090 symbol with BSF_DYNAMIC flag set.
5094 * objcopy.c (filter_symbols): Use bfd_is_local_label to determine
5095 if a symbol represents a compiler-generated local label.
5096 (copy_object): Give the BFD backends a chance to copy any private
5097 bfd data from the input BFD to the output BFD.
5098 (setup_section): Give the BFD backends a chance to copy any private
5099 section data from the input section to the output section.
5103 * objcopy.c (mangle_section): Delete unused function.
5104 (setup_section): Set osection here instead of calling
5105 mangle section to do it.
5109 * ar.c (write_archive): Close inarch before unlinking it.
5113 * nlmconv.c (main): For PowerPC, call powerpc_build_stubs and
5114 powerpc_resolve_stubs. Use __GOT0, not __toc_start. Handle it if
5115 the start and end symbols are not in the text section.
5116 (struct powerpc_stub): New struct definition.
5117 (powerpc_stubs, powerpc_stub_insns): New static variables.
5118 (powerpc_initial_got_size): New static variable.
5119 (powerpc_build_stubs): New function.
5120 (powerpc_resolve_stubs): New function.
5121 (powerpc_mangle_relocs): Clear extraneous data in .got section.
5122 Rearrange reloc handling to handle ELF relocs that are not
5123 partial_inplace. Resolve PC relative relocs.
5127 * ar.c (move_members): Fix it so that the abi positional modifiers
5128 don't delete all archive members following the insert point.
5132 * coffgrok.[ch]: New files, understand coff objects.
5133 * coffdump.c: Uses coffgrok to dump out the debug info of a coff
5135 * sysroff.info: Description of a SYSROFF object file.
5136 * sysinfo.y, syslex.l: Parse info file, generate a reader, writer,
5137 header files and a printer.
5138 * srconv.c: Uses coffgrok.c and sysroff.info to convert a coff
5139 file to a SYSROFF file.
5143 * ar.c (do_quick_append): Pad with a genuine character 10,
5144 rather than whatever '\n' might happen to be.
5148 * nlmconv.c (main): Ignore debugging symbols when looking for
5149 special symbols by name.
5153 * nlmconv.c: Include libiberty.h.
5155 Support for PowerPC NetWare.
5156 * nlmconv.c (main): For PowerPC NetWare, automatically define the
5157 special symbols __toc_start.
5158 (select_output_format): Handle bfd_arch_powerpc.
5159 (mangle_relocs): Likewise.
5160 (powerpc_mangle_relocs): New function.
5164 * ar.c, bucomm.c, nlmconv.c, nm.c, objcopy.c, objdump.c,
5165 size.c: Use bfd_get_error and bfd_set_error and new error names.
5169 * objcopy.c (strip_main, copy_main): Add missing 'break' in switch.
5173 * objdump.c (disassemble_data): Handle bfd_arch_powerpc.
5177 * strings.c objdump.c nlmconv.c objcopy.c nm.c ar.c size.c (main):
5178 Call xmalloc_set_program_name.
5182 * objcopy.c (filter_bytes): Make MEMHUNK a char *, not PTR, so we
5183 can do arithmetic on it.
5187 * objdump.c (dump_section_stabs, read_section_stabs,
5188 print_section_stabs): Functions broken out of dump_stabs_1.
5189 Free the stabs and strings when done with them.
5193 * nlmconv.c (main): Use bfd_get_flavour instead of struct member.
5194 * ar.c (print_contents, extract_file), size.c
5195 (print_berkeley_format, print_sysv_format): Use bfd_get_filename and
5196 bfd_my_archive instead of dereferencing the structs directly.
5198 * ar.c: Use bfd_fatal and bfd_nonfatal instead of bfd_perror and exit.
5199 Indent. Remove DEFUNs.
5201 * nlmconv.c (main), objcopy.c (copy_file): Print matching formats
5203 * nm.c (display_file, display_archive), size.c (display_bfd):
5205 Print matching formats if there is an ambiguous match. Use
5206 bfd_nonfatal instead of hardcoded error message if nothing matches.
5208 * arsup.c, ar.c, objdump.c: Use bfd_get_filename instead of
5211 * nm.c (display_archive): New function, from code in display_file.
5212 (display_rel_file): Renamed from do_one_rel_file.
5215 (display_archive): New function from code in display_file.
5216 (display_file): Check bfd_close error return.
5218 * strings.c (strings_object_file): Check bfd_check_format
5221 * strings.c, objdump.c, size.c: Use bfd_nonfatal instead of bfd_perror.
5223 * bucomm.c: Delete references to exit_handler. It wasn't set
5224 anywhere, and now that we're using the libiberty xmalloc, it
5225 wouldn't always get called before exiting.
5226 (list_matching_formats): Function moved from objdump.c.
5227 * bucomm.h: Declare it.
5229 * objdump.c (disassemble_data): Move some variable decls closer to
5230 their use. Add some comments. Replace a nested block with a
5235 * objdump.c (display_target_list, display_info_table): Check that
5236 the bfd of the dummy output file is not null.
5240 * objcopy.c (filter_bytes): New function.
5241 (copy_section): Call it.
5242 (copy_options, copy_usage, copy_main): Add --byte option to
5243 activate it. Appropriate the -b option (which was an undocumented
5244 synonym for -F) for it, also. Add --interleave, -i option for
5246 (setup_section, copy_section, mangle_section): Renamed with no `s'
5248 * objcopy.1, binutils.texi: Document the new options.
5250 * objdump.c (display_target_tables, display_target_list):
5251 New functions broken out of display_info.
5252 Eliminate some magic constants. Use more meaningful variable names.
5253 (dump_bfd_header): New function broken out of display_bfd.
5254 (dump_section_header): New function broken out of dump_headers.
5255 (remove_useless_symbols): Don't shadow global variable name with
5257 (objdump_print_address): Fix backward test.
5261 * bucomm.c (print_arelt_descr): Change decl of `when' to time_t.
5262 * objdump.h: Removed.
5266 * objdump.c (display_file): Remove call to list_matching_formats.
5267 It would never be called.
5268 (list_matching_formats): Take an arg giving the list of matching
5270 (display_bfd): Pass the arg, and get it filled in by calling
5271 bfd_check_format_matches instead of bfd_check_format.
5272 (display_info, display_info_table): target_vector was renamed to
5275 * binutils.texi (objdump): Note some limitations of -h section
5280 * Makefile.in (MALLOC): Set to emptiness by default.
5281 (ALL_CFLAGS): Add and use.
5282 (arparse.h): Make it depend on arparse.y.
5283 * ar.c (libbfd.h): Don't require to be in ../bfd.
5284 * objdump.c (comp): Rename to compare_symbols.
5288 * objdump.c (list_matching_formats): If the file format is ambiguous,
5289 print the matching names so the user can choose one.
5290 (display_bfd): Call it.
5291 (display_file): Call it.
5295 * objdump.c (disassemble_data): Support bfd_arch_rs6000.
5299 * objdump.c (stab_name): Allocate dynamically.
5300 (stab_print): Use pointers to strings instead of char arrays.
5301 (dump_stabs): Change alloc and init of arrays appropriately.
5302 (dump_stabs_1): Always decide whether to print stab_name or
5303 the stab's type number, if unnamed.
5307 * objcopy.c (strip_main, copy_main): Don't clobber the input file
5310 * nlmconv.c (main): Warn about an attempt to use a shared library
5311 with uninitialized data.
5313 * nlmconv.c (setup_sections): Make sure that we align the
5314 output_offset of each input section appropriately.
5318 * objdump.c (dump_relocs): Don't crash if section name is NULL.
5322 * filemode.c (filemodestring): Commented out; not used.
5323 (mode_string): Use POSIX definitions.
5324 (ftypelet): Likewise.
5325 (rwx): Removed; no longer used.
5326 * bucomm.c: Include bucomm.h.
5327 (bfd_nonfatal, bfd_fatal): Argument is const.
5328 (fatal): Make __STDC__ version.
5329 * bucomm.h (mode_string): Declare.
5330 * Makefile.in (bucomm.o): Depend upon bucomm.h
5334 * bucomm.c (xmalloc, xrealloc): Deleted.
5335 * bucomm.h (xmalloc, xrealloc): Fix prototypes, to correspond to
5336 libiberty version of functions.
5340 * binutils.texi: Add a chapter summarizing the ways to select
5341 aspects of the target for each program.
5343 * objdump.c (long_options, usage): Add long equivalents for all
5344 remaining short options that lacked them.
5345 * binutils.texi objdump.1: Document them.
5347 * size.c (usage): Tweak usage message.
5348 * size.1: Add missing `=' in examples.
5350 * binutils.texi strip.1 objcopy.1 nlmconv.1 objcopy.c nlmconv.c:
5351 Use "--target=bfdname" as the option to select the BFD target,
5352 like nm and size already do.
5353 Reserve "--format=format" for textual output selection options, but
5354 for now keep old option names as obsolete for backward compatibility.
5356 * strings.c (main, strings_object_file, usage): Add --target option.
5357 * binutils.texi strings.1: Document it.
5361 * ar.c (main): Add \n in error message.
5366 * ar.c (main): Put parens around assignment used as truth value.
5367 * objcopy.c (strip_main): Remove unused variables. Return 0.
5368 (copy_main): Remove unused variables. Return 0.
5369 * objdump.c (display_bfd): Declare return value as void.
5370 (stab_print): Use "" instead of 0 to initialize array.
5371 (dump_stabs_1): Print vma using printf_vma.
5372 (display_info): Put parens around assignment used as truth value.
5373 * strings.c (print_strings): Cast printf arguments.
5375 * objcopy.c (copy_main): Use copy_options, not strip_options.
5377 * nlmheader.y (command): Warn about illegal date values.
5381 * bucomm.c bucomm.h: Run through indent. De-ansidecl-ify.
5382 (bfd_nonfatal): New function.
5383 (bfd_fatal): Call it.
5385 * objcopy.c (smart_rename): Do a copy if the dest file has
5386 multiple hard links. Remove source file on successful copy.
5387 Try to preserve mode and owner on successful rename.
5389 * objcopy.c: Run through indent. Clean up a bit.
5390 Make global variables static.
5391 Make {input,output}_{target,filename}, show_version local
5392 to various functions.
5393 New global variable `status' for exit status.
5394 (strip_main, copy_main): New functions with code from main.
5395 (nonfatal): New macro. Use it globally instead of bfd_perror and
5398 (copy_object): Call mangle_sections with bfd_map_over_sections.
5399 (mangle_sections): Adjust for new calling convention.
5403 * nlmheader.y (command): Accept MAP and FULLMAP without arguments.
5404 * nlmconv.c (main): Change error message for MAP and FULLMAP.
5408 * nlmconv.c (main): Warn about imported symbols that are not in
5409 the IMPORT list even if the IMPORT keyword is not used.
5411 * nlmconv.c (debug, unlink_on_exit): New static variables.
5412 (long_options): Add "debug" and "linker".
5413 (main): Handle -d and -l arguments. Make command line input and
5414 output files optional. Parse the command file before opening the
5415 BFD's, which requires storing more information in local variables.
5416 If INPUT names multiple files, link them together. Use OUTPUT for
5417 the output file name if not named on command line.
5418 (show_usage): Changed for new options.
5419 (link_inputs): New function to automatically invoke linker to
5420 handle multiple INPUT files.
5421 (choose_temp_base_try, choose_temp_base, pexecute): New functions,
5422 mostly copied from gcc/gcc.c.
5423 * nlmconv.h (input_files, output_file): Declare.
5424 * nlmheader.y (input_files, output_file): Define.
5425 (command): Support INPUT with a string_list argument. Support
5427 (string_list): Renamed from module_list.
5428 * Makefile.in (nlmconv.o): Define LD_NAME based on
5429 program_transform_name.
5433 * nlmheader.y (nlmheader_identify): New function. Use it to print
5434 the program name just once, instead of with every error message.
5438 * nlmconv.c (long_options): Changed --header-info to --header-file
5439 to match documentation and usage message.
5443 * objdump.c (dump_relocs): Avoid dereferencing a NULL sym_ptr_ptr
5448 * nlmconv.c (main): Change various types from bfd_size_type to
5449 size_t, since they have to be arguments to fread and fwrite.
5450 Change set from char * to unsigned char *.
5451 (select_output_format): Make mach argument unsigned. Handle
5453 (setup_sections): Don't copy the .reginfo section of an ECOFF
5454 file. Call bfd_set_reloc to initialize the relocation fields.
5455 (copy_sections): Don't copy the .reginfo section of an ECOFF file.
5456 Combine all relocs for a section.
5457 (mangle_relocs): Change type of relocs to permit specific
5458 functions to change it. Call alpha_mangle_relocs for alpha,
5459 default_mangle_relocs for other architectures.
5460 (default_mangle_relocs): New function. Adjust the address of all
5461 relocs by the output_offset.
5462 (i386_mangle_relocs): Change type of relocs argument. Cast length
5463 argument to memmove to size_t.
5464 (alpha_mangle_relocs): New function.
5468 * nlmconv.c (select_output_format): Use nlm32-sparc for
5473 * nlmconv.1: added man page
5474 * objcopy.1: fixed format errors
5478 * Makefile.in: Use CFLAGS as well as LDFLAGS when linking.
5482 * strings.1: Fix typo.
5486 * Makefile.in (DISTSTUFF): Build "info".
5487 (VERSION): Updated to cygnus-2.3.1; 2.3 has gone out.
5491 * objdump.c (dump_stabs): Handle stabs-in-som as implemented
5492 by the new BFD SOM assembler.
5496 * ar.1 c++filt.1 nm.1 objcopy.1 objdump.1 ranlib.1 size.1
5497 strings.1 strip.1: Replace \(em in NAME section with \- so
5498 makewhatis can grok it.
5502 * nlmconv.c (i386_mangle_relocs): Adjust reloc address by
5503 section output_offset.
5507 * binutils.texi: added nlmconv chapter
5511 * Makefile.in: Change RUNTESTFLAGS to RUNTEST_FLAGS
5515 * Makefile.in (distclean): Don't get rid of dvi or info files.
5519 * objcopy.c (S_ISLNK): Define as 0 if there's no S_IFLNK.
5523 * binutils.texi: Move objcopy docs into alphabetical order.
5525 * objdump.c: Use xmalloc instead of malloc.
5529 * objdump.c (info): Rename to formats_info.
5530 (dump_stabs_1): Better comments and formatting.
5534 * ar.c (main): Always create the archive when quick appending,
5535 even if no input files have been given.
5539 * nlmconv.c (main): Set sharedDebugRecordOffset and
5540 sharedDebugRecordCount fields in extended header.
5542 * nlmconv.c (main): Force moduleName field to upper case.
5546 * objcopy.c (main): Give a usage message if there are too many
5551 * Makefile.in (install-info): Rewrite to take advantage of VPATH,
5552 so FSF distributions (with info files in $(srcdir)) install
5554 (DISTSTUFF): Build nlmheader.c too.
5558 * ar.c (program_name): Don't define here.
5559 * objdump.c: Include "bucomm.h".
5560 (xmalloc): Don't declare here.
5561 (program_name): Don't define here.
5562 (program_version): Fixed type in declaration.
5563 * size.c: Include "bucomm.h".
5564 (program_name): Don't declare here.
5568 * objdump.c (fprintf): hide declaration in FPRINTF_ALREADY_DECLARED
5572 * nlmconv.c (i386_mangle_relocs): Resolve and remove PC relative
5573 relocs against defined symbols in the same section.
5577 * Makefile.in (binutils.dvi): use TEXIDIR to find texinfo.tex
5581 * objcopy.c (simple_copy, smart_rename): New functions.
5586 * Makefile.in (clean, distclean): Recurse into testsuite.
5590 * objcopy.c (setup_sections, copy_sections): If stripping, don't
5591 copy SEC_DEBUGGING sections.
5592 * objdump.c (dump_headers): Print SEC_DEBUGGING flag.
5594 * objdump.c (usage): Mention --stabs.
5596 * objcopy.c (copy_object): Copy all applicable file flags.
5597 (copy_file): Don't copy EXEC_P specially here.
5601 * nlmconv.c (main): Adjust data section size to correspond to bss
5602 alignment adjustment. Clear BSF_SECTION_SYM if symbol is moved to
5603 a different section. Use time_t for time variable.
5604 (setup_sections): Only put sections with contents in output NLM.
5605 (i386_mangle_relocs): No symbols are common at this point. Add
5606 casts to avoid warnings.
5610 * objdump.c: Made the --stabs option work for stabs-in-coff.
5611 (ELF_STAB_DISPLAY): Removed.
5612 (dump_elf_stabs): Renamed to dump_stabs, changed to run for
5613 any object file format.
5614 (dump_elf_stabs_1): Renamed to dump_stabs_1, added calls to
5615 generic BFD routines for non-ELF case, changed format of message
5616 for no-section-found case.
5617 (display_bfd): Always call dump_stabs if requested.
5618 (dump_data): Call bfd_section_size to get section size.
5622 * Makefile.in (install): Don't put strings in tooldir/bin.
5626 * nlmconv.c (total_bss_size): Removed.
5627 (main): Set the bss vma to always follow the data section. Move
5628 symbols into new sections, and adjust values by output_offset.
5629 (setup_sections): Don't copy all sections, but instead point all
5630 text sections to .text, all data sections to .data, and all bss
5632 (copy_sections): Adjust accordingly.
5636 Only build nlmconv if configured for a NetWare target.
5637 * configure.in: If we have some *-*-netware* target, or are using
5638 all targets, set BUILD_NLMCONV to $(NLMCONV_PROG) in Makefile.
5639 * Makefile.in (PROGS): Use $(BUILD_NLMCONV) rather than
5644 * objdump.c (ARCH_all): Define ARCH_hppa too.
5645 (dump_headers): Don't test for SEC_BALIGN if it's not defined by
5650 * nlmconv.c (main): Force creation of .bss section. Set up the
5651 sections before looking at the symbols. Move all common symbols
5652 into .bss section. Automatically define _edata and _end. Only
5653 export symbols in the export list, with multiple prefixes if
5654 necessary. Warn if no version. Always create extended header.
5655 Set date automatically if not already set.
5656 (setup_sections): Count size of bss sections.
5657 (mangle_relocs, i386_mangle_relocs): Accept section argument, and
5658 take reloc_count as a changeable pointer; changed callers.
5659 (i386_mangle_relocs): Remove PC relative relocs within a section,
5660 as they require no adjustment.
5661 * nlmheader.y: Fixed memory allocation throughout: token STRING is
5662 now allocated on the heap, and freed if not needed. Null
5663 terminated copyright message. Accept version with only two
5665 (symbol_list_opt): New nonterminal, either symbol_list or empty.
5666 (symbol_list): Use left recursion to avoid overflowing parser
5668 (yylex): Rearranged beginning of line check. Accept quoted
5669 strings using single quotes. End generic argument at comment
5670 character or parentheses.
5671 (string_list_append): Fixed.
5672 (string_list_append1): New function.
5674 * bucomm.h: The first argument to xrealloc is PTR, not char *.
5675 * bucomm.c (xrealloc): Use PTR rather than char *.
5676 * Makefile.in (objdump.o): Depend upon config.status to notice
5677 --with-targets changes.
5678 (nlmconv.o): Depend upon bucomm.h.
5682 * configure.in: Don't pass cpu to config.bfd.
5686 * Makefile.in ($(NM_PROG)): Depend on demangle.o.
5687 (demangle.o): New target.
5688 (cplus-dem.o): Depend on it, to force compilation order when doing
5691 * nm.c (print_symbol_info_{bsd,sysv,posix}): Take a bfd arg.
5692 (struct output_fns print_symbol_info): Ditto.
5693 (long_options, usage, main): Add -C --demangle option.
5694 (print_symname): New function, demangling if requested.
5695 (print_symbols, print_symbol_info_{bsd,sysv,posix}): Use it.
5699 * Makefile.in: Put CFLAGS last in compilation rules and omit from
5700 linking rules. Use ARCHDEFS to compile objdump.c.
5701 Update dependencies.
5702 * configure.in: Construct ARCHDEFS based on the BFD target makefile
5704 * objdump.c: Conditionalize calls to the print_insn_ARCH functions
5705 according to ARCHDEFS.
5709 * ar.c: Removed obsolete and non-functional GNU960 code.
5713 * size.c (berkeley_sum): New function.
5714 (bsssize, datasize, textsize): New global variables.
5715 (bss_section_name, data_section_name, text_section_name): Removed.
5716 (print_berkeley_format): Map berkeley_sum over all the sections,
5717 rather than only reporting sizes of specifically named sections.
5718 * Makefile.in ($(OBJDUMP_PROG)): Removed dependency on size.o.
5722 * nlmconv.c, nlmconv.h, nlmheader.y: New files for program to
5723 convert object files into NetWare Loadable Modules.
5724 * Makefile.in (NLMCONV_PROG): New macro, define to be nlmconv.
5725 (PROGS): Add NLMCONV_PROG.
5726 (nlmheader.c, nlmheader.o, nlmconv.o, $(NLMCONV_PROG)): New
5731 * Makefile.in: define MAKEOVERRIDES to an empty string
5735 * objcopy.c (copy_file): Make failures to process a file nonfatal.
5739 * nm.c: Add -B option, like --format=bsd.
5743 * objcopy.c (copy_file): If the file is neither an object nor an
5744 archive, give an error rather than returning success.
5748 * objdump.c (objdump_print_address): Prefer non-local symbols over
5749 local ones, and especially discriminate against debugging symbols.
5750 Also, for relocateable files, try to find a symbol in the current
5751 section, instead of picking one from some random section with a
5752 convenient value (read, section offset).
5753 (disassemble_data): Cast argument to malloc to size_t first.
5754 (dump_data): Likewise.
5755 (dump_relocs): If a single section name is specified, show relocs
5756 only for that section. Otherwise, silently omit sections without
5757 relocs. Format table nicely even if values are printed using 16
5758 digits instead of 8.
5762 * nm.c: Changes for final version of POSIX.2.
5763 (print_symbol_filename_{bsd,sysv,posix}): New functions.
5764 (formats): Add an element for a pointer to them.
5765 (print_symbols): Call it.
5766 (print_object_filename_posix, print_archive_member_posix): Produce
5767 output according to new POSIX.2 spec.
5769 * strings.c (print_strings): Handle STREAM being NULL.
5770 (strings_a_section): Pass a NULL.
5771 (main): Don't open /dev/null.
5775 * objdump.c (disassemble_data): Handle the m88k.
5776 (display_bfd): Use bfd_errmsg, rather than just claiming that the
5777 bfd is not an object file.
5781 * Makefile.in (TAGS): make work again by naming directories
5782 explicitly rather than depending on undefined macros.
5783 (INSTALL_XFORM): correct bad install target.
5787 * strings.c: Doc fixes.
5791 * Makefile.in: Note dependencies on bucomm.h.
5792 (cplus-dem.o): Link c++filt with version.o.
5794 * strings.c: Include bucomm.h and add prototypes to other decls.
5797 * bucomm.h: Declare xrealloc.
5799 * nm.c, objcopy.c, objdump.c, size.c, strings.c (main, usage): Add
5800 --help option. Put "GNU" in the version message.
5801 (usage): Take stream and exit status as args.
5802 (main): Pass new args to usage.
5806 * strings.c, strings.1: New files.
5807 * binutils.texi: Document strings.
5808 * Makefile.in: Add rules for it.
5812 * objdump.c: Use size-independent bfd elf section names.
5816 * objdump.c (objdump_print_address): Handle wide offsets by
5817 calling sprintf_vma.
5821 * objdump.c (syms2): Removed unused variable.
5822 * objdump.c (remove_useless_symbols): New function.
5823 * objdump.c (comp): Simplify.
5824 * objdump.c (dis-assemble_data): Make simpler and more
5825 efficient how we filter out useless symbols: Just filter
5826 BEFORE the sort (using remove_useless_symbols).
5827 * objdump.c (objdump_print_address): Simplify.
5828 Change output syntax to match gdb.
5832 * Makefile.in: canonicalize install.sh; for use within
5833 this directory (and subdirs)
5835 Mon Jun 14 12:13:22 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
5837 * Makefile.in (install, install-info): remove parentdir support,
5838 use INSTALL_XFORM; define INSTALL_XFORM
5842 * objcopy.c (copy_object): Fix bad size passed to xmalloc().
5846 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
5847 * configure.in: No longer need to configure to get sysdep.h.
5848 * objcopy.c (copy_object): Fix symbol table handling.
5852 * objcopy.c (filter_symbols): Cannot filter the symbols
5853 in place, because that confuses the relocs, so take separate
5854 parameter for output array.
5855 * objcopy.c (sympp): Make two variables: isympp and osympp.
5856 * objcopy.c (copy_object): Allocate separate array (osympp)
5857 for filtered symbols.
5859 Fri Jun 4 10:51:44 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5861 * Makefile.in: change recursion test to presence of a configured
5866 * Makefile.in (underscore.c): Hack the backquoted command so it
5867 doesn't cause Solaris make to bomb.
5871 * Makefile.in: added c++filt and objcopy to MANPAGES variable
5873 Thu Jun 3 00:32:52 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5875 * Makefile.in: rename LOADLIBES to EXTRALIBS
5879 * c++filt.1, objcopy.1: new man pages
5883 * Makefile.in (install): Also install ar and ranlib in
5884 $(tooldir)/bin; needed for building libgcc.a.
5885 * objdump.c (objdump_print_address): Fix the check
5886 "coincidental" label matches by dis-allowing undefined
5891 * biutils.texi: revised c++filt chapter
5895 * Makefile.in (FLAGS_TO_PASS): Pass down CC and CFLAGS.
5899 * objdump.c (slurp_symtab): Print warning for bad symbol table.
5900 (bfd_elf32_find_section, Elf32_Internal_Shdr): Updated
5901 declarations and uses.
5903 * Makefile.in (DISTSTUFF): Don't build binutils.mm.
5907 * nm.c: Add -f/--format, -P/--portability, -t/--radix options.
5908 Make global variables static.
5909 (main): Make -v like -n, not -V, and make -A like -o, for POSIX.2.
5910 (set_print_radix, set_output_format,
5911 print_{object_filename,archive_filename,archive_member,symbol_info}
5912 {bsd,sysv,posix}): New functions.
5913 (display_file, print_symbols): Call them.
5915 * ar.c: Improve error messages.
5917 * nm.c (main): Handle long options that just set a flag.
5919 * nm.c (main), ar.c (do_show_version), objcopy.c (main), size.c
5920 (main): Exit after printing the version number, per the GNU coding
5925 * README, Makefile.in: Minor updates for 2.2.
5929 * Makefile.in (underscore.c): Automatically generate
5930 (using nm) a file with the variable prepends_underscore.
5931 * Makefile.in (c++filt): Link underscore.o with cplus-dem.o
5932 so that initial underscores get removed iff appropriate.
5933 * binutils.texi: Preliminary documentation for c++filt.
5934 * Makefile.in, binutils.texi: Set to version 2.2.
5936 * NEWS: Mention copy->objcopy renaming and new c++filt program.
5940 * Makefile.in (cplus-dem.o, $(DEMANGLER_PROG)): Build the
5941 demangler via cplus-dem.o, rather than directly from the .c file.
5943 * objcopy.c: Renamed from copy.c, updated comments accordingly.
5944 * Makefile.in, binutils.texi: Renamed copy to objcopy.
5945 * is-strip.c, maybe-strip.c, not-strip.c: Updated comments for
5946 rename of copy to objcopy.
5950 * binutils.texi (strip, -v option): Fix typo.
5954 * Makefile.in (RUNTEST): Define.
5955 (FLAGS_TO_PASS): Pass down RUNTEST.
5959 * Makefile.in (DEMANGLER_PROG): Name it c++filt.
5960 (PROG): Also build and install COPY_PROG.
5964 * Makefile.in: Change definition of $(tooldir) to match FSF.
5968 * size.c (usage): Add missing options.
5969 (main): Clean up option parser.
5971 * objdump.c (usage): Add missing options.
5972 (display_file): Print program name before calling
5975 * nm.c (usage): Add missing options.
5976 (main): Clean up option parser.
5977 (display_file): Print program name before calling
5980 * copy.c (copy_usage, strip_usage): Add missing options.
5982 * ar.c (usage): New function.
5984 (open_inarch, do_quick_append): Print program name before calling
5989 * nm.c (main): Accept and ignore -A and -B for MIPS compatibility.
5993 * Makefile.in: Added FLAGS_TO_PASS so tests get run on freshly
5994 built binaries if they exist. (otherwise the path)
5998 * Makefile.in: Changed check target to use DejaGnu.
6002 * Makefile.in: Remove am29k-pinsn.c, i960-pinsn.c.
6003 objdump.c: a29k and i960 are `disassemble' not `print'.
6005 * objdump.c: Rename print_address to objdump_print_address
6006 and change parameters.
6007 (disassemble_data): Use objdump_print_address.
6011 * objdump.c (disassemble_data): print_insn_sparc is now a
6012 `disassemble' not a `print'.
6013 Makefile.in: Remove sparc-pinsn.c (now in libopcodes.a).
6015 * objdump.c (disassemble_data): Use new read_memory_func stuff.
6019 * objdump.c (fprintf): Declaration of variadic function had better
6020 be a prototype for ANSI C systems.
6022 Mon Mar 22 23:19:46 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6024 * Makefile.in: rename test-install to install-check
6028 * objdump.c (disassemble_data): Add H8500.
6032 * objdump.c (usage): Mention long options.
6036 * nm.c: Modify behavior of -o flag for archives to match
6037 BSD4.4 and Sunos 4: Prefix archive name before each line.
6039 * m68k-pinsn.c: Removed. Subsumed by ../opcodes/m68k-dis.c.
6040 * i386-pinsn.c: Removed. Subsumed by ../opcodes/i386-dis.c.
6041 * Makefile.in: Adjust accordingly.
6042 * objdump.c: Support new-style disassemblers (ones that use
6043 the interface of ../include/dis-asm.h).
6047 * Makefile.in: When making tar file, remove texinfo/*,
6048 except for texinfo/texinfo.tex.
6049 * ardup.c: Add extern declaration of strdup.
6050 * Makefile.in (testsuite): Add 'else true' since otherwise
6051 Ultrix /bin/sh complains.
6055 * Makefile.in: Set VERSION to 2.1.
6056 * README, NEWS: Updates.
6057 * nm.c: Add -v as a synonym for -V.
6061 * configure.in: added testsuite to configdirs.
6062 * Makefile.in: added support for building testsuite.
6066 * objdump.c (disassemble_data): Print function names when
6067 given by bfd_find_nearest_line. If not - still print
6072 * binutils/testsuite: made modifications to testcases, etc., to allow
6073 them to work properly given the reorganization of deja-gnu and the
6074 relocation of the testcases from deja-gnu to a "tool" subdirectory.
6078 * objdump.c (dump_data): Free up section contents each time
6083 * binutils/testsuite: Initial creation of binutils/testsuite.
6084 Migrated dejagnu testcases and support files for testing nm to
6085 binutils/testsuite from deja-gnu. These files were moved "as is"
6086 with no modifications. This migration is part of a major overhaul
6087 of dejagnu. The modifications to these testcases, etc., which
6088 will allow them to work with the new version of dejagnu will be
6089 made in a future update.
6093 * Makefile.in (LIBIBERTY_SRC_DIR, LIBIBERTY_BIN_DIR): New macros.
6094 * Makefile.in (LIBIBERTY): Use LIBIBERTY_BIN_DIR.
6095 * Makefile.in (DEMANGLER_PROG): New program to build. Add macro
6097 * Makefile.in (PROGS): Add DEMANGLER_PROG.
6101 * copy.c, nm.c, objdump.c, size.c: Use new bfd_is_com_section
6102 macro rather than checking for equality to bfd_com_section.
6106 * objdump.c (disassemble_data): Fix code to find first useless
6111 * objdump.c (disassemble_data): Use mips_print_insn for MIPS.
6112 Don't core dump if bfd_find_nearest_line returns false.
6116 * objdump.c (disassemble_data): know how to disassemble z8000s
6121 * arsup.h (interactive), bucomm.h (program_name): Prefix
6122 with 'extern', to avoid warnings from some compilers.
6126 * arparse.y: fix unnecessary shift/reduce
6130 * Makefile.in: Make check depend on all.
6131 * Makefile.in (distclean): Remove sysdep.h.
6132 * size.c: Use %u format where appropriate.
6133 * objdump.c: Standardize: L_SET -> SEEK_SET.
6134 * objdump.c: Use new macro bfd_asymbol_bfd.
6135 * configure.in: Allow std-host as the default ${mys_host}.
6137 Thu Dec 17 19:38:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6139 * Makefile.in: added dvi target, define and use TEXI2DVI
6143 * Makefile.in (dist): Fix permissions before release.
6144 * size.c: Use bfd_size_type (and long) where appropriate.
6145 * ar.c: Make writing a map the default, to be compatible
6146 with SYSV and Posix.2. Remove some bogus kludges that
6147 handled __.SYMDEF directly.
6150 Mon Nov 9 13:36:53 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6152 * Makefile.in: flex no longer needs the -S flag
6154 Sat Nov 7 15:06:13 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6156 * ar.c (extract_file): utime needs a pointer to a utimbuf
6158 * Makefile.in: handle -I includes better, adding $(BASEDIR)/bfd to
6159 the list (since some of the bfd/hosts/*.h files include other
6160 files from that directory)
6164 * i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper bound properly.
6168 Clean up some old BFD ansification macros.
6170 * arsup.h, bucomm.h, objdump.h: Remove EXFUN from binutils.
6171 It still remains as a local macro in gmalloc.c, which is derived
6172 from some other copy of GNU Malloc somewhere (FIXME).
6174 * ar.c, objdump.c, size.c: Replace EXFUN with PROTO. Make static
6176 * arsup.h: Declare extract_files.
6180 * ar.c (extract_file): instead of checking USG: if POSIX_UTIME,
6181 use utime and utimbuf structure, otherwise if USE_UTIME use utime
6182 and array of two longs, otherwise use utimes.
6186 * binutils.tex: Document yesterday's changes to strip and copy.
6190 * copy.c: Re-do command-line parsing to use getopt_long().
6191 Add long option names. Re-think option letters to be more
6193 * copy.c: New function filter_symbols() for stripping only
6194 debug-symbols and/or local symbols. Use these to support
6195 the previously-missing options of the old FSF strip.
6199 * configure.in (host): Use ${srcdir}/../bfd/configure.host rather
6200 than repeating a copy of it here.
6204 * copy.c (main): Even if is_strip, accept -d argument indicating
6205 alternate output format. Needed by gdb for Nindy.
6207 * m68k-pinsn.c (print_insn_arg): Handle new "`" operand type.
6211 * binutils.texi: added documentation for "copy"
6213 Tue Oct 6 14:22:56 1992 Per Bothner (bothner at PersSony)
6215 * Makefile.in (*clean rules): Some cleaning up.
6216 * Makefile.in (dist): Make diststuff in gprof for a dist.
6218 * ar.c (do_show_version): New function.
6219 * ar.c (main): Fix so "ar -V" works.
6221 Thu Oct 1 22:44:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6223 * configure.in: now uses the cpu-vendor-os triple instead of
6228 * i960-pinsn.c: Change bzero to memset.
6229 * sparc-pinsn.c: Change index to strchr.
6233 * m68k-pinsn (print_insn_arg, fetch_arg): added support for
6234 operands to memory management instructions, from WRS.
6238 * Makefile.in (install): if $(tooldir) exists, install nm and
6239 strip in $(tooldir)/bin.
6243 * Makefile.in: Let's call it version 2.0.
6247 * Makefile.in: Bump to version 0.98.
6248 * TODO, README: Minor updates.
6250 * Makefile.in: Added mostlyclean, distclean rules,
6251 and cleaned up clean, realclean.
6255 * Makefile.in: map program names through program_transform_name
6260 * Makefile.in: Bump to versions 1.97.90.
6261 * cplus-dem.c: Removed. Was nowhere used - and if some
6262 programs are changed to to demangling should now use the
6263 versions in libiberty.
6267 * configure.in: add we32k
6271 * ar.c (map_over_members): if the element of the archive has a
6272 null name, fill it in.
6274 * nm.c (do_one_rel_file): only warn if a bfd's flags say there
6275 will be symbols and there aren't any.
6279 * m68k-pinsn.c: handle new operand type 'r', introduced for cas2.
6283 * nm.c objdump.c: Added support for a +version (-V)
6284 to print the version number.
6286 * ar.c, copy.c: Added support for a -V option to print
6291 * config/mh-apollo68v: removed -g from CC definition.
6293 * Makefile.in: always create installation directories.
6297 * m68k-pinsn.c: Minor fix in style of output (don't use
6298 range to indicate floating point control registers).
6302 * ar.c (main): Don't *always* set the verbose flag!
6306 * copy.c: When is_strip (because it is invoked as the strip
6307 program), follow traditional argv processing:
6308 'strip file1 file2' now strips file1 and file2, rather
6309 than stripping file1 (as input), leaving output in file2.
6313 * objdump.c (display_info, display_info_table): Call
6314 bfd_set_format() on dummy bfd before using it (twice).
6315 * ar.c: Make sure archive is created on command 'r'
6316 even when no elements are inserted. (Clean up and
6317 simplify some non-working related code.)
6321 * configure.in: hppa support doesn't assume hp OS (from sef).
6323 Sat Jul 18 14:35:22 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6325 * configure.in: recognize hppa hosts (bsd & hpux), error messages
6326 to stderr, not stdout
6330 * ar.1, binutils.texi, i960-pinsn.c, nm.1, objdump.1, ranlib.1,
6331 size.1, sparc-pinsn.c, strip.1: removed rcsid's.
6335 * Makefile.dos: removed rcsid.
6339 * objdump.c (display_bfd): print state of BFD_IS_RELAXABLE too
6343 * Makefile.in: Add program_suffix (parallel to program_prefix)
6345 Thu Jun 25 04:52:45 1992 John Gilmore (gnu at cygnus.com)
6347 * nm.c (sorters): Lint. Remove excess whitespace.
6351 * nm.c (valueof macro): Add missing parentheses.
6352 (Their lack screwed up numeric_forward().)
6354 Sun Jun 14 10:33:27 1992 John Gilmore (gnu at cygnus.com)
6356 * objdump.c (dump_elf_stabs): Also dump .stab.index and
6357 .stab.excl sections.
6358 (dump_elf_stabs_1): Split out main body of old dump_elf_stabs.
6359 * objdump.1, binutils.texi: Document new sections dumped.
6361 Fri Jun 12 22:23:35 1992 John Gilmore (gnu at cygnus.com)
6363 * size.c, objdump.c, bucomm.c: Lint.
6365 Thu Jun 11 01:19:06 1992 John Gilmore (gnu at cygnus.com)
6367 * objdump.c (dump_elf_stabs): New feature: --stabs prints out a
6368 .stab section from an ELF file. Installed under #ifdef
6369 ELF_STAB_DISPLAY so it can be easily disabled, since it requires
6370 bfd-internals header files and such.
6371 * objdump.1, binutils.texi: Update for --stabs. Also fix
6372 objdump's doc to use -- rather than + for long options.
6373 (FIXME: Not yet fixed everywhere in binutils.texinfo.)
6377 * objdump.c(display_info), patches from
6383 * objdump.c: Add another enum->int cast, for the sake of
6384 old compilers (such as PCC).
6388 * arlex.l: Don't include <sysdep.h> (unneeded conflicts).
6389 Add declaration of strdup().
6393 * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
6394 rules, since these are used when building a distribution.
6395 * Makefile.in (arlex.c): Don't re-direct output, since that
6396 leaves a bogus output files if it fails.
6398 * arlex.l: Make work with lex, for what it's worth.
6399 * Makefile.in: Better lex support.
6400 * Makefile.in (dist): Generate flex and bison outputs
6405 * Makefile.in: get BISON definition right.
6409 * sanity.sh: default TMPDIR to ".".
6413 * binutils.texi: add doc for ar command language.
6417 * arparse.y: make END call ar_end
6418 * arsup.c (ar_end): added, deletes temp file if archive session
6424 * Makefile.in: use bison & flex from ../ if they exist. Also,
6427 * sanity.sh: remove temporary directory when finished.
6431 * Makefile.in: Bump to version 1.97.
6432 * ar.c: Declare errno for machines that need it.
6436 * objdump.c (display_info): Handle error cases without coredump.
6437 Close the dummy temporary file we open in the loop.
6438 * Makefile.in (arsup.o): Add kludge to build with Sun Make.
6442 * Makefile.in: added test-install target.
6444 * sanity.sh: new file.
6446 * Makefile.in: use sanity test on make check.
6450 * Makefile.in: rework CFLAGS so that they can be passed on the
6451 command line to make. Remove MINUS_G. Default CFLAGS to -g.
6455 * arsup.c, arsup.h, arparse.y, arlex.l: support for archive
6460 * Makefile.in: added check target.
6464 * Makefile.in: added clean-info target.
6468 * Makefile.in: remove $(COPY_PROG) from PROGS. It shouldn't be
6469 installed. added tooldir and program_prefix.
6473 * Makefile.in, configure.in: removed traces of namesubdir,
6474 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
6475 copyrights to '92, changed some from Cygnus to FSF.
6477 Sun Feb 16 12:53:02 1992 Per Bothner (bothner at cygnus.com)
6479 * Makefile.in: Bump version to 1.96, and remove -beta
6480 suffix from distribution name.
6481 * m68k-pinsn.c: New macro COERCE_SIGNED_CHAR to extract
6482 the signed value of a character (even if chars are unsigned).
6483 * sparc-pinsn.c: Add new operand types.
6485 Thu Feb 6 12:14:19 1992 Steve Chamberlain (sac at rtl.cygnus.com)
6487 * objdump.c (disassemble_data): don't print a section's contents
6488 if it's not loadable (eg bss)
6490 Tue Jan 28 11:11:06 1992 Steve Chamberlain (sac at rtl.cygnus.com)
6492 * m68k-pinsn.c (print_insn_arg): fixed so that -ve branch
6493 displacements don't get printed as large +ve ones.
6495 Fri Jan 24 14:47:53 1992 Steve Chamberlain (sac at rtl.cygnus.com)
6497 * copy.c, nm.c, objdump.c, size.c : changed to use the
6501 Mon Dec 30 18:34:41 1991 Per Bothner (bothner at cygnus.com)
6503 * bucomm.c (print_arelt_descr): Tweek the output format
6504 so that 'ar tv' output follows Posix 1003.2/D11.
6505 Output is now also identical to Sun's (except __.SYMDEF).
6507 Mon Dec 30 06:09:53 1991 John Gilmore (gnu at cygnus.com)
6509 * Makefile.in: Make `make' output more readable.
6511 Wed Dec 18 15:04:45 1991 Per Bothner (bothner at cygnus.com)
6513 * Makefile.in: Bump to version 1.94.
6515 Wed Dec 11 16:48:09 1991 Steve Chamberlain (sac at cygnus.com)
6517 * ar.c: added "b" to fopens for dos
6518 * configdj.bat, makefile.dos new files from DJ
6520 Tue Dec 10 04:07:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
6522 * Makefile.in: infodir belongs in datadir.
6524 Sat Dec 7 17:09:37 1991 Steve Chamberlain (sac at rtl.cygnus.com)
6526 * bucomm.h: created to hold prototypes of bucomm.c
6527 * objdump.h: created to hold prototyes of objdump.c
6528 * am29k-pinsn.c: include objdump.h
6529 * ar.c: include bucomm.h, get ar.h from the right place and
6531 * bucomm.c: defunize bfd_fatal
6532 * copy.c: include bucomm.h, lint.
6533 * i960-pinsn.h: include bucomm.h
6534 * m68k-pinsn.h: lint
6535 * nm.c: include bucomm.h, lint
6537 * sparc-pinsn.c: include objdump.h
6541 Fri Dec 6 23:02:14 1991 K. Richard Pixley (rich at rtl.cygnus.com)
6543 * Makefile.in: added standards.text support. install using
6544 INSTALL_PROGRAM and INSTALL_DATA.
6546 * configure.in: configure now does all of it's work from objdir so
6547 make file existence tests against ${srcdir}.
6549 Thu Dec 5 22:46:22 1991 K. Richard Pixley (rich at rtl.cygnus.com)
6551 * Makefile.in: idestdir and ddestdir go away. Added copyrights
6552 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
6553 and mandir now keyed off datadir by default.
6555 Wed Dec 4 22:42:03 1991 Per Bothner (bothner at cygnus.com)
6557 * Makefile.in: Bump to version 1.93.
6558 * Makefile.in: Add make-strip.o:maybe-strip.c dependency
6559 for make versions that provide half-baked VPATH-support (e.g. Sun's).
6560 * size.c: Improvements suggested by
6562 - Don't emit (Berkeley) headers if no files were found.
6563 - Return a non-zero return code on failure.
6565 Sat Nov 30 21:34:19 1991 Steve Chamberlain (sac at rtl.cygnus.com)
6567 Changes due to include file renaming:
6568 * am29k-pinsn.c: a29k-opcode.h -> opcode/a29k.h
6569 * sparc-pinsn.c: sparc-opcode.h -> opcode/sparc.h
6570 * m68k-pinsn.c: m68k-opcode.h -> opcode/m68k.h
6571 * nm.c: stab.gnu.h -> aout/stab_gnu.h
6573 Tue Nov 19 19:20:43 1991 Per Bothner (bothner at cygnus.com)
6575 * README: Mention MINIMIZE flag for bfd's make.
6577 Mon Nov 18 12:05:37 1991 Per Bothner (bothner at cygnus.com)
6579 * README: Various improvements.
6581 Sun Nov 17 23:40:59 1991 Per Bothner (bothner at cygnus.com)
6583 * Makefile.in: Bump to version 1.92.
6584 * version.c, Makefile.in: Get version string from Makefile.
6585 * copy.c, is-strip.c, not-strip.c, maybe-strip.c, Makefile.in:
6586 Make the same change that we earlier did for ar/ranlib:
6587 Generate two different binaries for strip and copy and use
6588 a global variable with different values to distinguish
6589 ostrip from copy. (-1 means to use argv[0] to decide,
6590 so you can get the old behavior, but it is no longer the default).
6591 * copy.c (copy_file): Set EXEC_P of output bfd if input is so.
6592 * copy.c (main): If is_strip==-1, compare last 5 chars
6593 of argv[0], not the whole path.
6594 * copy.c (main): Return 0, not 1.
6595 * copy.c (setup_sections): Fix due to change in bfd_make_section
6596 now failing if asked for a duplicate section.
6597 * strip.c, ostrip.c: Removed obsolete files.
6598 * ar.c, not-ranlib.c, maybe-ranlib.c:
6599 Change encoding of is_ranlib variable to be consistent
6600 with is_strip for strip.copy (i.e -1 to means use argv[0]).
6602 Thu Nov 14 20:11:02 1991 Per Bothner (bothner at cygnus.com)
6604 * version.c (program_version): Update to version 1.92.
6606 Tue Nov 12 16:17:53 1991 Per Bothner (bothner at cygnus.com)
6608 * ar.c (get_pos_bfd): Previous fix was missing a "break".
6610 Thu Nov 7 08:55:56 1991 Steve Chamberlain (sac at cygnus.com)
6612 * am29k-pinsn.c: Fixed bug in mtacc, dmac and fmac instruction
6613 encodings. (Thaks to David Wood)
6615 Sun Nov 3 14:50:23 1991 Per Bothner (bothner at cygnus.com)
6617 * Makefile.in ($(DIST_NAME).tar.Z), TODO: Various fixes.
6618 * ar.c (get_pos_bfd): Fix to handling of before/after
6619 positioning options.
6620 * bucomm.c (fatal): MISSING_VFPRINTF is no longer an issue,
6621 since libiberty contains vfprintf etc if otherwise missing.
6622 * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL
6623 type operands, as used by branch instructions.
6624 * nm.c: Delegate printing of symbols to BFD,
6625 by using bfd_print_symbol to do the formatting.
6627 Mon Oct 28 11:20:47 1991 Steve Chamberlain (steve at cygnus.com)
6629 * ar.c (write_archive.c): added unlink before rename since some
6630 systems can't rename onto an existant file.
6632 Mon Oct 21 09:47:23 1991 Steve Chamberlain (steve at rtl.cygnus.com)
6634 * nm.c: now doesn't crash if a symbol with no section and no
6637 Thu Oct 17 15:25:50 1991 Per Bothner (bothner at cygnus.com)
6639 * Makefile.in, version.c: Bump to version 1.91.
6641 Wed Oct 16 11:45:36 1991 Per Bothner (bothner at cygnus.com)
6643 * Makefile.in, ar.c, bucomm.c, copy.c, cplus-dem.c, filemode.c,
6644 i960-pinsn.c, m68k-pinsn.c, nm.c, objdump.c, size.c, sparc-pinsn.c,
6645 * strip.c: Add or update Copyright notice.
6646 * TODO: Add note on 'nm -a'.
6647 * version.c: Update version number to 1.90.
6648 * Makefile.in: Fix making of documentation for dist.
6650 Tue Oct 15 00:17:17 1991 Per Bothner (bothner at cygnus.com)
6653 * Makefile.in: New kludgy rules for making a tarfile.
6654 * Makefile.in: Fix bindir path.
6656 Mon Oct 14 17:34:29 1991 Roland H. Pesch (pesch at cygnus.com)
6658 * Makefile.in: add targets binutils.mm, binutils.me
6660 Fri Oct 11 22:44:21 1991 John Gilmore (gnu at cygnus.com)
6662 * Makefile.in: Avoid Sun Make VPATH bugs by adding dependencies.
6664 Fri Oct 11 12:51:33 1991 Roland H. Pesch (pesch at cygnus.com)
6666 * Makefile.in: add target "binutils.ms"
6668 * binutils.texinfo: minor restructuring for texi2roff comfort.
6670 Fri Oct 11 04:12:28 1991 John Gilmore (gnu at cygnus.com)
6672 Restructure configuration scheme for bfd, binutils, ld.
6674 * include/sys/h-*.h: Move to bfd/hosts/h-*.h.
6675 * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
6676 Change some config names to match other dirs.
6677 * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO()
6679 * Makefile.in: Use -I. to get sysdep.h.
6681 Wed Oct 9 22:42:56 1991 Per Bothner (bothner at cygnus.com)
6683 * nm.c (print_symbols): Handle NULL name field of symbol.
6684 * Makefile.in: Removed spurious comment.
6686 Tue Oct 8 16:55:03 1991 Roland H. Pesch (pesch at cygnus.com)
6688 * binutils.texinfo: minor typos, phrasing, formatting fixes.
6690 Tue Oct 8 15:13:20 1991 Per Bothner (bothner at cygnus.com)
6692 * configure.in: Get host file from ../bfd/config, not config.
6693 * config/*: Remove config directory and its files.
6695 Tue Oct 8 13:58:59 1991 Roland H. Pesch (pesch at cygnus.com)
6697 * Makefile.in: new targets binutils.dvi, binutils.info
6699 * binutils.texinfo: remove most remaining FIXME's, delete
6700 references to __.SYMDEF by name
6703 Tue Oct 8 10:23:44 1991 Steve Chamberlain (steve at cygnus.com)
6705 * objdump.c (print_address) Print addresses nicely.
6707 Mon Oct 7 11:31:05 1991 Per Bothner (bothner at cygnus.com)
6709 * ar.c, Makefile.in, new files {is,not,maybe}-ranlib.c:
6710 Make two different binaries for ar and ranlib, instead of
6711 distinguishing them at run time using argv[0].
6712 (Old behavior is still available if you "make ar_with_ranlib",
6713 but it is not the default.)
6714 * ranlib.sh (new): An alternative one-line
6715 shell implementation of ranlib.
6717 Fri Oct 4 21:49:44 1991 John Gilmore (gnu at cygnus.com)
6719 * objdump.c: Cope with renames of a few BFD types & enums.
6721 Fri Oct 4 19:08:09 1991 Roland H. Pesch (pesch at cygnus.com)
6723 * binutils.texinfo: add new file (rudimentary docn)
6725 Mon Sep 30 12:30:39 1991 Per Bothner (bothner at cygnus.com)
6727 * config/hmake-news: Add new file (for Sony NEWSOS3).
6728 * bucomm.c (fatal): Conditionally compile fatal() depending on
6729 MISSING_VFPRINTF, and don't confuse the issue with NO_VARARGS.
6730 * objdump.c (dump_headers): Trivial output format change.
6731 * objdump.c (display_info): Loop over integers, not enums,
6732 to appease old compilers.
6734 Mon May 20 16:14:07 1991 Steve Chamberlain (steve at cygint.cygnus.com)
6736 *objdump.c *nm.c *copy.c :hanged some types to work with 64 bit object files
6738 Thu May 16 16:06:55 1991 Steve Chamberlain (steve at cygint.cygnus.com)
6740 * objdump.c (print_address): Make disasembled output more
6741 consistent with gdb and as: Add 0x when printing hex.
6742 Don't print extra leading zeros.
6743 Attempt to not print "filename.o".
6744 * objdump.c: Add some enum-to-int casts to accomodate old compilers.
6747 Fri May 3 22:21:44 1991 John Gilmore (gnu at cygint.cygnus.com)
6749 * copy.c: Change =& constructs to = &, since they confuse older
6757 version-control: never