3 * objdump.c (struct objdump_disasm_info): Add field require_sec.
4 (objdump_print_address): If aux->require_sec, require that the
5 symbol be in aux->sec even if HAS_RELOC is not set. If we can't
6 find a smaller symbol in the right section, look for a larger one.
7 (disassemble_data): Set aux.require_sec around the
8 objdump_print_address call for the instruction address.
12 * ar.c: Call xexit rather than exit.
13 (output_filename, output_file, output_bfd): New static variables.
14 (remove_output): New static function.
15 (main): Call xatexit (remove_output). Call xexit rather than
17 (extract_file): Set output_filename and output_file while output
19 (write_archive): Likewise, but use output_bfd, not output_file.
20 * arsup.c: Include libiberty.h. Call xexit rather than exit.
23 * objdump.c (disassemble_all): New global variable.
24 (usage): Document --disassemble-all.
25 (long_options): Add disassemble-all as a synonym for -D.
26 (compare_symbols): Make pointers const.
27 (compare_relocs): New static function.
28 (disassemble_data): Rename disassemble to disassemble_fn to avoid
29 shadowing. If dump_reloc_info, print relocs along with
30 disassembly. Skip sections which are not SEC_CODE unless
31 disassemble_all or only is set.
32 (display_bfd): Don't call dump_relocs if disassemble is set.
33 (main): Accept and handle -D.
34 * binutils.texi: Document -D/--disassemble-all.
35 * objdump.1: Likewise.
39 * objdump.c (disassemble_data): Initialize prevline to 0. Make
40 prev_function non const. Copy functionname into an malloc buffer
41 when setting prev_function, instead of assuming that the string
44 * nm.c: Include libiberty.h.
45 (sort_by_size): New static variable.
46 (long_options): Add --size-sort.
47 (usage): Mention --size-sort.
48 (numeric_forward): Make static. Change from void * to PTR.
49 (numeric_reverse): Likewise.
50 (non_numeric_forward, non_numeric_reverse): Likewise.
51 (sorters): Change declaration from void * to PTR.
52 (size_forward, sort_symbol_by_size): New static functions.
53 (display_rel_file): Handle sort_by_size.
54 (filter_symbols): If sort_by_size, discard absolute and undefined
56 * binutils.texi (nm): Document --size-sort.
57 * nm.1: Document --size-sort.
61 * objcopy.c (copy_main): Initialize input_filename and
62 output_filename to NULL.
66 * Makefile.in (version.o): Depend upon Makefile, so that version.o
67 gets rebuilt when make variable VERSION is changed.
69 * objdump.c (dump_section_header): Print the SEC_NEVER_LOAD flag.
73 * configure.in: Change i[34]86 to i[345]86.
77 * ar.c (ranlib_touch): Don't update the archive map if there isn't
82 * ar.c: Include libiberty.h.
83 (inarch): Remove variable.
84 (map_over_members): Make static. Add arch argument, and use it
85 instead of inarch. Change all callers.
86 (main): Treat --version as -v. Accept -t argument. Accept any
87 number of archive arguments. Catch and use open_inarch return
88 value, rather than using inarch.
89 (open_inarch): Return newly opened BFD, rather than using inarch.
90 (do_quick_append): Make archive_filename const.
91 (write_archive): Add iarch argument, and use it instead of inarch.
93 (delete_members, move_members, replace_members): Likewise.
94 (ranlib_only): Don't exit on success. Catch and use open_inarch
96 (ranlib_touch): New function.
97 * arsup.h (map_over_members): Don't declare.
98 (ar_end, ar_extract): Declare.
99 (open_inarch): Change return value in declaration to bfd *.
100 * arsup.c (map_over_list): Make static. Always pass two arguments
101 to function. Add arch argument, and use it instead of inarch.
103 (ar_directory_doer): Make static. Add ignored second argument.
105 (ar_directory): Use open_inarch return value rather than inarch.
106 (ar_addlib_doer): Make static.
107 (ar_addlib): Use open_inarch return value rather than inarch.
108 (ar_extract): Remove unused local variable abfd.
112 Add support for removing named sections to objcopy and strip.
113 * objcopy.c (struct section_list): Define.
114 (remove_sections): New static variable.
115 (strip_options, copy_options): Add remove-section.
116 (copy_usage, strip_usage): Mention -R and --remove-section.
117 (setup_section): If section is in remove_sections list, ignore it.
118 (copy_section): Likewise.
119 (strip_main, copy_main): Handle -R.
120 * binutils.texi, objcopy.1, strip.1: Document new options.
124 * nlmconv.c (powerpc_mangle_relocs): Rename symvalue to sym_value,
125 so as not to conflict with the symvalue typedef in bfd.h.
129 * nlmheader.y: Per current NetWare docs, accept a revision number
130 of 0 and treat a revision number greater than 26 as 0.
134 * objdump.c (objdump_print_address): Correct handling of end of
135 symbols when looking for next symbol with a different value.
139 * nm.c (numeric_forward): Treat undefined symbols as "less than"
140 defined symbols with zero values. If numeric values are equal, or
141 both symbols are undefined, sort alphabetically. Don't assume
142 that the difference of two bfd_vma values will truncate to "int"
143 and still have the same sign.
144 (numeric_reverse): Call numeric_forward and negate the result.
145 (print_symbol_info_bsd): For undefined symbols, print leading
146 spaces equivalent to the width of a printed bfd_vma, rather than
147 assuming that 8 will look right.
151 * coffgrok.c (doit): Zero all fields of new structure.
152 * srconv.c (sysroff_swap_*_out): Remove redundant trailing arg.
153 * sysinfo.y: Generate sysroff_swap_*_out without requiring extra
158 * nlmheader.y: Make "stack" and "stacksize" synonyms in the lexer
159 rather than the parser.
163 * config/mh-alphaosf, config/mh-apollo68v, config/mh-delta88:
168 * objdump.c (slurp_dynamic_symtab): Try to get the dynamic symbols
169 even if the bfd is not marked DYNAMIC. ELF executables are not
170 marked DYNAMIC, but do have dynamic symbols.
174 * coffgrok.c (do_where): Make data with no type 'int'.
175 (do_define): Keep info on source file of a symbol.
176 * coffgrok.h (coff_symbol): New field.
177 * srconv.c (PROGRAM_VERSION): Now 1.3
178 (wr_rl): Use external ref number for symbol.
179 (wr_dus): Only keep one source file per debug unit.
180 (wr_dln): Always emit line numbers for first source file,
181 (wr_globals): Emit globals in the du of their owning source file.
185 * nlmheader.y: Null terminate var_hdr->threadName.
189 * Makefile.in (syslex.o, sysinfo.o): Permit C source files to be
190 in $(srcdir), as they will be for FSF releases.
194 * nlmconv.c (setup_sections): Preserve existing section flags when
195 copying in flags from a new section.
199 * objcopy.c: Include libiberty.h.
200 (copy_file): If output_target is NULL, set it to the target of the
205 * nlmconv.c (link_inputs): Fixed memory allocation bug.
209 * configure.in: Change --with-targets to --enable-targets.
213 * Makefile.in (sysinfo): Does not depend upon $(ADDL_LIBS).
215 * nlmconv.c (powerpc_build_stubs): Don't generate the PowerPC
216 NetWare custom header; no longer needed.
217 (powerpc_mangle_relocs): Convert relocs against the uninitialized
218 data section into relocs against the data section.
220 * configure.in: Set nlmconv_defs to -DNLMCONV_cputype for all the
221 netware targets. Write it into Makefile as NLMCONV_DEFS.
222 * Makefile.in (nlmconv.o): Pass $(NLMCONV_DEFS) to $(CC).
223 * nlmconv.c: Only compile code for specific CPU types if
224 NLMCONV_cputype is defined.
226 * nlmconv.c (main): Change uses of bfd_abs_section, etc., to use
227 bfd_abs_section_ptr or bfd_is_abs_section, etc.
228 (i386_mangle_relocs, alpha_mangle_relocs): Likewise.
229 (powerpc_build_stubs): Likewise.
230 * nm.c (filter_symbols, print_symbols): Likewise.
231 * objcopy.c (filter_symbols): Likewise.
232 (mark_symbols_used_in_relocations): Likewise.
233 * objdump.c (remove_useless_symbols, dump_relocs): Likewise.
234 * size.c (sysv_internal_printer): Likewise.
238 * Makefile.in (MANPAGES): Remove $(DEMANGLER_PROG).
239 (install): Install it explicitly, from build dir, not srcdir.
243 * objdump.c: Don't include elf/internal.h.
244 (bfd_elf_find_section): Don't declare.
245 (read_section_stabs): No special handling for ELF. Always read
250 * configure.in: Set UNDERSCORE in Makefile based on result of
251 invoking config.bfd with a second argument of ``_''.
252 * Makefile.in (underscore.c): Depend upon Makefile. Don't try to
253 run $(CC) and $(NM), just use $(UNDERSCORE). Create via temporary
255 (demangle.o): Remove target.
256 ($(NM_PROG)): Don't depend upon demangle.o, and don't link against
257 demangle.o. It's in libiberty anyhow.
258 (cplus-dem.o): Don't depend upon demangle.o.
259 * binutils.texi: Mention -n and --no-strip-underscores arguments
264 * nm.c (long_options): Add --no-demangle to turn off --demangle,
265 and --no-cplus for Linux compatibility.
266 (usage): Mention --no-demangle.
267 * binutils.texi: Document --no-demangle.
271 * nm.c: HOST_64_BIT was renamed to BFD_HOST_64_BIT.
273 * objcopy.c (copy_archive): Make the temporary directory in the
274 same directory as the output BFD, since we may not have write
275 permission on the current directory. Set the permissions of the
276 new directory to 0700, not 0777.
280 * configure.in: if this is an rs6000 (and we're not building for
281 any other bfd targets) then build only nm (collect needs it on
284 * Makefile.in: define TOOL_PROGS which the list of programes to
285 install in $tooldir -- replaces a hard-coded list.
289 * objdump.c (display_target_list): Remove unused local ok.
293 * config/mh-alphaosf (CFLAGS): Don't specify both -g and -O;
294 they're not compatible under native cc. Use -O1 instead.
296 * Makefile.in (VERSION): Updated to cygnus-2.4.1.
298 Changes from binutils-2.4 net release:
300 * Makefile.in (MANPAGES): Use $(DEMANGLER_PROG).
301 ($(DEMANGLER_PROG).1): Build from cxxfilt.man, using sed.
302 * cxxfilt.man: Renamed from c++filt.1, replaced "c++filt" with
303 magic token to be replaced by sed.
307 * configure.bat: update for latest makefile.in
311 * bucomm.c: Check ANSI_PROTOTYPES rather than __STDC__.
315 * objcopy.c (copy_section): Set section size correctly if using
320 * Makefile.in: Add rule for sysinfo.h
324 * Makefile.in (SRCONV_PROG): Define.
325 (PROGS): Use $(SRCONV_PROG) too.
329 * Makefile.in (DISTSTUFF): Add sysinfo.c, syslex.c, in case
330 someone configures with `targets=all'.
331 (distclean): Remove y.*.
332 (syslex.o): Depend on sysinfo.h.
333 (sysinfo.c): Rename y.tab.h to sysinfo.h.
334 (install-info): Don't try to install into $(infodir)/$(srcdir).
335 * syslex.l: Include sysinfo.h, not y.tab.h.
339 * syslex.l (yywrap): Define as function if not defined as a macro.
341 * Makefile.in (objdump.o): Deleted special rule.
342 * configure.in: Don't bother building ARCHDEFS variable for
344 * objdump.c (ARCH_*): Deleted handling.
345 (disassemble_data): Call `disassembler' from opcodes library.
349 * Makefile.in (install): Correct handling of $(tooldir) and
350 $(bindir) being on different devices.
354 * sysdump.c (h8300, sh): Add declarations.
358 * Makefile.in (syslex, sysinfo): Use CC_FOR_BUILD.
359 * coffdump.c, coffgroc.c, coffgrog.h, srconv.c, sysdump.c,
360 sysroff.info: Major changes.
364 * objdump.c (print_section_stabs): Indicate the stab header symbol
365 more clearly, print numbers of unrecognized stab n_type values.
369 * nlmconv.c (copy_sections): Copy arelent pointers, not arelents.
373 * Makefile.in (distclean): Remove $(PROGS) and underscore.c.
377 * nlmconv.c (setup_sections): Remove special handling of .reginfo
379 (copy_sections): Likewise.
380 (alpha_mangle_relocs): Use bfd_ecoff_get_gp_value rather than the
381 special ECOFF .reginfo section.
383 * objcopy.c (copy_object): Call bfd_copy_private_bfd_data after
384 copying everything else, to let it fiddle with the file in its
387 * objdump.c: Include libiberty.h.
388 (display_target_list): If a format fails, just go on to the next
389 one. Check return value of bfd_set_format.
390 (display_info_table): Likewise. Don't increment loop variable in
391 for loop test, since that skips the first element.
392 (display_target_tables): Rewrite loop for clarity. Ensure that it
393 always prints at least one element.
395 * nlmconv.c (main): Use CyGnUsEx rather than CyGnUsSeCs for
396 sections header. Rename from cygnus_sections to cygnus_ext.
400 * objdump.c (_DUMMY_NAME_): Don't define.
401 (display_target_list): Use tmpnam to get a file name rather than
402 using _DUMMY_NAME_. Unlink it when done.
403 (display_info_table): Likewise.
405 * nlmconv.c (secsec): New static variable.
406 (main): Create .nlmsections section in output BFD. Store
407 information about it in sections header.
408 (setup_sections): Allocate space in sections header.
409 (copy_sections): Copy zero sized sections. Put information about
410 each section in the sections header.
414 * nlmconv.c (powerpc_build_stubs): Take new outbfd argument.
415 Change caller. Create custom header for new PowerPC NetWare
418 * Makefile.in (nlmheader.o, nlmconv.o): Update dependencies.
419 * nlmconv.c: Include bfd.h and libiberty.h with "", not <>.
420 * nlmheader.y: Include bfd.h with "", not <>.
424 * objdump.c: Do an ifdef on __GO32__, not unix.
428 Added -D (--dynamic) option to nm and -T (--dynamic-syms) and -R
429 (--dynamic-reloc) arguments to objdump.
430 * nm.c (dynamic): New static variable.
431 (long_options): Added "dynamic".
432 (usage): Mention -D and --dynamic.
433 (main): Add D to getopt string. Handle -D by setting dynamic.
434 (display_rel_file): If dynamic is non-zero, read dynamic symbols
435 rather than normal symbols.
436 * nm.1: Updated for -D (--dynamic) option.
437 * objdump.c (dump_dynamic_symtab): New global variable.
438 (dump_dynamic_reloc_info): New global variable.
439 (dynsyms, dynsymcount): New global variables.
440 (usage): Mention -R, -T, --dynamic-syms and --dynamic-reloc.
441 (long_options): Added "dynamic-reloc" and "dynamic-syms".
442 (slurp_symtab): If no symbols, return rather than exit.
443 (slurp_dynamic_symtab): New function.
444 (display_bfd): Handle dump_dynamic_symtab and
445 dump_dynamic_reloc_info.
446 (dump_symbols): Take new dynamic argument, indicating whether to
447 display dynamic symbols.
448 (dump_relocs): Move most printing into dump_reloc_set.
449 (dump_dynamic_relocs): New function.
450 (dump_reloc_set): New function, extracted from dump_relocs.
451 (main): Add R and T to getopt string. Handle -T by setting
452 dump_dynamic_symtab and -R by setting dump_dynamic_reloc_info.
453 * objdump.1: Updated for -R (--dynamic-reloc) and -T
454 (--dynamic-syms) options.
455 * binutils.texi: Updated for new nm and objdump options.
459 Update for recent BFD changes to symbol and reloc reading. Rename
460 all uses of get_symtab_upper_bound to bfd_get_symtab_upper_bound.
462 * coffgrok.c (symcount): Change to long.
463 (do_sections_p1): Check for error return from
464 bfd_get_reloc_upper_bound. Change relcount to long, and check for
465 error from bfd_canonicalize_reloc.
466 (coff_grok): Change storage to long. Check for error from
467 bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
468 * nlmconv.c (main): Change symcount, newsymalloc, newsymcount, and
469 i to long. Check for error from bfd_get_symtab_upper_bound and
470 bfd_canonicalize_symtab.
471 (copy_sections): Change reloc_size and reloc_count to long. Check
472 for error from bfd_get_reloc_upper_bound and
473 bfd_canonicalize_reloc.
474 (mangle_relocs, i386_mangle_relocs, alpha_mangle_relocs): Change
475 reloc_count_ptr argument to long *. Make corresponding changes to
476 variables loaded from *reloc_count_ptr.
477 * nm.c (display_rel_file): Change storage and symcount to long.
478 Check for errors from bfd_get_symtab_upper_bound and
479 bfd_canonicalize_symtab.
480 * objcopy.c (filter_symbols): Change symcount, src_count and
482 (copy_object): Change symcount to long. Pass another argument to
483 fprintf. Check for errors from bfd_get_symtab_upper_bound and
484 bfd_canonicalize_symtab.
485 (copy_section): Change relcount to long. Check for errors from
486 bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
487 (mark_symbols_used_in_relocations): Change relcount and i to long.
488 Check for errors form bfd_get_reloc_upper_bound and
489 bfd_canonicalize_reloc.
490 * objdump.c (storage): Remove global variable.
491 (symcount): Changed to long.
492 (slurp_symtab): New local variable storage. Check for errors from
493 bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
494 (remove_useless_symbols): Change return value and count to long.
495 (objdump_print_address): Change min, max, thisplace and i to long.
496 (disassemble_data): Change i to long.
497 (dump_symbols): Change count to long.
498 (dump_relocs): Change relcount to long. Check for errors from
499 bfd_ret_reloc_upper_bound and bfd_canonicalize_reloc.
500 (display_info_table): Add casts when passing LONGEST_ARCH for
505 * nm.c (display_archive): Close each archive element after it has
507 * objdump.c (display_file): Likewise.
511 * configure.in: Change error message to refer to bfd/config.bfd
512 rather than bfd/configure.in.
516 * More fixes for object formats which allow multiple sections
518 * objcopy.c (setup_section): Make a new output section even if
519 one already exists with the given name.
520 (copy_section): Use isection->output_section rather than trying
521 to look the output section up by its (possibly non-unique) name.
523 * Makefile.in (install-info): Look for binutils.info in the
524 current directory, then in $(srcdir). Don't use $<.
528 * objdump.c (objdump_print_address): Make static. Declare with
529 prototype. Change vardiff from int to bfd_signed_vma. Correct
530 binary search termination condition. When looking for same
531 section symbol in relocatable file, handle final symbol correctly.
535 * Makefile.in: Avoid bug in hpux sed.
537 * objcopy.c: Changes to keep it from stripping symbols used
538 in output relocations.
539 (mark_symbols_used_in_relocations): New function. Mark symbols
540 used in output relocations with BSF_KEEP.
541 (filter_symbols): Do not strip symbols marked with BSF_KEEP.
542 (copy_object): Reorder actions. First setup sections, then
543 build the output symbol table, then copy the section contents.
547 * ar.c (write_archive): Allocate space for the null byte. From
552 * Makefile.in: Built nm.new and strip.new to avoid problems with
553 collect when . is in PATH.
554 (STRIP_PROG): Change from strip to strip.new.
555 (NM_PROG): Change from nm to nm.new.
556 (install): Remove the .new when installing.
560 * nlmconv.c (powerpc_build_stubs): Set BSF_DYNAMIC flag for each
561 symbol for which we build a stub.
562 (powerpc_mangle_relocs): Only reset TOC pointer for a call to a
563 symbol with BSF_DYNAMIC flag set.
567 * objcopy.c (filter_symbols): Use bfd_is_local_label to determine
568 if a symbol represents a compiler-generated local label.
569 (copy_object): Give the BFD backends a chance to copy any private
570 bfd data from the input BFD to the output BFD.
571 (setup_section): Give the BFD backends a chance to copy any private
572 section data from the input section to the output section.
576 * objcopy.c (mangle_section): Delete unused function.
577 (setup_section): Set osection here instead of calling
578 mangle section to do it.
582 * ar.c (write_archive): Close inarch before unlinking it.
586 * nlmconv.c (main): For PowerPC, call powerpc_build_stubs and
587 powerpc_resolve_stubs. Use __GOT0, not __toc_start. Handle it if
588 the start and end symbols are not in the text section.
589 (struct powerpc_stub): New struct definition.
590 (powerpc_stubs, powerpc_stub_insns): New static variables.
591 (powerpc_initial_got_size): New static variable.
592 (powerpc_build_stubs): New function.
593 (powerpc_resolve_stubs): New function.
594 (powerpc_mangle_relocs): Clear extraneous data in .got section.
595 Rearrange reloc handling to handle ELF relocs that are not
596 partial_inplace. Resolve PC relative relocs.
600 * ar.c (move_members): Fix it so that the abi positional modifiers
601 don't delete all archive members following the insert point.
605 * coffgrok.[ch]: New files, understand coff objects.
606 * coffdump.c: Uses coffgrok to dump out the debug info of a coff
608 * sysroff.info: Description of a SYSROFF object file.
609 * sysinfo.y, syslex.l: Parse info file, generate a reader, writer,
610 header files and a printer.
611 * srconv.c: Uses coffgrok.c and sysroff.info to convert a coff
612 file to a SYSROFF file.
616 * ar.c (do_quick_append): Pad with a genuine character 10,
617 rather than whatever '\n' might happen to be.
621 * nlmconv.c (main): Ignore debugging symbols when looking for
622 special symbols by name.
626 * nlmconv.c: Include libiberty.h.
628 Support for PowerPC NetWare.
629 * nlmconv.c (main): For PowerPC NetWare, automatically define the
630 special symbols __toc_start.
631 (select_output_format): Handle bfd_arch_powerpc.
632 (mangle_relocs): Likewise.
633 (powerpc_mangle_relocs): New function.
637 * ar.c, bucomm.c, nlmconv.c, nm.c, objcopy.c, objdump.c,
638 size.c: Use bfd_get_error and bfd_set_error and new error names.
642 * objcopy.c (strip_main, copy_main): Add missing 'break' in switch.
646 * objdump.c (disassemble_data): Handle bfd_arch_powerpc.
650 * strings.c objdump.c nlmconv.c objcopy.c nm.c ar.c size.c (main):
651 Call xmalloc_set_program_name.
655 * objcopy.c (filter_bytes): Make MEMHUNK a char *, not PTR, so we
656 can do arithmetic on it.
660 * objdump.c (dump_section_stabs, read_section_stabs,
661 print_section_stabs): Functions broken out of dump_stabs_1.
662 Free the stabs and strings when done with them.
666 * nlmconv.c (main): Use bfd_get_flavour instead of struct member.
667 * ar.c (print_contents, extract_file), size.c
668 (print_berkeley_format, print_sysv_format): Use bfd_get_filename and
669 bfd_my_archive instead of dereferencing the structs directly.
671 * ar.c: Use bfd_fatal and bfd_nonfatal instead of bfd_perror and exit.
672 Indent. Remove DEFUNs.
674 * nlmconv.c (main), objcopy.c (copy_file): Print matching formats
676 * nm.c (display_file, display_archive), size.c (display_bfd):
678 Print matching formats if there is an ambiguous match. Use
679 bfd_nonfatal instead of hardcoded error message if nothing matches.
681 * arsup.c, ar.c, objdump.c: Use bfd_get_filename instead of
684 * nm.c (display_archive): New function, from code in display_file.
685 (display_rel_file): Renamed from do_one_rel_file.
688 (display_archive): New function from code in display_file.
689 (display_file): Check bfd_close error return.
691 * strings.c (strings_object_file): Check bfd_check_format
694 * strings.c, objdump.c, size.c: Use bfd_nonfatal instead of bfd_perror.
696 * bucomm.c: Delete references to exit_handler. It wasn't set
697 anywhere, and now that we're using the libiberty xmalloc, it
698 wouldn't always get called before exiting.
699 (list_matching_formats): Function moved from objdump.c.
700 * bucomm.h: Declare it.
702 * objdump.c (disassemble_data): Move some variable decls closer to
703 their use. Add some comments. Replace a nested block with a
708 * objdump.c (display_target_list, display_info_table): Check that
709 the bfd of the dummy output file is not null.
713 * objcopy.c (filter_bytes): New function.
714 (copy_section): Call it.
715 (copy_options, copy_usage, copy_main): Add --byte option to
716 activate it. Appropriate the -b option (which was an undocumented
717 synonym for -F) for it, also. Add --interleave, -i option for
719 (setup_section, copy_section, mangle_section): Renamed with no `s'
721 * objcopy.1, binutils.texi: Document the new options.
723 * objdump.c (display_target_tables, display_target_list):
724 New functions broken out of display_info.
725 Eliminate some magic constants. Use more meaningful variable names.
726 (dump_bfd_header): New function broken out of display_bfd.
727 (dump_section_header): New function broken out of dump_headers.
728 (remove_useless_symbols): Don't shadow global variable name with
730 (objdump_print_address): Fix backward test.
734 * bucomm.c (print_arelt_descr): Change decl of `when' to time_t.
735 * objdump.h: Removed.
739 * objdump.c (display_file): Remove call to list_matching_formats.
740 It would never be called.
741 (list_matching_formats): Take an arg giving the list of matching
743 (display_bfd): Pass the arg, and get it filled in by calling
744 bfd_check_format_matches instead of bfd_check_format.
745 (display_info, display_info_table): target_vector was renamed to
748 * binutils.texi (objdump): Note some limitations of -h section
753 * Makefile.in (MALLOC): Set to emptiness by default.
754 (ALL_CFLAGS): Add and use.
755 (arparse.h): Make it depend on arparse.y.
756 * ar.c (libbfd.h): Don't require to be in ../bfd.
757 * objdump.c (comp): Rename to compare_symbols.
761 * objdump.c (list_matching_formats): If the file format is ambiguous,
762 print the matching names so the user can choose one.
763 (display_bfd): Call it.
764 (display_file): Call it.
768 * objdump.c (disassemble_data): Support bfd_arch_rs6000.
772 * objdump.c (stab_name): Allocate dynamically.
773 (stab_print): Use pointers to strings instead of char arrays.
774 (dump_stabs): Change alloc and init of arrays appropriately.
775 (dump_stabs_1): Always decide whether to print stab_name or
776 the stab's type number, if unnamed.
780 * objcopy.c (strip_main, copy_main): Don't clobber the input file
783 * nlmconv.c (main): Warn about an attempt to use a shared library
784 with uninitialized data.
786 * nlmconv.c (setup_sections): Make sure that we align the
787 output_offset of each input section appropriately.
791 * objdump.c (dump_relocs): Don't crash if section name is NULL.
795 * filemode.c (filemodestring): Commented out; not used.
796 (mode_string): Use POSIX definitions.
797 (ftypelet): Likewise.
798 (rwx): Removed; no longer used.
799 * bucomm.c: Include bucomm.h.
800 (bfd_nonfatal, bfd_fatal): Argument is const.
801 (fatal): Make __STDC__ version.
802 * bucomm.h (mode_string): Declare.
803 * Makefile.in (bucomm.o): Depend upon bucomm.h
807 * bucomm.c (xmalloc, xrealloc): Deleted.
808 * bucomm.h (xmalloc, xrealloc): Fix prototypes, to correspond to
809 libiberty version of functions.
813 * binutils.texi: Add a chapter summarizing the ways to select
814 aspects of the target for each program.
816 * objdump.c (long_options, usage): Add long equivalents for all
817 remaining short options that lacked them.
818 * binutils.texi objdump.1: Document them.
820 * size.c (usage): Tweak usage message.
821 * size.1: Add missing `=' in examples.
823 * binutils.texi strip.1 objcopy.1 nlmconv.1 objcopy.c nlmconv.c:
824 Use "--target=bfdname" as the option to select the BFD target,
825 like nm and size already do.
826 Reserve "--format=format" for textual output selection options, but
827 for now keep old option names as obsolete for backward compatibility.
829 * strings.c (main, strings_object_file, usage): Add --target option.
830 * binutils.texi strings.1: Document it.
834 * ar.c (main): Add \n in error message.
839 * ar.c (main): Put parens around assignment used as truth value.
840 * objcopy.c (strip_main): Remove unused variables. Return 0.
841 (copy_main): Remove unused variables. Return 0.
842 * objdump.c (display_bfd): Declare return value as void.
843 (stab_print): Use "" instead of 0 to initialize array.
844 (dump_stabs_1): Print vma using printf_vma.
845 (display_info): Put parens around assignment used as truth value.
846 * strings.c (print_strings): Cast printf arguments.
848 * objcopy.c (copy_main): Use copy_options, not strip_options.
850 * nlmheader.y (command): Warn about illegal date values.
854 * bucomm.c bucomm.h: Run through indent. De-ansidecl-ify.
855 (bfd_nonfatal): New function.
856 (bfd_fatal): Call it.
858 * objcopy.c (smart_rename): Do a copy if the dest file has
859 multiple hard links. Remove source file on successful copy.
860 Try to preserve mode and owner on successful rename.
862 * objcopy.c: Run through indent. Clean up a bit.
863 Make global variables static.
864 Make {input,output}_{target,filename}, show_version local
865 to various functions.
866 New global variable `status' for exit status.
867 (strip_main, copy_main): New functions with code from main.
868 (nonfatal): New macro. Use it globally instead of bfd_perror and
871 (copy_object): Call mangle_sections with bfd_map_over_sections.
872 (mangle_sections): Adjust for new calling convention.
876 * nlmheader.y (command): Accept MAP and FULLMAP without arguments.
877 * nlmconv.c (main): Change error message for MAP and FULLMAP.
881 * nlmconv.c (main): Warn about imported symbols that are not in
882 the IMPORT list even if the IMPORT keyword is not used.
884 * nlmconv.c (debug, unlink_on_exit): New static variables.
885 (long_options): Add "debug" and "linker".
886 (main): Handle -d and -l arguments. Make command line input and
887 output files optional. Parse the command file before opening the
888 BFD's, which requires storing more information in local variables.
889 If INPUT names multiple files, link them together. Use OUTPUT for
890 the output file name if not named on command line.
891 (show_usage): Changed for new options.
892 (link_inputs): New function to automatically invoke linker to
893 handle multiple INPUT files.
894 (choose_temp_base_try, choose_temp_base, pexecute): New functions,
895 mostly copied from gcc/gcc.c.
896 * nlmconv.h (input_files, output_file): Declare.
897 * nlmheader.y (input_files, output_file): Define.
898 (command): Support INPUT with a string_list argument. Support
900 (string_list): Renamed from module_list.
901 * Makefile.in (nlmconv.o): Define LD_NAME based on
902 program_transform_name.
906 * nlmheader.y (nlmheader_identify): New function. Use it to print
907 the program name just once, instead of with every error message.
911 * nlmconv.c (long_options): Changed --header-info to --header-file
912 to match documentation and usage message.
916 * objdump.c (dump_relocs): Avoid dereferencing a NULL sym_ptr_ptr
921 * nlmconv.c (main): Change various types from bfd_size_type to
922 size_t, since they have to be arguments to fread and fwrite.
923 Change set from char * to unsigned char *.
924 (select_output_format): Make mach argument unsigned. Handle
926 (setup_sections): Don't copy the .reginfo section of an ECOFF
927 file. Call bfd_set_reloc to initialize the relocation fields.
928 (copy_sections): Don't copy the .reginfo section of an ECOFF file.
929 Combine all relocs for a section.
930 (mangle_relocs): Change type of relocs to permit specific
931 functions to change it. Call alpha_mangle_relocs for alpha,
932 default_mangle_relocs for other architectures.
933 (default_mangle_relocs): New function. Adjust the address of all
934 relocs by the output_offset.
935 (i386_mangle_relocs): Change type of relocs argument. Cast length
936 argument to memmove to size_t.
937 (alpha_mangle_relocs): New function.
941 * nlmconv.c (select_output_format): Use nlm32-sparc for
946 * nlmconv.1: added man page
947 * objcopy.1: fixed format errors
951 * Makefile.in: Use CFLAGS as well as LDFLAGS when linking.
955 * strings.1: Fix typo.
959 * Makefile.in (DISTSTUFF): Build "info".
960 (VERSION): Updated to cygnus-2.3.1; 2.3 has gone out.
964 * objdump.c (dump_stabs): Handle stabs-in-som as implemented
965 by the new BFD SOM assembler.
969 * ar.1 c++filt.1 nm.1 objcopy.1 objdump.1 ranlib.1 size.1
970 strings.1 strip.1: Replace \(em in NAME section with \- so
971 makewhatis can grok it.
975 * nlmconv.c (i386_mangle_relocs): Adjust reloc address by
976 section output_offset.
980 * binutils.texi: added nlmconv chapter
984 * Makefile.in: Change RUNTESTFLAGS to RUNTEST_FLAGS
988 * Makefile.in (distclean): Don't get rid of dvi or info files.
992 * objcopy.c (S_ISLNK): Define as 0 if there's no S_IFLNK.
996 * binutils.texi: Move objcopy docs into alphabetical order.
998 * objdump.c: Use xmalloc instead of malloc.
1002 * objdump.c (info): Rename to formats_info.
1003 (dump_stabs_1): Better comments and formatting.
1007 * ar.c (main): Always create the archive when quick appending,
1008 even if no input files have been given.
1012 * nlmconv.c (main): Set sharedDebugRecordOffset and
1013 sharedDebugRecordCount fields in extended header.
1015 * nlmconv.c (main): Force moduleName field to upper case.
1019 * objcopy.c (main): Give a usage message if there are too many
1024 * Makefile.in (install-info): Rewrite to take advantage of VPATH,
1025 so FSF distributions (with info files in $(srcdir)) install
1027 (DISTSTUFF): Build nlmheader.c too.
1031 * ar.c (program_name): Don't define here.
1032 * objdump.c: Include "bucomm.h".
1033 (xmalloc): Don't declare here.
1034 (program_name): Don't define here.
1035 (program_version): Fixed type in declaration.
1036 * size.c: Include "bucomm.h".
1037 (program_name): Don't declare here.
1041 * objdump.c (fprintf): hide declaration in FPRINTF_ALREADY_DECLARED
1045 * nlmconv.c (i386_mangle_relocs): Resolve and remove PC relative
1046 relocs against defined symbols in the same section.
1050 * Makefile.in (binutils.dvi): use TEXIDIR to find texinfo.tex
1054 * objcopy.c (simple_copy, smart_rename): New functions.
1059 * Makefile.in (clean, distclean): Recurse into testsuite.
1063 * objcopy.c (setup_sections, copy_sections): If stripping, don't
1064 copy SEC_DEBUGGING sections.
1065 * objdump.c (dump_headers): Print SEC_DEBUGGING flag.
1067 * objdump.c (usage): Mention --stabs.
1069 * objcopy.c (copy_object): Copy all applicable file flags.
1070 (copy_file): Don't copy EXEC_P specially here.
1074 * nlmconv.c (main): Adjust data section size to correspond to bss
1075 alignment adjustment. Clear BSF_SECTION_SYM if symbol is moved to
1076 a different section. Use time_t for time variable.
1077 (setup_sections): Only put sections with contents in output NLM.
1078 (i386_mangle_relocs): No symbols are common at this point. Add
1079 casts to avoid warnings.
1083 * objdump.c: Made the --stabs option work for stabs-in-coff.
1084 (ELF_STAB_DISPLAY): Removed.
1085 (dump_elf_stabs): Renamed to dump_stabs, changed to run for
1086 any object file format.
1087 (dump_elf_stabs_1): Renamed to dump_stabs_1, added calls to
1088 generic BFD routines for non-ELF case, changed format of message
1089 for no-section-found case.
1090 (display_bfd): Always call dump_stabs if requested.
1091 (dump_data): Call bfd_section_size to get section size.
1095 * Makefile.in (install): Don't put strings in tooldir/bin.
1099 * nlmconv.c (total_bss_size): Removed.
1100 (main): Set the bss vma to always follow the data section. Move
1101 symbols into new sections, and adjust values by output_offset.
1102 (setup_sections): Don't copy all sections, but instead point all
1103 text sections to .text, all data sections to .data, and all bss
1105 (copy_sections): Adjust accordingly.
1109 Only build nlmconv if configured for a NetWare target.
1110 * configure.in: If we have some *-*-netware* target, or are using
1111 all targets, set BUILD_NLMCONV to $(NLMCONV_PROG) in Makefile.
1112 * Makefile.in (PROGS): Use $(BUILD_NLMCONV) rather than
1117 * objdump.c (ARCH_all): Define ARCH_hppa too.
1118 (dump_headers): Don't test for SEC_BALIGN if it's not defined by
1123 * nlmconv.c (main): Force creation of .bss section. Set up the
1124 sections before looking at the symbols. Move all common symbols
1125 into .bss section. Automatically define _edata and _end. Only
1126 export symbols in the export list, with multiple prefixes if
1127 necessary. Warn if no version. Always create extended header.
1128 Set date automatically if not already set.
1129 (setup_sections): Count size of bss sections.
1130 (mangle_relocs, i386_mangle_relocs): Accept section argument, and
1131 take reloc_count as a changeable pointer; changed callers.
1132 (i386_mangle_relocs): Remove PC relative relocs within a section,
1133 as they require no adjustment.
1134 * nlmheader.y: Fixed memory allocation throughout: token STRING is
1135 now allocated on the heap, and freed if not needed. Null
1136 terminated copyright message. Accept version with only two
1138 (symbol_list_opt): New nonterminal, either symbol_list or empty.
1139 (symbol_list): Use left recursion to avoid overflowing parser
1141 (yylex): Rearranged beginning of line check. Accept quoted
1142 strings using single quotes. End generic argument at comment
1143 character or parentheses.
1144 (string_list_append): Fixed.
1145 (string_list_append1): New function.
1147 * bucomm.h: The first argument to xrealloc is PTR, not char *.
1148 * bucomm.c (xrealloc): Use PTR rather than char *.
1149 * Makefile.in (objdump.o): Depend upon config.status to notice
1150 --with-targets changes.
1151 (nlmconv.o): Depend upon bucomm.h.
1155 * configure.in: Don't pass cpu to config.bfd.
1159 * Makefile.in ($(NM_PROG)): Depend on demangle.o.
1160 (demangle.o): New target.
1161 (cplus-dem.o): Depend on it, to force compilation order when doing
1164 * nm.c (print_symbol_info_{bsd,sysv,posix}): Take a bfd arg.
1165 (struct output_fns print_symbol_info): Ditto.
1166 (long_options, usage, main): Add -C --demangle option.
1167 (print_symname): New function, demangling if requested.
1168 (print_symbols, print_symbol_info_{bsd,sysv,posix}): Use it.
1172 * Makefile.in: Put CFLAGS last in compilation rules and omit from
1173 linking rules. Use ARCHDEFS to compile objdump.c.
1174 Update dependencies.
1175 * configure.in: Construct ARCHDEFS based on the BFD target makefile
1177 * objdump.c: Conditionalize calls to the print_insn_ARCH functions
1178 according to ARCHDEFS.
1182 * ar.c: Removed obsolete and non-functional GNU960 code.
1186 * size.c (berkeley_sum): New function.
1187 (bsssize, datasize, textsize): New global variables.
1188 (bss_section_name, data_section_name, text_section_name): Removed.
1189 (print_berkeley_format): Map berkeley_sum over all the sections,
1190 rather than only reporting sizes of specifically named sections.
1191 * Makefile.in ($(OBJDUMP_PROG)): Removed dependency on size.o.
1195 * nlmconv.c, nlmconv.h, nlmheader.y: New files for program to
1196 convert object files into NetWare Loadable Modules.
1197 * Makefile.in (NLMCONV_PROG): New macro, define to be nlmconv.
1198 (PROGS): Add NLMCONV_PROG.
1199 (nlmheader.c, nlmheader.o, nlmconv.o, $(NLMCONV_PROG)): New
1204 * Makefile.in: define MAKEOVERRIDES to an empty string
1208 * objcopy.c (copy_file): Make failures to process a file nonfatal.
1212 * nm.c: Add -B option, like --format=bsd.
1216 * objcopy.c (copy_file): If the file is neither an object nor an
1217 archive, give an error rather than returning success.
1221 * objdump.c (objdump_print_address): Prefer non-local symbols over
1222 local ones, and especially discriminate against debugging symbols.
1223 Also, for relocateable files, try to find a symbol in the current
1224 section, instead of picking one from some random section with a
1225 convenient value (read, section offset).
1226 (disassemble_data): Cast argument to malloc to size_t first.
1227 (dump_data): Likewise.
1228 (dump_relocs): If a single section name is specified, show relocs
1229 only for that section. Otherwise, silently omit sections without
1230 relocs. Format table nicely even if values are printed using 16
1231 digits instead of 8.
1235 * nm.c: Changes for final version of POSIX.2.
1236 (print_symbol_filename_{bsd,sysv,posix}): New functions.
1237 (formats): Add an element for a pointer to them.
1238 (print_symbols): Call it.
1239 (print_object_filename_posix, print_archive_member_posix): Produce
1240 output according to new POSIX.2 spec.
1242 * strings.c (print_strings): Handle STREAM being NULL.
1243 (strings_a_section): Pass a NULL.
1244 (main): Don't open /dev/null.
1248 * objdump.c (disassemble_data): Handle the m88k.
1249 (display_bfd): Use bfd_errmsg, rather than just claiming that the
1250 bfd is not an object file.
1254 * Makefile.in (TAGS): make work again by naming directories
1255 explicitly rather than depending on undefined macros.
1256 (INSTALL_XFORM): correct bad install target.
1260 * strings.c: Doc fixes.
1264 * Makefile.in: Note dependencies on bucomm.h.
1265 (cplus-dem.o): Link c++filt with version.o.
1267 * strings.c: Include bucomm.h and add prototypes to other decls.
1270 * bucomm.h: Declare xrealloc.
1272 * nm.c, objcopy.c, objdump.c, size.c, strings.c (main, usage): Add
1273 --help option. Put "GNU" in the version message.
1274 (usage): Take stream and exit status as args.
1275 (main): Pass new args to usage.
1279 * strings.c, strings.1: New files.
1280 * binutils.texi: Document strings.
1281 * Makefile.in: Add rules for it.
1285 * objdump.c: Use size-independent bfd elf section names.
1289 * objdump.c (objdump_print_address): Handle wide offsets by
1290 calling sprintf_vma.
1294 * objdump.c (syms2): Removed unused variable.
1295 * objdump.c (remove_useless_symbols): New function.
1296 * objdump.c (comp): Simplify.
1297 * objdump.c (dis-assemble_data): Make simpler and more
1298 efficient how we filter out useless symbols: Just filter
1299 BEFORE the sort (using remove_useless_symbols).
1300 * objdump.c (objdump_print_address): Simplify.
1301 Change output syntax to match gdb.
1305 * Makefile.in: canonicalize install.sh; for use within
1306 this directory (and subdirs)
1308 Mon Jun 14 12:13:22 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
1310 * Makefile.in (install, install-info): remove parentdir support,
1311 use INSTALL_XFORM; define INSTALL_XFORM
1315 * objcopy.c (copy_object): Fix bad size passed to xmalloc().
1319 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
1320 * configure.in: No longer need to configure to get sysdep.h.
1321 * objcopy.c (copy_object): Fix symbol table handling.
1325 * objcopy.c (filter_symbols): Cannot filter the symbols
1326 in place, because that confuses the relocs, so take separate
1327 parameter for output array.
1328 * objcopy.c (sympp): Make two variables: isympp and osympp.
1329 * objcopy.c (copy_object): Allocate separate array (osympp)
1330 for filtered symbols.
1332 Fri Jun 4 10:51:44 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1334 * Makefile.in: change recursion test to presence of a configured
1339 * Makefile.in (underscore.c): Hack the backquoted command so it
1340 doesn't cause Solaris make to bomb.
1344 * Makefile.in: added c++filt and objcopy to MANPAGES variable
1345 * .Sanitize: keep c++filt.1 and objcopy.1
1347 Thu Jun 3 00:32:52 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1349 * Makefile.in: rename LOADLIBES to EXTRALIBS
1353 * c++filt.1, objcopy.1: new man pages
1357 * Makefile.in (install): Also install ar and ranlib in
1358 $(tooldir)/bin; needed for building libgcc.a.
1359 * objdump.c (objdump_print_address): Fix the check
1360 "coincidental" label matches by dis-allowing undefined
1365 * biutils.texi: revised c++filt chapter
1369 * Makefile.in (FLAGS_TO_PASS): Pass down CC and CFLAGS.
1373 * objdump.c (slurp_symtab): Print warning for bad symbol table.
1374 (bfd_elf32_find_section, Elf32_Internal_Shdr): Updated
1375 declarations and uses.
1377 * Makefile.in (DISTSTUFF): Don't build binutils.mm.
1381 * nm.c: Add -f/--format, -P/--portability, -t/--radix options.
1382 Make global variables static.
1383 (main): Make -v like -n, not -V, and make -A like -o, for POSIX.2.
1384 (set_print_radix, set_output_format,
1385 print_{object_filename,archive_filename,archive_member,symbol_info}
1386 {bsd,sysv,posix}): New functions.
1387 (display_file, print_symbols): Call them.
1389 * ar.c: Improve error messages.
1391 * nm.c (main): Handle long options that just set a flag.
1393 * nm.c (main), ar.c (do_show_version), objcopy.c (main), size.c
1394 (main): Exit after printing the version number, per the GNU coding
1399 * README, Makefile.in: Minor updates for 2.2.
1403 * Makefile.in (underscore.c): Automatically generate
1404 (using nm) a file with the variable prepends_underscore.
1405 * Makefile.in (c++filt): Link underscore.o with cplus-dem.o
1406 so that initial underscores get removed iff appropriate.
1407 * binutils.texi: Preliminary documentation for c++filt.
1408 * Makefile.in, binutils.texi: Set to version 2.2.
1410 * NEWS: Mention copy->objcopy renaming and new c++filt program.
1414 * Makefile.in (cplus-dem.o, $(DEMANGLER_PROG)): Build the
1415 demangler via cplus-dem.o, rather than directly from the .c file.
1417 * objcopy.c: Renamed from copy.c, updated comments accordingly.
1418 * Makefile.in, binutils.texi: Renamed copy to objcopy.
1419 * is-strip.c, maybe-strip.c, not-strip.c: Updated comments for
1420 rename of copy to objcopy.
1424 * binutils.texi (strip, -v option): Fix typo.
1428 * Makefile.in (RUNTEST): Define.
1429 (FLAGS_TO_PASS): Pass down RUNTEST.
1433 * Makefile.in (DEMANGLER_PROG): Name it c++filt.
1434 (PROG): Also build and install COPY_PROG.
1438 * Makefile.in: Change definition of $(tooldir) to match FSF.
1442 * size.c (usage): Add missing options.
1443 (main): Clean up option parser.
1445 * objdump.c (usage): Add missing options.
1446 (display_file): Print program name before calling
1449 * nm.c (usage): Add missing options.
1450 (main): Clean up option parser.
1451 (display_file): Print program name before calling
1454 * copy.c (copy_usage, strip_usage): Add missing options.
1456 * ar.c (usage): New function.
1458 (open_inarch, do_quick_append): Print program name before calling
1463 * nm.c (main): Accept and ignore -A and -B for MIPS compatibility.
1467 * Makefile.in: Added FLAGS_TO_PASS so tests get run on freshly
1468 built binaries if they exist. (otherwise the path)
1472 * Makefile.in: Changed check target to use DejaGnu.
1476 * Makefile.in: Remove am29k-pinsn.c, i960-pinsn.c.
1477 objdump.c: a29k and i960 are `disassemble' not `print'.
1479 * objdump.c: Rename print_address to objdump_print_address
1480 and change parameters.
1481 (disassemble_data): Use objdump_print_address.
1485 * objdump.c (disassemble_data): print_insn_sparc is now a
1486 `disassemble' not a `print'.
1487 Makefile.in: Remove sparc-pinsn.c (now in libopcodes.a).
1489 * objdump.c (disassemble_data): Use new read_memory_func stuff.
1493 * objdump.c (fprintf): Declaration of variadic function had better
1494 be a prototype for ANSI C systems.
1496 Mon Mar 22 23:19:46 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1498 * Makefile.in: rename test-install to install-check
1502 * objdump.c (disassemble_data): Add H8500.
1506 * objdump.c (usage): Mention long options.
1510 * nm.c: Modify behavior of -o flag for archives to match
1511 BSD4.4 and Sunos 4: Prefix archive name before each line.
1513 * m68k-pinsn.c: Removed. Subsumed by ../opcodes/m68k-dis.c.
1514 * i386-pinsn.c: Removed. Subsumed by ../opcodes/i386-dis.c.
1515 * Makefile.in: Adjust accordingly.
1516 * objdump.c: Support new-style disassemblers (ones that use
1517 the interface of ../include/dis-asm.h).
1521 * Makefile.in: When making tar file, remove texinfo/*,
1522 except for texinfo/texinfo.tex.
1523 * ardup.c: Add extern declaration of strdup.
1524 * Makefile.in (testsuite): Add 'else true' since otherwise
1525 Ultrix /bin/sh complains.
1529 * Makefile.in: Set VERSION to 2.1.
1530 * README, NEWS: Updates.
1531 * nm.c: Add -v as a synonym for -V.
1535 * configure.in: added testsuite to configdirs.
1536 * Makefile.in: added support for building testsuite.
1540 * objdump.c (disassemble_data): Print function names when
1541 given by bfd_find_nearest_line. If not - still print
1546 * binutils/testsuite: made modifications to testcases, etc., to allow
1547 them to work properly given the reorganization of deja-gnu and the
1548 relocation of the testcases from deja-gnu to a "tool" subdirectory.
1552 * objdump.c (dump_data): Free up section contents each time
1557 * binutils/testsuite: Initial creation of binutils/testsuite.
1558 Migrated dejagnu testcases and support files for testing nm to
1559 binutils/testsuite from deja-gnu. These files were moved "as is"
1560 with no modifications. This migration is part of a major overhaul
1561 of dejagnu. The modifications to these testcases, etc., which
1562 will allow them to work with the new version of dejagnu will be
1563 made in a future update.
1567 * Makefile.in (LIBIBERTY_SRC_DIR, LIBIBERTY_BIN_DIR): New macros.
1568 * Makefile.in (LIBIBERTY): Use LIBIBERTY_BIN_DIR.
1569 * Makefile.in (DEMANGLER_PROG): New program to build. Add macro
1571 * Makefile.in (PROGS): Add DEMANGLER_PROG.
1575 * copy.c, nm.c, objdump.c, size.c: Use new bfd_is_com_section
1576 macro rather than checking for equality to bfd_com_section.
1580 * objdump.c (disassemble_data): Fix code to find first useless
1585 * objdump.c (disassemble_data): Use mips_print_insn for MIPS.
1586 Don't core dump if bfd_find_nearest_line returns false.
1590 * objdump.c (disassemble_data): know how to disassemble z8000s
1595 * arsup.h (interactive), bucomm.h (program_name): Prefix
1596 with 'extern', to avoid warnings from some compilers.
1600 * arparse.y: fix unnecessary shift/reduce
1604 * Makefile.in: Make check depend on all.
1605 * Makefile.in (distclean): Remove sysdep.h.
1606 * size.c: Use %u format where appropriate.
1607 * objdump.c: Standardize: L_SET -> SEEK_SET.
1608 * objdump.c: Use new macro bfd_asymbol_bfd.
1609 * configure.in: Allow std-host as the default ${mys_host}.
1611 Thu Dec 17 19:38:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1613 * Makefile.in: added dvi target, define and use TEXI2DVI
1617 * Makefile.in (dist): Fix permissions before release.
1618 * size.c: Use bfd_size_type (and long) where appropriate.
1619 * ar.c: Make writing a map the default, to be compatible
1620 with SYSV and Posix.2. Remove some bogus kludges that
1621 handled __.SYMDEF directly.
1624 Mon Nov 9 13:36:53 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1626 * Makefile.in: flex no longer needs the -S flag
1628 Sat Nov 7 15:06:13 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1630 * ar.c (extract_file): utime needs a pointer to a utimbuf
1632 * Makefile.in: handle -I includes better, adding $(BASEDIR)/bfd to
1633 the list (since some of the bfd/hosts/*.h files include other
1634 files from that directory)
1638 * i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper bound properly.
1642 Clean up some old BFD ansification macros.
1644 * arsup.h, bucomm.h, objdump.h: Remove EXFUN from binutils.
1645 It still remains as a local macro in gmalloc.c, which is derived
1646 from some other copy of GNU Malloc somewhere (FIXME).
1648 * ar.c, objdump.c, size.c: Replace EXFUN with PROTO. Make static
1650 * arsup.h: Declare extract_files.
1654 * ar.c (extract_file): instead of checking USG: if POSIX_UTIME,
1655 use utime and utimbuf structure, otherwise if USE_UTIME use utime
1656 and array of two longs, otherwise use utimes.
1660 * binutils.tex: Document yesterday's changes to strip and copy.
1664 * copy.c: Re-do command-line parsing to use getopt_long().
1665 Add long option names. Re-think option letters to be more
1667 * copy.c: New function filter_symbols() for stripping only
1668 debug-symbols and/or local symbols. Use these to support
1669 the previously-missing options of the old FSF strip.
1673 * configure.in (host): Use ${srcdir}/../bfd/configure.host rather
1674 than repeating a copy of it here.
1678 * copy.c (main): Even if is_strip, accept -d argument indicating
1679 alternate output format. Needed by gdb for Nindy.
1681 * m68k-pinsn.c (print_insn_arg): Handle new "`" operand type.
1685 * binutils.texi: added documentation for "copy"
1687 Tue Oct 6 14:22:56 1992 Per Bothner (bothner at PersSony)
1689 * Makefile.in (*clean rules): Some cleaning up.
1690 * Makefile.in (dist): Make diststuff in gprof for a dist.
1692 * ar.c (do_show_version): New function.
1693 * ar.c (main): Fix so "ar -V" works.
1695 Thu Oct 1 22:44:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1697 * configure.in: now uses the cpu-vendor-os triple instead of
1702 * i960-pinsn.c: Change bzero to memset.
1703 * sparc-pinsn.c: Change index to strchr.
1707 * m68k-pinsn (print_insn_arg, fetch_arg): added support for
1708 operands to memory management instructions, from WRS.
1712 * Makefile.in (install): if $(tooldir) exists, install nm and
1713 strip in $(tooldir)/bin.
1717 * Makefile.in: Let's call it version 2.0.
1721 * Makefile.in: Bump to version 0.98.
1722 * TODO, README: Minor updates.
1724 * Makefile.in: Added mostlyclean, distclean rules,
1725 and cleaned up clean, realclean.
1729 * Makefile.in: map program names through program_transform_name
1734 * Makefile.in: Bump to versions 1.97.90.
1735 * cplus-dem.c: Removed. Was nowhere used - and if some
1736 programs are changed to to demangling should now use the
1737 versions in libiberty.
1741 * configure.in: add we32k
1745 * ar.c (map_over_members): if the element of the archive has a
1746 null name, fill it in.
1748 * nm.c (do_one_rel_file): only warn if a bfd's flags say there
1749 will be symbols and there aren't any.
1753 * m68k-pinsn.c: handle new operand type 'r', introduced for cas2.
1757 * nm.c objdump.c: Added support for a +version (-V)
1758 to print the version number.
1760 * ar.c, copy.c: Added support for a -V option to print
1765 * config/mh-apollo68v: removed -g from CC definition.
1767 * Makefile.in: always create installation directories.
1771 * m68k-pinsn.c: Minor fix in style of output (don't use
1772 range to indicate floating point control registers).
1776 * ar.c (main): Don't *always* set the verbose flag!
1780 * copy.c: When is_strip (because it is invoked as the strip
1781 program), follow traditional argv processing:
1782 'strip file1 file2' now strips file1 and file2, rather
1783 than stripping file1 (as input), leaving output in file2.
1787 * objdump.c (display_info, display_info_table): Call
1788 bfd_set_format() on dummy bfd before using it (twice).
1789 * ar.c: Make sure archive is created on command 'r'
1790 even when no elements are inserted. (Clean up and
1791 simplify some non-working related code.)
1795 * configure.in: hppa support doesn't assume hp OS (from sef).
1797 Sat Jul 18 14:35:22 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1799 * configure.in: recognize hppa hosts (bsd & hpux), error messages
1800 to stderr, not stdout
1804 * ar.1, binutils.texi, i960-pinsn.c, nm.1, objdump.1, ranlib.1,
1805 size.1, sparc-pinsn.c, strip.1: removed rcsid's.
1809 * Makefile.dos: removed rcsid.
1813 * objdump.c (display_bfd): print state of BFD_IS_RELAXABLE too
1817 * Makefile.in: Add program_suffix (parallel to program_prefix)
1819 Thu Jun 25 04:52:45 1992 John Gilmore (gnu at cygnus.com)
1821 * nm.c (sorters): Lint. Remove excess whitespace.
1825 * nm.c (valueof macro): Add missing parentheses.
1826 (Their lack screwed up numeric_forward().)
1828 Sun Jun 14 10:33:27 1992 John Gilmore (gnu at cygnus.com)
1830 * objdump.c (dump_elf_stabs): Also dump .stab.index and
1831 .stab.excl sections.
1832 (dump_elf_stabs_1): Split out main body of old dump_elf_stabs.
1833 * objdump.1, binutils.texi: Document new sections dumped.
1835 Fri Jun 12 22:23:35 1992 John Gilmore (gnu at cygnus.com)
1837 * size.c, objdump.c, bucomm.c: Lint.
1839 Thu Jun 11 01:19:06 1992 John Gilmore (gnu at cygnus.com)
1841 * objdump.c (dump_elf_stabs): New feature: --stabs prints out a
1842 .stab section from an ELF file. Installed under #ifdef
1843 ELF_STAB_DISPLAY so it can be easily disabled, since it requires
1844 bfd-internals header files and such.
1845 * objdump.1, binutils.texi: Update for --stabs. Also fix
1846 objdump's doc to use -- rather than + for long options.
1847 (FIXME: Not yet fixed everywhere in binutils.texinfo.)
1851 * objdump.c(display_info), patches from
1857 * objdump.c: Add another enum->int cast, for the sake of
1858 old compilers (such as PCC).
1862 * arlex.l: Don't include <sysdep.h> (unneeded conflicts).
1863 Add declaration of strdup().
1867 * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
1868 rules, since these are used when building a distribution.
1869 * Makefile.in (arlex.c): Don't re-direct output, since that
1870 leaves a bogus output files if it fails.
1872 * arlex.l: Make work with lex, for what it's worth.
1873 * Makefile.in: Better lex support.
1874 * Makefile.in (dist): Generate flex and bison outputs
1879 * Makefile.in: get BISON definition right.
1883 * sanity.sh: default TMPDIR to ".".
1887 * binutils.texi: add doc for ar command language.
1891 * arparse.y: make END call ar_end
1892 * arsup.c (ar_end): added, deletes temp file if archive session
1898 * Makefile.in: use bison & flex from ../ if they exist. Also,
1901 * sanity.sh: remove temporary directory when finished.
1905 * Makefile.in: Bump to version 1.97.
1906 * ar.c: Declare errno for machines that need it.
1910 * objdump.c (display_info): Handle error cases without coredump.
1911 Close the dummy temporary file we open in the loop.
1912 * Makefile.in (arsup.o): Add kludge to build with Sun Make.
1916 * Makefile.in: added test-install target.
1918 * sanity.sh: new file.
1920 * Makefile.in: use sanity test on make check.
1924 * Makefile.in: rework CFLAGS so that they can be passed on the
1925 command line to make. Remove MINUS_G. Default CFLAGS to -g.
1929 * arsup.c, arsup.h, arparse.y, arlex.l: support for archive
1934 * Makefile.in: added check target.
1938 * Makefile.in: added clean-info target.
1942 * Makefile.in: remove $(COPY_PROG) from PROGS. It shouldn't be
1943 installed. added tooldir and program_prefix.
1947 * Makefile.in, configure.in: removed traces of namesubdir,
1948 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
1949 copyrights to '92, changed some from Cygnus to FSF.
1951 Sun Feb 16 12:53:02 1992 Per Bothner (bothner at cygnus.com)
1953 * Makefile.in: Bump version to 1.96, and remove -beta
1954 suffix from distribution name.
1955 * m68k-pinsn.c: New macro COERCE_SIGNED_CHAR to extract
1956 the signed value of a character (even if chars are unsigned).
1957 * sparc-pinsn.c: Add new operand types.
1959 Thu Feb 6 12:14:19 1992 Steve Chamberlain (sac at rtl.cygnus.com)
1961 * objdump.c (disassemble_data): don't print a section's contents
1962 if it's not loadable (eg bss)
1964 Tue Jan 28 11:11:06 1992 Steve Chamberlain (sac at rtl.cygnus.com)
1966 * m68k-pinsn.c (print_insn_arg): fixed so that -ve branch
1967 displacements don't get printed as large +ve ones.
1969 Fri Jan 24 14:47:53 1992 Steve Chamberlain (sac at rtl.cygnus.com)
1971 * copy.c, nm.c, objdump.c, size.c : changed to use the
1975 Mon Dec 30 18:34:41 1991 Per Bothner (bothner at cygnus.com)
1977 * bucomm.c (print_arelt_descr): Tweek the output format
1978 so that 'ar tv' output follows Posix 1003.2/D11.
1979 Output is now also identical to Sun's (except __.SYMDEF).
1981 Mon Dec 30 06:09:53 1991 John Gilmore (gnu at cygnus.com)
1983 * Makefile.in: Make `make' output more readable.
1985 Wed Dec 18 15:04:45 1991 Per Bothner (bothner at cygnus.com)
1987 * Makefile.in: Bump to version 1.94.
1989 Wed Dec 11 16:48:09 1991 Steve Chamberlain (sac at cygnus.com)
1991 * ar.c: added "b" to fopens for dos
1992 * configdj.bat, makefile.dos new files from DJ
1994 Tue Dec 10 04:07:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
1996 * Makefile.in: infodir belongs in datadir.
1998 Sat Dec 7 17:09:37 1991 Steve Chamberlain (sac at rtl.cygnus.com)
2000 * bucomm.h: created to hold prototypes of bucomm.c
2001 * objdump.h: created to hold prototyes of objdump.c
2002 * am29k-pinsn.c: include objdump.h
2003 * ar.c: include bucomm.h, get ar.h from the right place and
2005 * bucomm.c: defunize bfd_fatal
2006 * copy.c: include bucomm.h, lint.
2007 * i960-pinsn.h: include bucomm.h
2008 * m68k-pinsn.h: lint
2009 * nm.c: include bucomm.h, lint
2011 * sparc-pinsn.c: include objdump.h
2015 Fri Dec 6 23:02:14 1991 K. Richard Pixley (rich at rtl.cygnus.com)
2017 * Makefile.in: added standards.text support. install using
2018 INSTALL_PROGRAM and INSTALL_DATA.
2020 * configure.in: configure now does all of it's work from objdir so
2021 make file existence tests against ${srcdir}.
2023 Thu Dec 5 22:46:22 1991 K. Richard Pixley (rich at rtl.cygnus.com)
2025 * Makefile.in: idestdir and ddestdir go away. Added copyrights
2026 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
2027 and mandir now keyed off datadir by default.
2029 Wed Dec 4 22:42:03 1991 Per Bothner (bothner at cygnus.com)
2031 * Makefile.in: Bump to version 1.93.
2032 * Makefile.in: Add make-strip.o:maybe-strip.c dependency
2033 for make versions that provide half-baked VPATH-support (e.g. Sun's).
2034 * size.c: Improvements suggested by
2036 - Don't emit (Berkeley) headers if no files were found.
2037 - Return a non-zero return code on failure.
2039 Sat Nov 30 21:34:19 1991 Steve Chamberlain (sac at rtl.cygnus.com)
2041 Changes due to include file renaming:
2042 * am29k-pinsn.c: a29k-opcode.h -> opcode/a29k.h
2043 * sparc-pinsn.c: sparc-opcode.h -> opcode/sparc.h
2044 * m68k-pinsn.c: m68k-opcode.h -> opcode/m68k.h
2045 * nm.c: stab.gnu.h -> aout/stab_gnu.h
2047 Tue Nov 19 19:20:43 1991 Per Bothner (bothner at cygnus.com)
2049 * README: Mention MINIMIZE flag for bfd's make.
2051 Mon Nov 18 12:05:37 1991 Per Bothner (bothner at cygnus.com)
2053 * README: Various improvements.
2055 Sun Nov 17 23:40:59 1991 Per Bothner (bothner at cygnus.com)
2057 * Makefile.in: Bump to version 1.92.
2058 * version.c, Makefile.in: Get version string from Makefile.
2059 * copy.c, is-strip.c, not-strip.c, maybe-strip.c, Makefile.in:
2060 Make the same change that we earlier did for ar/ranlib:
2061 Generate two different binaries for strip and copy and use
2062 a global variable with different values to distinguish
2063 ostrip from copy. (-1 means to use argv[0] to decide,
2064 so you can get the old behavior, but it is no longer the default).
2065 * copy.c (copy_file): Set EXEC_P of output bfd if input is so.
2066 * copy.c (main): If is_strip==-1, compare last 5 chars
2067 of argv[0], not the whole path.
2068 * copy.c (main): Return 0, not 1.
2069 * copy.c (setup_sections): Fix due to change in bfd_make_section
2070 now failing if asked for a duplicate section.
2071 * strip.c, ostrip.c: Removed obsolete files.
2072 * ar.c, not-ranlib.c, maybe-ranlib.c:
2073 Change encoding of is_ranlib variable to be consistent
2074 with is_strip for strip.copy (i.e -1 to means use argv[0]).
2076 Thu Nov 14 20:11:02 1991 Per Bothner (bothner at cygnus.com)
2078 * version.c (program_version): Update to version 1.92.
2080 Tue Nov 12 16:17:53 1991 Per Bothner (bothner at cygnus.com)
2082 * ar.c (get_pos_bfd): Previous fix was missing a "break".
2084 Thu Nov 7 08:55:56 1991 Steve Chamberlain (sac at cygnus.com)
2086 * am29k-pinsn.c: Fixed bug in mtacc, dmac and fmac instruction
2087 encodings. (Thaks to David Wood)
2089 Sun Nov 3 14:50:23 1991 Per Bothner (bothner at cygnus.com)
2091 * Makefile.in ($(DIST_NAME).tar.Z), TODO: Various fixes.
2092 * ar.c (get_pos_bfd): Fix to handling of before/after
2093 positioning options.
2094 * bucomm.c (fatal): MISSING_VFPRINTF is no longer an issue,
2095 since libiberty contains vfprintf etc if otherwise missing.
2096 * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL
2097 type operands, as used by branch instructions.
2098 * nm.c: Delegate printing of symbols to BFD,
2099 by using bfd_print_symbol to do the formatting.
2101 Mon Oct 28 11:20:47 1991 Steve Chamberlain (steve at cygnus.com)
2103 * ar.c (write_archive.c): added unlink before rename since some
2104 systems can't rename onto an existant file.
2106 Mon Oct 21 09:47:23 1991 Steve Chamberlain (steve at rtl.cygnus.com)
2108 * nm.c: now doesn't crash if a symbol with no section and no
2111 Thu Oct 17 15:25:50 1991 Per Bothner (bothner at cygnus.com)
2113 * Makefile.in, version.c: Bump to version 1.91.
2115 Wed Oct 16 11:45:36 1991 Per Bothner (bothner at cygnus.com)
2117 * Makefile.in, ar.c, bucomm.c, copy.c, cplus-dem.c, filemode.c,
2118 i960-pinsn.c, m68k-pinsn.c, nm.c, objdump.c, size.c, sparc-pinsn.c,
2119 * strip.c: Add or update Copyright notice.
2120 * TODO: Add note on 'nm -a'.
2121 * version.c: Update version number to 1.90.
2122 * Makefile.in: Fix making of documentation for dist.
2124 Tue Oct 15 00:17:17 1991 Per Bothner (bothner at cygnus.com)
2127 * Makefile.in: New kludgy rules for making a tarfile.
2128 * Makefile.in: Fix bindir path.
2130 Mon Oct 14 17:34:29 1991 Roland H. Pesch (pesch at cygnus.com)
2132 * Makefile.in: add targets binutils.mm, binutils.me
2134 Fri Oct 11 22:44:21 1991 John Gilmore (gnu at cygnus.com)
2136 * Makefile.in: Avoid Sun Make VPATH bugs by adding dependencies.
2138 Fri Oct 11 12:51:33 1991 Roland H. Pesch (pesch at cygnus.com)
2140 * Makefile.in: add target "binutils.ms"
2142 * binutils.texinfo: minor restructuring for texi2roff comfort.
2144 Fri Oct 11 04:12:28 1991 John Gilmore (gnu at cygnus.com)
2146 Restructure configuration scheme for bfd, binutils, ld.
2148 * include/sys/h-*.h: Move to bfd/hosts/h-*.h.
2149 * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
2150 Change some config names to match other dirs.
2151 * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO()
2153 * Makefile.in: Use -I. to get sysdep.h.
2155 Wed Oct 9 22:42:56 1991 Per Bothner (bothner at cygnus.com)
2157 * nm.c (print_symbols): Handle NULL name field of symbol.
2158 * Makefile.in: Removed spurious comment.
2160 Tue Oct 8 16:55:03 1991 Roland H. Pesch (pesch at cygnus.com)
2162 * binutils.texinfo: minor typos, phrasing, formatting fixes.
2164 Tue Oct 8 15:13:20 1991 Per Bothner (bothner at cygnus.com)
2166 * configure.in: Get host file from ../bfd/config, not config.
2167 * config/*: Remove config directory and its files.
2169 Tue Oct 8 13:58:59 1991 Roland H. Pesch (pesch at cygnus.com)
2171 * Makefile.in: new targets binutils.dvi, binutils.info
2173 * binutils.texinfo: remove most remaining FIXME's, delete
2174 references to __.SYMDEF by name
2177 Tue Oct 8 10:23:44 1991 Steve Chamberlain (steve at cygnus.com)
2179 * objdump.c (print_address) Print addresses nicely.
2181 Mon Oct 7 11:31:05 1991 Per Bothner (bothner at cygnus.com)
2183 * ar.c, Makefile.in, new files {is,not,maybe}-ranlib.c:
2184 Make two different binaries for ar and ranlib, instead of
2185 distinguishing them at run time using argv[0].
2186 (Old behavior is still available if you "make ar_with_ranlib",
2187 but it is not the default.)
2188 * ranlib.sh (new): An alternative one-line
2189 shell implementation of ranlib.
2191 Fri Oct 4 21:49:44 1991 John Gilmore (gnu at cygnus.com)
2193 * objdump.c: Cope with renames of a few BFD types & enums.
2195 Fri Oct 4 19:08:09 1991 Roland H. Pesch (pesch at cygnus.com)
2197 * binutils.texinfo: add new file (rudimentary docn)
2199 Mon Sep 30 12:30:39 1991 Per Bothner (bothner at cygnus.com)
2201 * config/hmake-news: Add new file (for Sony NEWSOS3).
2202 * bucomm.c (fatal): Conditionally compile fatal() depending on
2203 MISSING_VFPRINTF, and don't confuse the issue with NO_VARARGS.
2204 * objdump.c (dump_headers): Trivial output format change.
2205 * objdump.c (display_info): Loop over integers, not enums,
2206 to appease old compilers.
2208 Mon May 20 16:14:07 1991 Steve Chamberlain (steve at cygint.cygnus.com)
2210 *objdump.c *nm.c *copy.c :hanged some types to work with 64 bit object files
2212 Thu May 16 16:06:55 1991 Steve Chamberlain (steve at cygint.cygnus.com)
2214 * objdump.c (print_address): Make disasembled output more
2215 consistent with gdb and as: Add 0x when printing hex.
2216 Don't print extra leading zeros.
2217 Attempt to not print "filename.o".
2218 * objdump.c: Add some enum-to-int casts to accomodate old compilers.
2221 Fri May 3 22:21:44 1991 John Gilmore (gnu at cygint.cygnus.com)
2223 * copy.c: Change =& constructs to = &, since they confuse older
2231 version-control: never