3 * debug.c (debug_type_samep): Don't loop endlessly in
8 * rddbg.c (read_section_stabs_debugging_info): Call save_stab for
9 each stab entry, call stab_context on an error, and call
10 free_saved_stabs before rturning.
11 (read_symbol_stabs_debugging_info): Likewise.
12 (SAVE_STABS_COUNT): Define.
13 (struct saved_stab): Define.
14 (saved_stabs, saved_stabs_index): New static variables.
15 (save_stab, stab_context, free_saved_stabs): New static functios.
17 * objdump.c (stab_name): Remove.
18 (struct stab_print): Remove.
20 (dump_stabs): Don't initialize stab_name.
21 (print_section_stabs): Call bfd_get_stab_name rather than using
26 * prdbg.c (pr_int_constant): Initialize info correctly.
27 (pr_float_constant): Likewise.
31 * mpw-make.sed: Update to handle shared library support.
35 * Makefile.in ($(OBJDUMP_PROG)): Search $(BFDLIB) before
40 * configure.in: Don't tamper with LDFLAGS. Call AC_PROG_CC before
44 * configure.in: Substitute RPATH_ENVVAR.
46 * Makefile.in (RPATH_ENVVAR): New variable.
47 (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
49 * objcopy.c (smart_rename): Rather than doing chmod then chown, do
50 chmod without setuid, then chown, then chmod with setuid.
54 * arsup.c (map_over_list): Reindent. Don't assume that the
55 function does not delete the BFD.
56 (ar_addlib_doer): Don't set prev->next if prev is NULL.
60 * ieee.c (ieee_regno_to_genreg): Convert register numbers for m68k
62 (ieee_genreg_to_regno): Likewise.
66 * ieee.c: Extensive changes to write code to put types in the
67 global type block when possible, to output ranges for all memory
68 occupied by the module, and to improve efficiency.
70 * debug.c (struct debug_handle): Remove class_mark field. Add
71 id_list and compare_list fields.
72 (struct debug_class_id): Define.
73 (struct debug_type_compare_list): Define.
74 (debug_write): Initialize info->id_list
75 (debug_write_name): Remove reference to info->class_mark.
76 (debug_write_type): Get id for all structs and classes. Simplify
77 test for whether struct has already been written.
78 (debug_write_class_type): Get id for all classes. Simplify test
79 for whether class has already been written.
80 (debug_write_block): Don't write out blocks other than the top
81 level block if they have no local variables.
82 (debug_set_class_id): New static function.
83 (debug_type_samep): New static function.
84 (debug_class_type_samep): New static function.
85 * prdbg.c (pr_start_struct_type): Always print id.
86 (pr_start_class_type): Likewise.
87 (pr_tag_type): Likewise.
89 * stabs.c (struct stab_handle): Add syms and symcount fields.
90 (start_stab): Add syms and symcount parameters. Change all
92 (parse_stab_string): Look up global variables in the symbol table
93 to get the right value.
94 * budbg.h (start_stab): Update declaration.
95 * rddbg.c (read_section_stabs_debugging_info): Add syms and
96 symcount parameters. Change all callers.
98 * stabs.c (parse_stab_array_type): If the index type is 0, use
103 * ieee.c (ieee_start_compilation_unit): Clear modified and
104 modified_alloc fields of info.
106 * configure.in: Check for --enable-shared. Substitute new
107 variables BFDLIB and OPCODES.
108 * configure: Rebuild.
109 * Makefile.in (BFDLIB): Set to @BFDLIB@.
110 (OPCODES): Set to @OPCODES@.
114 Support for building bfd and opcodes as shared libraries, based on
116 * configure.in (HLDFLAGS): New substitution.
117 * configure: Rebuild.
118 * Makefile.in (HLDFLAGS): New variable. Make all links use
119 $(HLDFLAGS) before $(CFLAGS) and $(LDFLAGS).
120 (BFDLIB_DEP): New variable. Replace all occurrences of $(BFD) as
121 a dependency with $(BFDLIB_DEP). Remove $(BFD) as a dependency if
122 there is also a dependency on $(ADDL_DEPS).
123 (BFDLIB): Rename from BFD; change all uses; set to -L../bfd -lbfd.
124 (OPCODES_DEP): New variable. Replace all occurrends of $(OPCODES)
125 as a dependency with $(OPCODES_DEP).
126 (OPCODES): Set to -L../opcodes -lopcodes.
127 (ADDL_DEPS): New variable. Replace all occurrences of
128 $(ADDL_LIBS) as a dependency with $(ADDL_DEPS).
129 (check): Set LD_LIBRARY_PATH in the environment.
130 (config.status): Depend upon BFD configure.host and config.bfd.
134 * objdump.c: #include stdarg.h or varargs.h.
135 (objdump_print_value): Change FILE* arg to struct disassemble_info*.
136 All callers updated. Use fprintf_func.
137 (objdump_print_address): Consistently use fprintf_func.
138 (objdump_sprintf): New function.
139 (disassemble_data): Print insn into a buffer, print raw insn ourselves,
140 then print insn mnemonic.
144 * configure: Regenerate.
148 * configure.in (i[3-6]86-*-win32): Becomes i[3-6]86-*-cygwin32.
149 (powerpc*-*-cygwin32): New.
150 * configure: Regenerated.
154 * Makefile.in (distclean): Remove $(DEMANGLER_PROG).1.
159 * objcopy.c (remove_leading_char): New static variable.
160 (OPTION_REMOVE_LEADING_CHAR): Define.
161 (copy_usage): Mention --remove-leading-char.
162 (filter_symbols): If remove_leading_char, and the first character
163 of a global symbol matches the symbol leading char of the BFD,
164 remove the first character.
165 (copy_object): Filter the symbols if remove_leading_char is set.
166 (copy_main): Handle --remove-leading-char.
167 * binutils.texi, objcopy.1: Document --remove-leading-char.
171 * objdump.c (fprintf): Add prototype to avoid compiler warning on
176 * binutils.texi (nm): Improve documentation on symbol types.
177 (objdump): Reference the stabs manual from the discussion of the
182 * mpw-make.sed: Add a "stamps" target.
186 * objdump.c (dump_headers, dump_section_header): Change objdump -h
187 output to be simpler and to include section file offsets.
191 * stabs.c (parse_stab_members): Don't adjust voffset.
193 * ieee.c (ieee_read_cxx_class): Don't multiply voffset by 4.
194 (struct ieee_write_type): Add name field.
195 (struct ieee_type_class): Remove name field. Change all uses to
196 use new name field in type instead.
197 (struct ieee_name_type): Likewise.
198 (ieee_start_struct_type): Initialize name field of type.
199 (ieee_start_class_type): Don't initialize classdef entry of tag.
200 (ieee_class_method_var): Don't adjust voffset.
201 (ieee_end_class_type): Likewise.
202 (ieee_tag_type): Initialize new name field of type.
203 (ieee_typdef): Set name after copying in type information.
205 * debug.c (VOFFSET_STATIC_METHOD): Define as -1, not 1.
207 * ieee.c (struct ieee_modified_type): Define.
208 (struct ieee_handle): Add modified and modified_alloc fields.
209 (ieee_get_modified_info): New static function.
210 (ieee_pointer_type): Cache type index.
211 (ieee_const_type): Likewise.
212 (ieee_volatile_type): Likewise.
214 * ieee.c (ieee_define_named_type): When creating a tag for an
215 anonymous struct, copy the name into memory.
216 (ieee_tag_type): Likewise.
217 * debug.c (debug_write_type): Only check and set id field for an
219 (debug_write_class_type): Likewise.
221 * ieee.c: Various changes to write out types for functions and
222 references, and to not write out unnecessary function types.
224 * ieee.c (struct ieee_var): Remove variable field. Add kind
225 field, and define some enum constants for it.
226 (parse_ieee_ty): Set kind field of variable for 'x' and 'X' types.
227 (parse_ieee_atn): Make an indirect slot for an external variable,
228 although we otherwise don't record it. Set kind field rather than
229 variable field of pvar.
230 (ieee_read_cxx_class): Try to get the type of a static member.
231 (ieee_read_reference): Check kind field rather than variable
236 * ieee.c: Various changes to handle reading C++ reference type
239 * debug.h (enum debug_var_kind): Add DEBUG_VAR_ILLEGAL.
240 (enum debug_parm_kind): Add DEBUG_PARM_ILLEGAL.
241 * debug.c (debug_get_parameter_types): Handle DEBUG_KIND_FUNCTION.
243 * ieee.c: Various changes to write out definitions of C++ classes.
245 * debug.c (debug_append_filename): Remove.
246 * debug.h (debug_append_filename): Don't declare.
248 * stabs.c (struct stab_handle): Remove last_type field. Add
249 so_string and so_value fields.
250 (finish_stab): Call stab_emit_pending_vars before calling
251 debug_end_function. Don't warn about pending variables.
252 (parse_stab): Accumulate N_SO strings until a non N_SO symbol is
253 seen, rather than calling debug_append_filename. Call
254 stab_emit_pending_vars before calling debug_end_function. Don't
259 * objdump.c (disassemble_data): Handle unknown endianness.
260 Pass fprintf to INIT_DISASSEMBLE_INFO.
264 Add new option --show-raw-insn.
265 * objdump.c (show_raw_insn): New global.
267 (long_options): Update.
268 (disassemble_data): Set disasm_info.flags if --show-raw-insn.
270 * objdump.c (disassemble_data): Set new arch,mach,endian fields in
275 * ieee.c: Extensive changes to pass a single info argument around
276 in the reading routines, rather than several arguments. Add code
277 to read C++ debugging records.
279 * debug.h (debug_get_type_size): Declare.
280 (debug_get_field_name): Declare.
281 (debug_get_field_bitpos): Declare.
282 (debug_get_field_bitsize): Declare.
283 (debug_get_field_visibility): Declare.
284 (debug_get_field_physname): Declare.
285 * debug.c (debug_get_real_type): Handle DEBUG_KIND_TAGGED.
286 (debug_get_type_size): New function.
287 (debug_get_field_name): New function.
288 (debug_get_field_bitpos): New function.
289 (debug_get_field_bitsize): New function.
290 (debug_get_field_visibility): New function.
291 (debug_get_field_physname): New function.
292 (debug_write_type): Make sure we pass the real kind, not INDIRECT,
293 to tag_type. Pass the name recursively for INDIRECT.
297 * debug.h (struct debug_write_fns): Remove ellipsis_type. Add int
298 and boolean parameters to function_type. Add boolean parameter to
300 (debug_make_ellipsis_type): Don't declare.
301 (debug_make_function_type): Add debug_type * and boolean
302 parameters. Change all callers.
303 (debug_make_method_type): Add boolean parameter. Change all
305 (debug_get_parameter_types): Add boolean * parameter. Change all
307 (debug_get_target_type): Declare.
308 * debug.c (struct debug_function_type): Add fields arg_types and
310 (struct debug_method_type): Add field varargs.
311 (debug_ellipsis_type, ELLIPSIS_P): Remove.
312 (debug_make_ellipsis_type): Remove.
313 (debug_make_function_type): Add arg_types and varargs parameters.
314 (debug_make_method_type): Add varargs parameter.
315 (debug_get_parameter_types): Add pvarargs parameter.
316 (debug_get_target_type): New function.
317 (debug_write_type): In case DEBUG_KIND_FUNCTION, push argument
318 types and pass count to function_type. In DEBUG_KIND_METHOD, use
319 a signed int for the count, don't call ellipsis_type, and pass
320 varargs to method_type.
321 * stabs.c (struct stab_demangle_info): Add varargs field.
322 (stab_demangle_argtypes): Add pvarargs parameter. Change all
324 (stab_demangle_args): Likewise.
325 (stab_demangle_type): In case 'F', pick up argument types.
326 * prdbg.c (pr_ellipsis_type): Remove.
327 (pr_function_type): Add argcount and varargs parameters.
328 (pr_method_type): Add varargs parameter.
329 * ieee.c (ieee_ellipsis_type): Remove.
330 (ieee_function_type): Add argcount and varargs parameters.
331 (ieee_method_type): Add varargs parameter. Remove most of
332 function body, and just call ieee_function_type.
334 * stabs.c: Include "demangle.h". Added several new static
335 functions not listed below to demangle argument types; they are
336 all called via stab_demangle_argtypes.
337 (finish_stab): If the kind of an undefined tag is
338 DEBUG_KIND_ILLEGAL, use DEBUG_KIND_STRUCT instead. Warn if there
339 are any pending variable.
340 (parse_stab): Don't close the function when the block depth goes
341 to zero. Pass value to debug_end_function.
342 (parse_stab_string): In case 'T', pass the name to
344 (parse_stab_type): In case 'x', use stab_find_tagged_type. In
345 case '#', handle functions with variable numbers of arguments.
346 (parse_stab_struct_type): Add tagname parameter. Change all
348 (parse_stab_members): Add tagname and typenums parameters. Change
349 all callers. If the type of a method is a stub, call
350 parse_stab_argtypes to demangle the argument types and get the
351 physical name of the function.
352 (parse_stab_argtypes): New static function.
353 (stab_record_variable): For a DEBUG_GLOBAL or DEBUG_STATIC
354 variable, call debug_record_variable immediately.
355 (stab_find_tagged_type): New static function.
357 * debug.h (enum debug_type_kind): Add DEBUG_KIND_ILLEGAL.
358 (struct debug_write_fns): Add field ellipsis_type. Add id
359 parameter to start_struct_type, start_class_type, and tag_type.
360 (debug_make_ellipsis_type): Declare.
361 (debug_find_named_type): Declare.
362 (debug_get_type_kind): Declare.
363 (debug_get_return_type): Declare.
364 (debug_get_parameter_types): Declare.
365 (debug_get_fields): Declare.
366 (debug_get_field_type): Declare.
367 * debug.c (struct debug_handle): Add fields class_id and base_id.
368 (struct debug_class_type): Add field id.
369 (struct debug_method_variant): Rename argtypes to physname.
371 (debug_ellipsis_type): New static variable.
372 (ELLIPSIS_P): New macro.
373 (debug_make_ellipsis_type): New function.
374 (debug_make_method_variant): Rename argtypes to physname.
375 (debug_make_static_method_variant): Likewise.
376 (debug_name_type): Always put types in the global namespace.
377 (debug_find_named_type): New function.
378 (debug_find_tagged_type): Treat DEBUG_KIND_ILLEGAL specially,
379 rather than DEBUG_KIND_VOID.
380 (debug_get_real_type): New static function.
381 (debug_get_type_kind): New function.
382 (debug_get_return_type): New function.
383 (debug_get_parameter_types): New function.
384 (debug_get_fields): New function.
385 (debug_get_field_type): New function.
386 (debug_write): Initialize base_id.
387 (debug_write_type): Pass new id argument to tag_type. Handle
388 DEBUG_KIND_ILLEGAL. Use id for DEBUG_KIND_STRUCT and
389 DEBUG_KIND_UNION. Handle ellipsis for method arguments.
390 (debug_write_class_type): Don't dereference kclass if it is NULL.
392 * prdbg.c (pr_fns): Add pr_ellipsis_type.
393 (pr_ellipsis_type): New static function.
394 (pr_pointer_type): If this is a pointer to an array, parenthesize
396 (pr_start_struct_type): Add id parameter.
397 (pr_start_class_type): Likewise.
398 (pr_tag_type): Likewise.
399 (pr_fix_visibility): Add the visibility to the top of the stack,
400 not the second element on the stack.
401 (pr_struct_field): Pop the stack before calling pr_fix_visibility.
402 (pr_class_static_member): Likewise.
403 (pr_class_start_method): Don't push a type, just set the method
404 name in the type on the top of the stack.
405 (pr_class_end_method): Don't pop the stack.
406 (pr_class_method_variant): Rename argtypes parameter to physname.
407 Append const and volatile rather than prepending them. Add a
408 space after the physname.
409 (pr_class_static_method_variant): Likewise.
410 * ieee.c (ieee_fns): Add ieee_ellipsis_type.
411 (ieee_define_named_type): Use DEBUG_KIND_ILLEGAL rather than
413 (write_ieee_debugging_info): Likewise.
414 (ieee_typdef): Likewise.
415 (ieee_ellipsis_type): New static function.
416 (ieee_start_struct_type): Add id parameter.
417 (ieee_start_class_type): Likewise.
418 (ieee_tag_type): Likewise.
419 (ieee_class_method_variant): Rename name to physname.
420 (ieee_class_static_method_variant): Likewise.
422 * Makefile.in (DEBUG_OBJS): Remove prdbg.o.
423 ($(OBJDUMP_PROG)): Depend upon, and link against, prdbg.o.
427 * dlltool.c (make_tail): Changed the order of the sections to avoid
428 an alignment problem.
432 * srconv.c (wr_du): Set du.stackfrmt to 0.
433 (wr_un, wr_sc): Emit all sections, even those with 0 size.
437 * srconv.c (wr_hd): Space size within segment was being
438 stored in segment identifier field.
442 * mpw-config.in (BUILD_NLMCONV, BUILD_SRCONV, SYSINFO_PROG,
443 BUILD_DLLTOOL): Put definitions for these into makefile when
444 configuring, instead of always clearing in mpw-make.sed.
445 * mpw-make.sed: Edit out any host_alias or target_alias settings,
446 fix pathname to BFD internal include files, remove dependency
451 * objdump.c (dump_section_header): Add new section flags
452 SEC_{EXCLUDE,SORT_ENTRIES}.
456 * objcopy.c (filter_symbols): NULL terminate the output symbols.
457 (copy_object): Allocate space for a possible extra NULL pointer.
459 * debug.c (debug_make_undefined_tagged_type): Make sure we are
460 given a kind of type we can handle.
461 (debug_write_type): Handle undefined enums and structs.
462 (debug_write_class_type): Handle undefined classes.
463 * prdbg.c (pr_enum_type): Handle an undefined enum.
464 * ieee.c (ieee_enum_type): Likewise.
468 * Makefile.in: Updated dependencies.
469 (ALLOCA, MALLOC): Remove variables.
470 (ADDL_LIBS): Remove $(MALLOC) from definition.
471 * alloca.c, gmalloc.c: Remove.
475 * ieee.c: Add global function write_ieee_debugging_info and a
476 bunch of static functions and structs used to write out IEEE
477 debugging information.
478 * budbg.h (write_ieee_debugging_info): Declare.
480 * ieee.c (struct ieee_type): Add pslot field.
481 (enum builtin_types): Define.
482 (ieee_builtin_type): For a pointer, return a pointer to the named
483 type. Use enum values rather than numbers.
484 (ieee_alloc_type): New static function.
485 (ieee_read_type_index): Use ieee_alloc_type.
486 (parse_ieee_bb): Likewise.
487 (parse_ieee_ty): Likewise. Use ieee_builtin_type for array range,
488 rather than making a new integer type. Store the new type in the
489 slot, if there is one.
490 (parse_ieee_atn): Treat ATN10 as defining a register variable.
491 (ieee_regno_to_genreg): Rename from ieee_regno_to_gen. Change all
493 (ieee_genreg_to_regno): New static function.
495 * stabs.c (parse_stab_type): Add new typename parameter. Change
497 (parse_stab_range_type): Add new typename parameter. Change all
500 * debug.h (struct debug_write_fns): Add tag parameter to
501 enum_type, start_struct_type, and start_class_type.
502 * debug.c (debug_write_type): Pass any tag name to
503 start_struct_type, debug_write_class_type, and enum_type. If
504 DEBUG_KIND_TAGGED, pass the name in the recursive call.
505 (debug_write_class_type): Accept a new tag parameter, and pass it
507 * prdbg.c (pop_type): Don't remove '+' character.
508 (pr_enum_type): Accept and use tag parameter.
509 (pr_start_struct_type): Likewise.
510 (pr_start_class_type): Likewise.
511 (pr_class_baseclass): Adjust algorithm used to find where to put
513 (pr_tag): Don't bother to insert the tag name.
515 * objcopy.c: Include budbg.h.
516 (convert_debugging): New static variable.
517 (OPTION_DEBUGGING): Define.
518 (copy_options): Add "debugging".
519 (copy_usage): Mention --debugging.
520 (is_strip_section): Skip debugging sections if convert_debugging.
521 (setup_section, copy_section): Likewise.
522 (filter_symbols): Skip debugging symbols if convert_debugging.
523 (copy_object): If convert_debugging, read and write debugging
525 (write_debugging_info): New static function.
526 (copy_main): Handle --debugging.
527 * Makefile.in (DEBUG_OBJS): New variable.
528 ($(OBJCOPY_PROG)): Depend upon and link against $(DEBUG_OBJS).
529 ($(STRIP_PROG)): Likewise.
530 (OBJDUMP_OBJS): Remove variable.
531 ($(OBJDUMP_PROG)): Use objdump.o $(DEBUG_OBJS) rather than
533 * binutils.texi, objcopy.1: Document --debugging.
537 * ieee.c: New file with code to read IEEE debugging information.
538 * budbg.h (parse_ieee): Declare.
539 * rddbg.c (read_debugging_info): Handle IEEE flavour files.
540 (read_ieee_debugging_info): New static function.
541 * Makefile.in: Rebuild dependencies.
542 (CFILES): Add ieee.c.
543 (OBJDUMP_OBJS): Add ieee.o.
545 * bucomm.h (xrealloc): Change type of first parameter from char *
550 * Makefile.in: Add targets to automatically rebuild dependencies.
551 Remove targets which just listed dependencies of .o files.
553 (HFILES, GENERATED_HFILES): New variables.
554 (CFILES, GENERATED_CFILES): New variables.
555 (underscore.c): Don't do anything, just depend upon stamp-under.
556 (stamp-under): New target; do what underscore.c used to do.
557 (nlmconv.o): Depend upon sym.h and ecoff.h.
558 (.dep, .dep1, dep.sed, dep, dep-in): New targets.
559 (stage1, stage2, stage3, against, comparison): Remove.
560 (de-stage1, de-stage2, de-stage3): Remove.
561 (clean, distclean): Remove stamp-under and dep.sed.
562 * dep-in.sed: New file.
564 Implement generic debugging support. Implement a stabs reader and
566 * budbg.h, debug.c, debug.h, prdbg.c, rddbg.c, stabs.c: New files.
567 * objdump.c: Include "debug.h" and "budbg.h".
568 (dump_debugging): New global variable.
569 (usage): Mention --debugging.
570 (long_options): Add "debugging".
571 (display_bfd): Handle --debugging.
572 * Makefile.in (OBJDUMP_OBJS): New variable.
573 ($(OBJDUMP_PROG)): Use $(OBJDUMP_OBJS).
574 * binutils.texi, objdump.1: Document --debugging.
578 * nm.c ( long_options): Add "--defined-only" option.
579 (usage): Update for new "--defined-only" option.
580 (filter_symbols): Handle "--defined-only".
584 * arparse.y: Include "bucomm.h", not <sysdep.h>.
585 * nlmheader.y: Don't include "sysdep.h".
589 * nm.c (print_symdef_entry): Check return value of
590 bfd_get_elt_at_index.
594 * configure.in (DLLTOOL_DEFS): Build dlltool for PowerPC if target
595 is powerpc*-*-win* in addition to powerpc*-*-*pe*.
599 * objdump.c (endian_string): New static function.
600 (display_target_list): Use it.
601 * nlmconv.c (main): Use new bfd_big_endian macro.
605 * dlltool.c (fill_ordinals): Start from 1 if no other instructions
610 * Makefile.in (clean): Remove $(DEMANGLER_PROG).1. From Ronald
615 * mac-binutils.r: Fix copyright and version strings.
617 * Makefile.in (version): Remove, no longer used.
621 * mpw-make.sed (install, install-only): Edit in Mac-specific
626 * dlltool.c (ppc_jtab): The binary glue for PowerPC dll linkage,
627 including the return instruction.
628 sinfo: added a preferred alignment field.
629 (secdata): section data for the PowerPC version.
630 (make_one_lib_file): More symbols, More sections (pdata, rdata)
631 (make_tail): Use idata$6 instead of idata$7 for ppc. Also added a
632 NULL idata$3 descriptor (temporary).
636 * dlltool.c (fill_ordinals): Don't reference d_export_vec if
637 there are no exported functions.
641 * configure: Regenerate with autoconf 2.7.
645 * dlltool.c (fill_ordinals): Start assigning ordinals at 1.
647 * Makefile.in (EXPECT): Use $$r, not $${rootme}.
648 (check): Set r, not rootme.
652 * configure.in: Use BFD_NEED_DECLARATION.
653 * acconfig.h: Put NEED_DECLARATION_FPRINTF in @TOP@ section.
654 * configure, config.in: Rebuild with autoconf 2.6.
658 * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
659 $(host_canonical) and $(target_canonical).
663 Version 2.6 released.
664 * Makefile.in (VERSION): Update to 2.6.
668 * Makefile.in (CC_FOR_TARGET): Define.
669 (check): Pass CC and CFLAGS to runtest.
671 * nm.c (display_rel_file): Don't require a DYNAMIC object when
672 dumping the dynamic symbol table.
674 * objdump.c (compare_symbols): Sort global symbols before local
675 symbols before debugging symbols.
676 (objdump_print_address): Don't futz around looking for a global
677 symbol with the same value.
681 * dlltool.c: Use FOPEN_* macros rather than "r" or "w".
683 * dlltool.c (fill_ordinals): Correct memset call.
687 * mpw-make.sed (DEMANGLER_PROG): Edit out attempts to do anything
692 * objcopy.c (setup_section): Copy the section lma independently of
697 * arsup.c (ar_open): Cast malloc return value.
701 * configure.in, configure (DLLTOOL_DEFS): Added ppc target.
702 * dlltool.c (MPPC): Added basic PPC definitions.
706 * configure.in: Don't treat rs6000-*-lynx* specially.
707 * configure: Rebuild.
708 * config/rslynx: Remove.
709 * Makefile.in: Remove @target_makefile_fragment@.
713 * bucomm.h: Include <sys/types.h>.
714 * ar.c: Don't include <sys/types.h> or <stdio.h>.
715 * bucomm.c, dlltool.c, nlmconv.c, objcopy.c, objdump.c: Likewise.
719 * objdump.c: Include <sys/types.h>.
721 Permit user to override DEMANGLER_PROG from command line. From
723 * Makefile.in ($(DEMANGLER_PROG)): Depend upon
725 (install): Don't depend upon $(DEMANGLER_PROG).1. Only install
726 $(DEMANGLER_PROG).1 if $(DEMANGLER_PROG) is not empty.
730 * Makefile.in (syslex.o): add -I$(srcdir) if compiling in a
735 * objdump.c (objdump_print_value): New static function.
736 (objdump_print_address): Use it. If we need the right section for
737 the symbol, and we can't find it, print an offset from the section
738 rather than using a symbol from some other section.
742 * dlltool.c (no_idata4, no_idata5): New.
743 (arm_jtab): Use correct encoding of jump instruction.
744 (usage, main, make_head, make_tail): Act on no_idata4, no_idata5.
748 * mpw-make.sed: Edit paths to generated y.tab.[ch] files.
752 * binutils.texi: Change --with-targets to --enable-targets.
756 * Makefile.in: Remove extraneous tab on otherwise empty line,
757 which confuses many non-GNU versions of "make".
761 * dlltool.c (i386_jtab, arm_jtab): New
762 (gen_lib_file): Rewritten to use bfd.
766 * Makefile.in (install): Don't give error message if dlltool
771 * deflex.l: Allow quoting of IDs.
772 * defparse.y (%union): string deleted.
773 (command): DESCRIPTION takes ID.
774 * dlltool.c (gen_def_file): Quote outgoing name if
775 necessary. Preserve NONAME.
776 (gen_lib_file): Run ranlib.
777 (workout_prefix): Deleted.
778 (main, usage, long_options): Add --as, --ranlib, --ar options.
782 * dlltool.c (mtable): HOW_ALIGN_LONG, new.
784 (d_low_ord, d_high_ord, d_named_funcs): New.
785 (gen_exp_file): Create noname entries correctly.
786 (gen_lib_file): Dump exports alphabetically.
787 (process_duplicates): Count nonamed functions.
788 (fill_ordinals): Keep track of highest ord too.
789 (mangle_defs): Create alphabetically ordered list of names.
793 * Makefile.in (TOOL_PROGS): Include DLLTOOL_PROG.
797 * dlltool.c (add_underscore): New.
798 (xlate): Use new name.
799 (main, usage): Update.
803 * sysinfo.y: Eliminate unused terminals "[" and "]" and unused
804 nonterminal "name". One s/r conflict remains.
808 * nm.c (print_symname): Don't try to demangle an empty
810 * objdump.c (slurp_symtab): Reset symcount if there are
812 (slurp_dynamic_symtab): Likewise, for dynsymcount.
813 (disassemble_data): Fix memory leak: free sorted_syms when done.
814 (display_bfd): Likewise, for syms and dynsyms.
815 (dump_relocs): Don't print header before possibly generating an
817 (dump_dynamic_relocs): Likewise.
819 * ar.1, nm.1, objdump.1, size.1, strings.1, strip.1: Fix typos and
824 * ar.c (do_quick_append): Comment out.
825 (replace_members): Add quick argument.
826 (main): Don't call do_quick_append.
827 (open_inarch): Don't call quick_append to create an empty archive.
828 Instead call bfd_openw/bfd_set_format/bfd_close.
832 * bucomm.c: Always include time.h.
836 * objdump.c (compare_symbols): Sort gnu_compiled and gcc2_compiled
837 symbols after other symbols with the same value. Likewise for
838 symbols which look like file names.
839 (objdump_print_address): Always chose the first reasonable symbol
844 * arsup.c (ar_save): Use rename, not unlink/link/unlink.
848 * strings.c (main): Exit with zero status if no files are given
849 and standard input is read.
853 * mpw-config.in: Calculate underscore and put into makefile
854 fragment, generate config.h.
855 * mpw-make.sed: New file, sed commands to edit Unix makefile
857 * mpw-make.in: Remove.
858 * mac-binutils.r: New file, Mac resources.
862 * dlltool.c: (gen_exp_file): Always emit a .reloc section if
866 (gen_lib_file): Use imp_name_lab.
867 (main): Initialize imp_name_lab.
871 * configure.in: Call AC_HEADER_SYS_WAIT.
872 * configure: Rebuild.
873 * config.in: Rebuild.
874 * dlltool.c: Include "libiberty.h" and "bucomm.h". Don't include
875 <stdio.h>, <stdlib.h>, or <string.h>. Don't include <wait.h>.
876 Include <sys/types.h>. Use HAVE_SYS_WAIT_H to control whether to
877 include <sys/wait.h> or define the wait macros by hand. Don't
879 (gen_lib_file): Don't assume that sprintf returns the number of
880 characters; use strlen instead.
884 * objdump.c (disassemble_data): Don't use the old BFD based
885 disassembler interface. Make info a const pointer.
889 * objdump.c (start_address): New variable.
890 (stop_address): New variable.
891 (usage): Mention --start-address and --stop-address.
892 (OPTION_START_ADDRESS, OPTION_STOP_ADDRESS): Define.
893 (long_options): Add "start-address" and "stop-address".
894 (disassemble_data): Handle start_address and stop_address.
895 (dump_data, dump_reloc_set): Likewise.
896 (main): Don't set seenflag for -l. Handle OPTION_START_ADDRESS
897 and OPTION_STOP_ADDRESS.
898 * objcopy.c (parse_vma): Move to bucomm.c.
899 * bucomm.c (parse_vma): New function, moved in from objcopy.c.
900 * bucomm.h (parse_vma): Declare.
901 * binutils.texi, objdump.1: Document new objdump options.
905 * Makefile.in (maintainer-clean): New target.
907 * ar.c (replace_members): Don't call write_archive if nothing
910 * objdump.c (disassemble_data): Add casts to avoid gcc warnings.
914 * config.in: Rename from config.h.in.
915 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
916 Check for config.h:config.in when creating stamp-h.
917 * configure: Rebuild.
918 * Makefile.in (stamp-h): Depend upon config.in rather than
919 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
920 calling config.status.
922 * Makefile.in (distclean): Remove config.h, stamp-h, and
925 * nm.c (value_format): Initialize based on BFD64 and
927 (print_radix): New static variable.
928 (set_print_radix): Set print_radix. Adjust changes to
930 (print_value): New static function, to print 64 bit octal and
931 decimal values correctly.
932 (print_symbol_info_bsd): Check BFD64, not BFD_HOST_64_BIT. Use
934 (print_symbol_info_sysv): Use print_value.
935 (print_symbol_info_posix): Likewise.
939 * Makefile.in (*.o): Remove incorrect dependencies on
940 $(BFDDIR)/hosts/std-host.h.
942 * Makefile.in (INSTALL_DATA): Add -m 644.
943 (INSTALL_XFORM1): Likewise.
944 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@ rather than $(CC).
945 (mostlyclean): Remove config.log.
946 (distclean): Remove config.cache.
948 * configure.in: Call BFD_CC_FOR_BUILD and BFD_BINARY_FOPEN.
949 * configure: Rebuild.
953 * configure.in: Rewrite to use autoconf.
954 * aclocal.m4: New file.
955 * configure: New file, built by autoconf.
956 * acconfig.h: New file.
957 * config.h.in: New file, built by autoheader.
958 * Makefile.in: Various changes for new configure script. Also:
959 (PROGS): Remove $(SYSINFO_PROG).
960 (ALL_CFLAGS): Remove $(TDEFINES).
961 (version.o): Use $(ALL_CFLAGS).
962 (cplus-dem.o, dlltool.o, nlmconv.o): Likewise.
963 (sysdump.o): Depend upon bucomm.h and config.h.
964 (srconv.o, arsup.o, strings.o): Depend upon config.h.
965 (filemode.o): Don't depend upon ../bfd/sysdep.h.
966 (bucomm.o): Depend upon config.h, not ../bfd/sysdep.h.
967 (size.o, objdump.o, nm.o, ar.o, objcopy.o): Likewise.
968 (nlmheader.o, nlmconv.o): Likewise.
969 (distclean): Don't remove sysdep.h.
970 * bucomm.h: Include "ansidecl.h", <stdio.h>, and "config.h".
971 Include "fopen-same.h" or "fopen-bin.h", based on
972 USE_BINARY_FOPEN. Include <errno.h>, and declare errno if it is
973 not a macro. Include <unistd.h>, <string.h>, <strings.h>,
974 <stdlib.h>, and <fcntl.h> if they are present. Declare strchr,
975 strrchr, and strstr if no string header file exists. Include
976 <sys/file.h> if it exists and <fcntl.h> does not. Define
977 O_RDONLY and O_RDWR if necessary.
978 * ar.c: Don't include "sysdep.h". Do include <sys/types.h> and
979 <sys/stat.h>. Use HAVE_GOOD_UTIME_H rather than POSIX_UTIME. Use
980 HAVE_UTIMES rather than !USE_UTIME. Don't include <errno.h>, and
982 * arsup.c: Don't include <sysdep.h>.
983 * bucomm.c: Don't include "sysdep.h". Include <stdio.h>,
984 <sys/types.h>, and <sys/stat.h>. Include <time.h> if it defines
985 time_t. Define time_t if necessary.
986 * coffdump.c: Don't include "sysdep.h".
987 * coffgrok.c, filemode.c, nlmconv.c, size.c: Likewise.
988 * srconv.c, strings.c: Likewise.
989 * nm.c: Don't include "sysdep.h". Don't try to define HAVE_SBRK.
990 * objcopy.c: Don't include "sysdep.h". Include <sys/types.h> and
992 (simple_copy): Use creat rather than assuming that O_CREAT is
994 * objdump.c: Don't include "sysdep.h". Use
995 NEED_DECLARATION_PRINTF rather than !FPRINTF_ALREADY_DECLARED.
996 * sysdump.c: Include "bfd.h" and "bucomm.h". Don't include
997 "sysdep.h" or <stdlib.h>.
998 (dump_symbol_info): Rename from symbol_info. Change all callers.
1002 * configure.in (host_makefile_frag): Don't set. Substitute for
1003 @CC@, @CFLAGS@, @HDEFINES@ and @LDFLAGS@ in Makefile.
1004 * Makefile.in (AR_FLAGS): Set to rc rather than qv.
1005 (CC): Define as @CC@.
1006 (CFLAGS): Set to @CFLAGS@.
1007 (LDFLAGS): Define as @LDFLAGS@.
1008 (ALL_CFLAGS): Use @HDEFINES@ rather than $(HDEFINES).
1010 * configure.in: Don't bother to call config.bfd for each target.
1011 Just call it for the default target, and use the shell variable to
1012 decide whether underscores are used.
1016 * configure.in: match i[3-6]86-*-win32, not just i386-*-win32.
1020 * dlltool.c (add_indirect): New.
1022 (gen_exp_file): Timestamp should be 0. Insert prefix when
1023 needed. New code for indirection.
1024 (gen_lib_file): Timestamp should be 0. Insert prefix
1026 (usage): Document --add-indirect.
1027 (main): Cope with new option.
1029 * objdump.c (dump_private_headers): New.
1030 (usage): Document new option.
1031 (long_option): Add private-headers.
1032 (dump_bfd_private_header): New.
1033 (main): Cope with new option.
1037 * dlltool.c (run): Add missing 3rd arg to waitpid.
1041 * Makefile.in (TOOL_PROGS): Include dlltool if needed.
1045 * dlltool.c (rva): Deleted.
1046 (rvaafter, rva_before): Use new assembler pseudo.
1047 (flush_page, gen_exp_file, gen_lib_file): Use new way of RVAing.
1048 (gen_exp_file): Don't generate .edata if no need.
1049 (gen_lib_file): Don't make timestamp.
1050 Put _iname in idata$7.
1051 (workout_prefix): Fix memory initialization bug.
1052 (usage): Tidy up, delete many single char options.
1053 (main): rva option is gone.
1057 * dlltool.c (options): image-base is a synonym for rva.
1058 (gen_lib_file): Put dll name into ibase$7.
1062 Modified to generate archives and objects rather than .s files.
1063 * dlltool.c (run) New function.
1064 (gen_exp_file, gen_lib_file): Use run.
1065 (workout_prefix): New.
1066 (usage): Document new options.
1067 (main): Parse new options.
1071 * dlltool.c (gen_exp_file): Fix RVA handling.
1072 (rva_s, rva_n): Delete.
1076 * nm.c (main): Ignore -e.
1080 * Makefile.in (config.texi): New target. Write out a setting for
1081 texinfo variable VERSION.
1082 (binutils.dvi, binutils.info): Depend on it.
1083 * binutils.texi: Include it, and reference @value{VERSION} instead
1084 of explicitly specifying 2.2(!).
1088 * coffgrok.c (do_type): Handle array dimensions the same way gdb
1093 * dlltool.c (mtable): New fields.
1094 (ASM_RVA_BEFORE, ASM_RVA_AFTER): New.
1095 (flush_page): Use new macros.
1099 * objcopy.c (mark_symbols_used_in_relocations): Handle sections
1100 with no relocations.
1101 * coffgrok.c (do_sections_p1): Likewise.
1105 * strings.c (print_strings): For compatibility with existing
1106 strings programs, print strings which are not terminated with a
1107 null byte or a newline.
1108 * binutils.texi, strings.1: Update documentation accordingly.
1110 * ar.c (replace_members): For compatibility with existing ar
1111 programs, permit users to add the same file multiple times.
1115 * strings.c (DATA_FLAGS): Remove SEC_DATA.
1116 (main): If no file names are given, scan standard input.
1117 * binutils.texi, strings.1: strings now scans non-data sections by
1122 * srconv.c (wr_hd): Set afl field to 4 for bfd_arch_sh.
1123 (writeINT): When size == -2, use 2 bytes for the h8300 and 4 bytes
1126 * sysdump.c (fillup): Return size - 1, the last byte is a checksum
1127 and shouldn't be counted.
1128 * sysroff.info (hd): Changed segment identifier from a byte to a 1
1129 bit field. The sysroff 2.0-01 specification seems to be in error
1130 here. Reduce width of following "spare" field from 4 to 3 bits.
1131 (rl): Changed order and width of first 4 bitfields to correspond
1132 to sysroff specification.
1133 (dln_head, dln_inside, dln_tail): Removed.
1137 * nm.c (sort_symbols_by_size): Enclose expression being casted
1138 in parens so result is casted, not just first operand. Can't
1139 do pointer arithmetic on void* pointers.
1143 * sysdump.c (dh): Changed format of output to be 16 hex digits
1144 followed by 16 ascii characters, similar to Emacs' hexl-mode,
1145 to make it easier to read.
1146 (xcalloc): fix typo.
1150 * srconv.c (wr_tr): Write out handcrafted tr block.
1151 (walk_tree_symbol): Use evallen and evalue instead of
1152 vallen & value because of corresponding changes in
1155 * sysdump.c (sysroff_swap_tr_in, sysroff_print_tr_out): New
1158 * sysroff.info (tr): the tr block is a special case --- a block
1159 without contents --- which can't be handled by generated code.
1160 (den, dpp): only first byte is present for DENend, DPPend.
1161 (dsy): describe a conditional portion of block, rename some fields.
1162 (dps): describe a conditional portion of block.
1165 * sysinfo.y (yyerror): write error message to standard error.
1169 * Makefile.in (DISTSTUFF): Add arparse.h and sysinfo.h.
1170 (mostlyclean): Remove y.output.
1171 (clean): Remove sysroff, sysroff.c, sysroff.h, and sysinfo.
1173 * nlmconv.c (powerpc_mangle_relocs): Cast memset arg to size_t.
1174 * objcopy.c (copy_object): Likewise.
1176 * nm.c (HAVE_SBRK): Define execpt on amigados and WINDOWS_NT.
1177 (struct size_sym): Define.
1178 (show_stats): New static variable.
1179 (long_options): Add undocumented option "stats".
1180 (main): Print memory stats if requested.
1181 (sort_bfd, sort_dynamic, sort_x, sort_y): New static variables.
1182 (numeric_forward): Use minisymbols rather than asymbols.
1183 (non_numeric_forward): Likewise.
1184 (size_forward1): Rename from size_forward. Use minisymbols.
1185 (size_forward2): New static function.
1186 (sort_symbols_by_size): Take new arguments dynamic, size, and
1187 symsizep. Use minisymbols. Don't store the size back in the
1188 symbol; store in a newly allocate struct size_sym array.
1189 (display_rel_file): Read minisymbols rather than asymbols. Set
1190 sort_* variables. Call print_size_symbols if sorting by size.
1191 (filter_symbols): Take new arguments dynamic and size. Use
1193 (print_symbols): Likewise. Call print_symbol for actual printing.
1194 (print_size_symbols): New static function.
1195 (print_symbol): New static function.
1199 * objdump.c (dump_section_stabs): Only print each stabs section
1201 (compare_relocs): Make it clear to gcc that this always returns a
1206 * objcopy.c (simple_copy): Preserve errno on failure.
1207 (smart_rename): Print error mesage if simple_copy fails.
1211 * sysdump.c: re-indented file.
1212 (module): read blocks sequentially instead of trying to parse
1213 them, as that would require changing the parser recognize the
1214 difference between a DPSstart and DPSend block.
1215 (getone): Add break's between switch blocks as appropriate.
1216 (object_body_list): parse blocks according to sysroff spec.
1220 * sysroff.info: re-indented file, prior formatting was confusing
1221 because it was indentation did not reflect nesting of conditional
1222 records. Change "space size within segment" record in hd record
1225 * sysinfo.y (cond_it_field): Use xcalloc instead of calloc.
1227 * srconv.c (wr_cs): Reformatted cs header array, tag each byte
1228 with a comment describing the field.
1229 (wr_unit_info): Use SEEK_SET macro instead of constant 0.
1230 (main): Use FOPEN_WB macro instead of literal "wb".
1231 * sysroff.info: Remove fdl (dfl) field from cs block. Compare
1232 ptr->type with ED_TYPE_CONST instead of constant 2 in ed block.
1236 * nm.c (size_forward): Check yf against yn, not xn.
1238 * objcopy.c (copy_archive): Record all output BFD's, and close
1239 them before unlinking them and removing the temporary directory,
1240 to avoid NFS problems.
1242 * ar.c (replace_members): In verbose messages, use 'r' when
1243 replacing a member, and 'a' when adding one.
1245 * ar.c (ar_truncate): New static variable.
1246 (normalize): Change return type to const char *. Add abfd
1247 argument. Change all callers. If ar_truncate, chop the filename
1248 to abfd->ar_max_namelen.
1249 (main): For the 'f' modifier, set ar_truncate to true. Don't
1250 change quick_append to replace if ar_truncate is true.
1251 (do_quick_append): If ar_truncate, set BFD_TRADITIONAL_FORMAT.
1252 (write_archive): Likewise.
1253 * binutils.texi, ar.1: Document 'f' modifier.
1255 * objcopy.c (enum strip_action): Define strip_unneeded.
1256 (OPTION_STRIP_UNNEEDED): Define.
1257 (strip_options): Add "strip-unneeded".
1258 (copy_options): Likewise.
1259 (copy_usage): Mention --strip-unneeded.
1260 (strip_usage): Likewise.
1261 (is_strip_section): Strip debugging sections if strip_unneeded.
1262 (filter_symbols): If strip_unneeded, only keep BSF_KEEP symbols.
1263 (copy_object): If strip_all, discard symbols without checking
1265 (copy_object): Call filter_symbols if strip_unneeded.
1266 (setup_section): Strip debugging sections if strip_unneeded.
1267 (copy_section): Likewise.
1268 (strip_main): Handle OPTION_STRIP_UNNEEDED.
1269 (copy_main): Likewise.
1270 * binutils.texi, objcopy.1, strip.1: Document --strip-unneeded.
1274 * configure.in (i386-*-win32): New configuration.
1275 * dlltool.c (killat, xlate, usage, long_options, main):
1276 Understand and cope with -k option.
1280 * ar.c: (extract_file): Change "#if POSIX_UTIME" to
1281 "#ifdef POSIX_UTIME" to match other tests of POSIX_UTIME
1282 and avoid lossage when POSIX_UTIME is not defined at all.
1286 * ar.c: (print_contents.c, extract_file, do_quick_append):
1287 Malloc buffers rather than allocate on stack (so it works
1289 * deflex.l: Names can have an @ in them.
1290 * dlltool.c: Loads of stuff. Can now generate .imp files which
1295 * mpw-make.in (demangle.c.o): Remove.
1296 (arparse.h): Depend on arparse.c instead of arparse.y.
1300 * Makefile.in (DISTSTUFF): Don't include info here.
1301 (diststuff): Include it here.
1302 (realclean): Remove *.info.
1304 * objdump.c (compare_relocs): If relocation entries have the same
1305 address, keep them in file order.
1309 * dlltool.c: Change names of generated files. .*.s-> -*.s
1311 * objdump.c (dump_section_stabs): Check for names
1312 which are supersets of selected names.
1316 * dlltool.c (mtable, ARM jump): Must redirect via pc offsetable ptr.
1320 * deflex.l, defparse.y, dlltool.c: New files.
1321 * Makefile.in, configure.in: Support for them.
1325 * sysdump.c: Include sysdep.h
1326 (main): Open input with FOPEN_RB.
1330 * objdump.c (wide_output): New flag variable.
1331 (usage): Print new -w, --wide options.
1332 (long_options): Add --wide support.
1333 (dump_section_header): If --wide, don't print a newline between
1334 the section's first line and the flags.
1335 (objdump_print_address): Use unsigned comparisons for the binary
1337 (disassemble_data): If --wide, don't put a \n between the
1338 disassembly output and relocation information.
1339 (main): Support -w option being the same as --wide.
1345 * objcopy.c (smart_rename): make it smarter, clean up
1350 * Makefile.in: Delete lines with lots of #### because four or more
1351 indicate a point for makefile fragment substitution.
1355 * configure.in: Don't build nlmconv on PowerPC eabi any more, it
1360 * Makefile.in (EXPECT): Define.
1361 (RUNTEST): Use one in source tree if present.
1362 (check): Set `rootme' for $(EXPECT).
1366 * srconv.c (main): Add support for -n option which disables
1367 prescan of common symbols.
1368 (wr_ob): If reading past the end of a section, fill with zeros.
1372 * objdump.c (dump_section_header): Display load address after
1373 virtual memory (run-time) address.
1377 * Makefile.in (cplus-dem.o): Pass -DVERSION='"$(VERSION)"' to the
1379 (DEMANGLER_PROG): No longer uses version.o.
1383 Merge in support for Mac MPW as a host.
1384 (Old change descriptions retained for informational value.)
1386 * mpw-config.in (TDEFINES): Define as empty in makefile frag.
1388 * mpw-config.in: Create mk.tmp, define ARCHDEFS in it.
1390 * mpw-config.in: New file, MPW configure fragment for binutils.
1391 * mpw-make.in (install-only): New target.
1392 (install): Also depend on install-only.
1394 * mpw-make.in (cplusfilt): Renamed from c++filt.
1395 (INCLUDES): Add more paths.
1397 * mpw-make.in: New file, MPW makefile fragment for binutils.
1398 (Normally automatically generated from Makefile.in.)
1402 * ar.c (write_archive): Call make_tempname to get output file
1403 name, rather than using a fixed name based on the input file.
1405 * objcopy.c (make_tempname): Copy from here...
1406 * bucomm.c (make_tempname): ...to here, and make global.
1407 * bucomm.h (make_tempname): Declare.
1411 * strings.c: Include "bfd.h" before other headers. Include
1413 * bucomm.c (print_arelt_descr): Cast st_uid and st_gid to long,
1414 and print them with %ld.
1418 * objcopy.c (strip_options): Add --keep-symbol.
1419 (copy_options): Likewise.
1420 (copy_usage): Mention --keep-symbol and -K.
1421 (strip_usage): Likewise.
1422 (keep_symbols): New static variable.
1423 (is_strip_symbol): Adjust the return value according to
1425 (strip_main): Handle -K. For -N, check that -K was not given.
1426 (copy_main): Likewise.
1427 * binutils.texi, objcopy.1, strip.1: Document -K.
1431 * objcopy.c (copy_archive): Check result of mkdir.
1432 (copy_main): Cast an xmalloc result.
1434 * objdump.c (usage): Break long format string into shorter ones.
1438 * bucomm.c (list_supported_targets): New function.
1439 * bucomm.h (list_supported_targets): Declare.
1440 * ar.c (usage): Call list_supported_targets.
1441 * nm.c (usage): Likewise.
1442 * objcopy.c (copy_usage, strip_usage): Likewise.
1443 * objdump.c (usage): Likewise.
1444 * size.c (usage): Likewise.
1445 * strings.c (usage): Likewise.
1449 * bucomm.c (print_arelt_descr): Cast st_size to long before
1450 passing it to fprintf.
1454 * objcopy.c (struct section_list): Add fields remove, set_flags,
1455 and flags. Change adjust from boolean to enum.
1456 (remove_sections): Remove static variable.
1457 (sections_removed): New static variable.
1458 (copy_options): Add --set-section-flags.
1459 (copy_usage): Mention --set-section-flags.
1460 (parse_flags): New static function.
1461 (find_section_list): New static function.
1462 (is_strip_symbol): Change return type from int to boolean.
1463 (is_strip_section): New static function.
1464 (filter_symbols): Call is_strip_section.
1465 (copy_object): When adding sections, check for specified flags or
1466 VMA. Call filter_symbols if any sections are being removed.
1467 (setup_section): Use find_section_list function rather than
1468 looking through remove_sections and adjust_sections. Handle
1469 --set-section-flags.
1470 (copy_section): Use find_section_list rather than looking through
1472 (strip_main): Use find_section_list instead of adding items to
1474 (copy_main): Use find_section_list instead of adding items to
1475 sections_removed and adjust_sections. Handle --set-section-flags.
1476 * binutils.texi, objcopy.1: Document --set-section-flags.
1480 * objdump.c (with_source_code): New global variable.
1481 (usage): Mention -S/--source.
1482 (long_options): Add --source.
1483 (prev_functionname, prev_line): New static variables.
1484 (struct print_file_list): Define.
1485 (print_files): New static variable.
1486 (skip_to_line, show_line): New static functions.
1487 (disassemble_data): Call show_line to handle -l and -S.
1489 * binutils.texi, objdump.1: Document -S/--source.
1493 * objcopy.c (copy_usage): Rename parameter to avoid shadowing.
1494 (strip_usage): Likewise.
1496 * objcopy.c (struct section_add): Define.
1497 (add_sections): New static variable.
1498 (copy_options): Accept --add-section.
1499 (copy_usage): Mention --add-section.
1500 (copy_object): Add sections from the add_sections list.
1501 (copy_main): Handle --add-section.
1502 * binutils.texi, objcopy.1: Document --add-section.
1506 * objdump.c (disassemble_data): Pass section offset, not absolute
1507 address, to bfd_find_nearest_line.
1509 * nlmconv.c (powerpc_mangle_relocs): Don't use const with
1514 * objdump.c (compare_symbols): Use bfd_asymbol_value (VAR) rather
1516 (objdump_print_address): Likewise.
1517 (disassemble_data): Don't change the symbol values. It can
1518 confuse bfd_canonicalize_reloc.
1522 * configure.in: Add support for powerpc-*-ebai.
1524 Wed Jan 18 10:02:12 1995 Steve Chamberlain <sac@splat>
1526 * coffdump.c: Include sysdep.h.
1527 (dump_coff_type): Handle coff_secdef_type.
1528 * coffgrok.c : Include sysdep.h.
1529 * srconv.c: Include libiberty.h
1530 (absolute_p, dty_start, dty_end, dump_tree_structure): Remove.
1534 * coffdump.c (dump_coff_scope): Cast pointer to unsigned long for
1536 * coffgrok.c: Include bucomm.h. Don't declare xmalloc.
1537 (push_scope): Declare type of parameter link.
1538 * size.c: Include libiberty.h.
1539 * srconv.c: Include bucomm.h.
1540 (find_base): Declare at top of file.
1541 (wr_hd): Add default case to architecture switch.
1542 (wr_dps_start): Declare type of parameter nest.
1543 (wr_du): Comment out variables used only in commented out blocks.
1544 (wr_dus): Remove unused variable i.
1545 (wr_sc): Remove unused variables myinfo, low, and high.
1546 * strings.c: Include libiberty.h.
1547 * sysdump.c: Include <ctype.h>.
1551 * ar.c (main): Ignore 'f' modifier used on HP/UX 9.
1555 * ar.c, nm.c, objcopy.c, objdump.c: Include progress.h.
1556 * ar.c, nm.c, objcopy.c, objdump.c (main): Add START_PROGRESS
1558 * ar.c (map_over_members, open_inarch): Call PROGRESS.
1559 * nm.c (main, display_archive, filter_symbols, print_symbols):
1562 * objcopy.c (copy_usage): Break up long usage string.
1566 * objcopy.c (copy_object): Don't bother setting status after
1567 nonfatal() "call", because it won't return.
1571 * nlmconv.c (powerpc_mangle_relocs): Don't switch a reloc to use
1572 the section symbol if the symbol is undefined.
1576 * objcopy.c (add_strip_symbol): Cast return value of xmalloc.
1580 * ar.c (replace_members): Pass current->filename to normalize when
1581 checking for duplicates, because the filename of a newly added
1582 file will not have been normalized yet.
1586 * ar.c (main): Don't call do_quick_append if any of the archive
1587 names are longer than 14 characters.
1589 * objcopy.c (main): Fix is_strip test. From
1594 * objcopy.c (add_strip_symbol): New function, adds a name to an
1595 explicit list of symbols to strip.
1596 (is_strip_symbol): New function, reports whether the name argument
1597 is in the explicit list.
1598 (filter_symbols): Check against is_strip_symbol above all.
1599 (strip_main): Recognize -N option. If used, don't default to
1601 (copy_main): Recognize -N option.
1602 (strip_usage): Document -N and --strip-symbol options.
1603 (copy_usage): Ditto.
1604 * objcopy.1, strip.1, binutils.texi: Document -N and
1605 --strip-symbol options.
1609 * objdump.c (display_target_list, display_info_table): Pass an
1610 array to tmparg, rather than NULL, since some systems can't handle
1613 * objcopy.c (copy_archive): Keep a list of the names of the
1614 temporary files we created. Close each input BFD after we open
1619 * Makefile.in (VERSION): Bump to 2.5.3.
1623 * Makefile.in (install-info): Install info files from whatever
1624 directory they were found in.
1626 Patch from DJ Delorie:
1627 * configure.bat: do c++filt -> cxxfilt right
1629 * sysinfo.y: Include system header files early, so any potential
1630 declaration of abort() occurs before its use.
1632 * strings.c (strings_file): Try opening the file in binary mode
1637 * ar.c (main): Treat ar qs like ar rs.
1641 * objcopy.c (gap_fill): Explicitly initialize, for clarity.
1642 (pad_to_set, pad_to): New static variables.
1643 (copy_options): Accept --pad-to.
1644 (copy_usage): Mention --pad-to.
1645 (copy_object): Support --pad-to.
1646 (compare_section_vma): Sort non loadable sections to the front.
1647 Sort sections with the same VMA by size.
1648 (copy_main): Handle --pad-to.
1649 * binutils.texi, objcopy.1: Document --pad-to.
1653 * objcopy.c (gap_fill_set, gap_fill): New static variables.
1654 (copy_options): Accept --gap-fill.
1655 (copy_usage): Mention --gap-fill.
1656 (copy_object): Support --gap-fill.
1657 (get_sections, compare_section_vma): New static functions.
1658 (copy_main): Handle --gap-fill.
1659 * binutils.texi, objcopy.1: Document --gap-fill.
1663 * Makefile.in (check): Add a dummy else clause to the if
1666 * objcopy.c (copy_object): Revert yesterday's change.
1667 * binutils.texi, objcopy.1: Remove special mention of --set-start
1668 and `binary' output format.
1672 * objcopy.c (copy_object): If the output file format is `binary',
1673 and the start address was not set using --set-start, default the
1674 start address to zero. This hack is because the `binary' output
1675 file format uses the start address to set the virtual address of
1676 the first byte in the file.
1677 * binutils.texi, objcopy.1: Add some notes on generating S-records
1680 * nm.c (print_symdef_entry): Call print_symname to print the
1681 symbol name, so that --demangle works.
1683 * Makefile.in (mostlyclean): Remove tmpdir.
1685 * objcopy.c (struct section_list): Add fields used, adjust, val.
1686 (adjust_start, set_start_set, set_start): New static variables.
1687 (adjust_section_vma, adjust_sections): New static variables.
1688 (copy_options): Add --adjust-start, --adjust-vma,
1689 --adjust-section-vma, --adjust-warnings, --no-adjust-warnings,
1691 (parse_vma): New static function.
1692 (copy_usage): Mention new options.
1693 (copy_object): Handle --set-start and --adjust-start.
1694 (setup_section): Correct type of last argument to PTR. Set used
1695 field if section is removed. Handle --adjust-vma and
1696 --adjust-section-vma.
1697 (copy_section): Correct type of last argument to PTR.
1698 (mark_symbols_used_in_relocations): Likewise.
1699 (strip_main): Clear used field when handling -R.
1700 (copy_main): Handle new options.
1701 * binutils.texi (objcopy): Document new options.
1702 * objcopy.1: Document new options.
1706 * configure.in (configdirs): Remove definition--testsuite is no
1708 * Makefile.in (testsuite): Remove target.
1709 (site.exp): New target.
1711 (clean, distclean): Don't recur into testsuite directory.
1715 * Makefile.in (VERSION): Updated to 2.5.
1716 * Version 2.5 released.
1720 * Makefile.in (sysdump.o): Depends upon sysroff.c.
1724 * nlmconv.c (link_inputs): Pass -Ur flag to ld so that the
1725 ctor/dtor tables needed by C++ programs are built.
1729 * Makefile.in (srconv.o): Add dependence on sysroff.c.
1733 * configure.in: Use ${config_shell} when running config.bfd.
1735 * Makefile.in (sysroff.h): Split target away from sysroff.c.
1736 (srconv.o, sysdump.o): New targets.
1737 (srconv, sysdump): Don't depend upon sysroff.c.
1741 * Makefile.in (arparse.c): Don't ignore errors from mv.
1742 (sysinfo.c): Likewise. Also, depend upon arparse.c, to prevent a
1743 parallel make from trying to build both arparse.c and sysinfo.c
1745 (nlmheader.c): Similar change.
1746 (arparse.h): Separate target from arparse.c, so that a parallel
1747 make does not try to build both at once. Depend upon arparse.c.
1748 (sysinfo.h): Similar change.
1750 * objdump.c (disassemble_data): Pass the reloc buffer to free, not
1751 the pointer used to loop over the relocs.
1755 * objdump.c (disassemble_data): Cast result of xmalloc.
1759 * objdump.c (sorted_syms, sorted_symcount): New global variables.
1760 (objdump_print_address): Use sorted_syms and sorted_symcount
1761 instead of syms and symcount.
1762 (disassemble_data): Don't bother to get the relocs before looping
1763 over the sections. Before filtering and sorting the symbol table,
1764 copy it into sorted_syms.
1768 * objdump.c (struct objdump_disasm_info): Add field require_sec.
1769 (objdump_print_address): If aux->require_sec, require that the
1770 symbol be in aux->sec even if HAS_RELOC is not set. If we can't
1771 find a smaller symbol in the right section, look for a larger one.
1772 (disassemble_data): Set aux.require_sec around the
1773 objdump_print_address call for the instruction address.
1777 * ar.c: Call xexit rather than exit.
1778 (output_filename, output_file, output_bfd): New static variables.
1779 (remove_output): New static function.
1780 (main): Call xatexit (remove_output). Call xexit rather than
1782 (extract_file): Set output_filename and output_file while output
1784 (write_archive): Likewise, but use output_bfd, not output_file.
1785 * arsup.c: Include libiberty.h. Call xexit rather than exit.
1786 * bucomm.c: Likewise.
1788 * objdump.c (disassemble_all): New global variable.
1789 (usage): Document --disassemble-all.
1790 (long_options): Add disassemble-all as a synonym for -D.
1791 (compare_symbols): Make pointers const.
1792 (compare_relocs): New static function.
1793 (disassemble_data): Rename disassemble to disassemble_fn to avoid
1794 shadowing. If dump_reloc_info, print relocs along with
1795 disassembly. Skip sections which are not SEC_CODE unless
1796 disassemble_all or only is set.
1797 (display_bfd): Don't call dump_relocs if disassemble is set.
1798 (main): Accept and handle -D.
1799 * binutils.texi: Document -D/--disassemble-all.
1800 * objdump.1: Likewise.
1804 * objdump.c (disassemble_data): Initialize prevline to 0. Make
1805 prev_function non const. Copy functionname into an malloc buffer
1806 when setting prev_function, instead of assuming that the string
1809 * nm.c: Include libiberty.h.
1810 (sort_by_size): New static variable.
1811 (long_options): Add --size-sort.
1812 (usage): Mention --size-sort.
1813 (numeric_forward): Make static. Change from void * to PTR.
1814 (numeric_reverse): Likewise.
1815 (non_numeric_forward, non_numeric_reverse): Likewise.
1816 (sorters): Change declaration from void * to PTR.
1817 (size_forward, sort_symbol_by_size): New static functions.
1818 (display_rel_file): Handle sort_by_size.
1819 (filter_symbols): If sort_by_size, discard absolute and undefined
1821 * binutils.texi (nm): Document --size-sort.
1822 * nm.1: Document --size-sort.
1826 * objcopy.c (copy_main): Initialize input_filename and
1827 output_filename to NULL.
1831 * Makefile.in (version.o): Depend upon Makefile, so that version.o
1832 gets rebuilt when make variable VERSION is changed.
1834 * objdump.c (dump_section_header): Print the SEC_NEVER_LOAD flag.
1838 * configure.in: Change i[34]86 to i[345]86.
1842 * ar.c (ranlib_touch): Don't update the archive map if there isn't
1847 * ar.c: Include libiberty.h.
1848 (inarch): Remove variable.
1849 (map_over_members): Make static. Add arch argument, and use it
1850 instead of inarch. Change all callers.
1851 (main): Treat --version as -v. Accept -t argument. Accept any
1852 number of archive arguments. Catch and use open_inarch return
1853 value, rather than using inarch.
1854 (open_inarch): Return newly opened BFD, rather than using inarch.
1855 (do_quick_append): Make archive_filename const.
1856 (write_archive): Add iarch argument, and use it instead of inarch.
1858 (delete_members, move_members, replace_members): Likewise.
1859 (ranlib_only): Don't exit on success. Catch and use open_inarch
1861 (ranlib_touch): New function.
1862 * arsup.h (map_over_members): Don't declare.
1863 (ar_end, ar_extract): Declare.
1864 (open_inarch): Change return value in declaration to bfd *.
1865 * arsup.c (map_over_list): Make static. Always pass two arguments
1866 to function. Add arch argument, and use it instead of inarch.
1868 (ar_directory_doer): Make static. Add ignored second argument.
1870 (ar_directory): Use open_inarch return value rather than inarch.
1871 (ar_addlib_doer): Make static.
1872 (ar_addlib): Use open_inarch return value rather than inarch.
1873 (ar_extract): Remove unused local variable abfd.
1877 Add support for removing named sections to objcopy and strip.
1878 * objcopy.c (struct section_list): Define.
1879 (remove_sections): New static variable.
1880 (strip_options, copy_options): Add remove-section.
1881 (copy_usage, strip_usage): Mention -R and --remove-section.
1882 (setup_section): If section is in remove_sections list, ignore it.
1883 (copy_section): Likewise.
1884 (strip_main, copy_main): Handle -R.
1885 * binutils.texi, objcopy.1, strip.1: Document new options.
1889 * nlmconv.c (powerpc_mangle_relocs): Rename symvalue to sym_value,
1890 so as not to conflict with the symvalue typedef in bfd.h.
1894 * nlmheader.y: Per current NetWare docs, accept a revision number
1895 of 0 and treat a revision number greater than 26 as 0.
1899 * objdump.c (objdump_print_address): Correct handling of end of
1900 symbols when looking for next symbol with a different value.
1904 * nm.c (numeric_forward): Treat undefined symbols as "less than"
1905 defined symbols with zero values. If numeric values are equal, or
1906 both symbols are undefined, sort alphabetically. Don't assume
1907 that the difference of two bfd_vma values will truncate to "int"
1908 and still have the same sign.
1909 (numeric_reverse): Call numeric_forward and negate the result.
1910 (print_symbol_info_bsd): For undefined symbols, print leading
1911 spaces equivalent to the width of a printed bfd_vma, rather than
1912 assuming that 8 will look right.
1916 * coffgrok.c (doit): Zero all fields of new structure.
1917 * srconv.c (sysroff_swap_*_out): Remove redundant trailing arg.
1918 * sysinfo.y: Generate sysroff_swap_*_out without requiring extra
1923 * nlmheader.y: Make "stack" and "stacksize" synonyms in the lexer
1924 rather than the parser.
1928 * config/mh-alphaosf, config/mh-apollo68v, config/mh-delta88:
1933 * objdump.c (slurp_dynamic_symtab): Try to get the dynamic symbols
1934 even if the bfd is not marked DYNAMIC. ELF executables are not
1935 marked DYNAMIC, but do have dynamic symbols.
1939 * coffgrok.c (do_where): Make data with no type 'int'.
1940 (do_define): Keep info on source file of a symbol.
1941 * coffgrok.h (coff_symbol): New field.
1942 * srconv.c (PROGRAM_VERSION): Now 1.3
1943 (wr_rl): Use external ref number for symbol.
1944 (wr_dus): Only keep one source file per debug unit.
1945 (wr_dln): Always emit line numbers for first source file,
1946 (wr_globals): Emit globals in the du of their owning source file.
1950 * nlmheader.y: Null terminate var_hdr->threadName.
1954 * Makefile.in (syslex.o, sysinfo.o): Permit C source files to be
1955 in $(srcdir), as they will be for FSF releases.
1959 * nlmconv.c (setup_sections): Preserve existing section flags when
1960 copying in flags from a new section.
1964 * objcopy.c: Include libiberty.h.
1965 (copy_file): If output_target is NULL, set it to the target of the
1970 * nlmconv.c (link_inputs): Fixed memory allocation bug.
1974 * configure.in: Change --with-targets to --enable-targets.
1978 * Makefile.in (sysinfo): Does not depend upon $(ADDL_LIBS).
1980 * nlmconv.c (powerpc_build_stubs): Don't generate the PowerPC
1981 NetWare custom header; no longer needed.
1982 (powerpc_mangle_relocs): Convert relocs against the uninitialized
1983 data section into relocs against the data section.
1985 * configure.in: Set nlmconv_defs to -DNLMCONV_cputype for all the
1986 netware targets. Write it into Makefile as NLMCONV_DEFS.
1987 * Makefile.in (nlmconv.o): Pass $(NLMCONV_DEFS) to $(CC).
1988 * nlmconv.c: Only compile code for specific CPU types if
1989 NLMCONV_cputype is defined.
1991 * nlmconv.c (main): Change uses of bfd_abs_section, etc., to use
1992 bfd_abs_section_ptr or bfd_is_abs_section, etc.
1993 (i386_mangle_relocs, alpha_mangle_relocs): Likewise.
1994 (powerpc_build_stubs): Likewise.
1995 * nm.c (filter_symbols, print_symbols): Likewise.
1996 * objcopy.c (filter_symbols): Likewise.
1997 (mark_symbols_used_in_relocations): Likewise.
1998 * objdump.c (remove_useless_symbols, dump_relocs): Likewise.
1999 * size.c (sysv_internal_printer): Likewise.
2003 * Makefile.in (MANPAGES): Remove $(DEMANGLER_PROG).
2004 (install): Install it explicitly, from build dir, not srcdir.
2008 * objdump.c: Don't include elf/internal.h.
2009 (bfd_elf_find_section): Don't declare.
2010 (read_section_stabs): No special handling for ELF. Always read
2015 * configure.in: Set UNDERSCORE in Makefile based on result of
2016 invoking config.bfd with a second argument of ``_''.
2017 * Makefile.in (underscore.c): Depend upon Makefile. Don't try to
2018 run $(CC) and $(NM), just use $(UNDERSCORE). Create via temporary
2020 (demangle.o): Remove target.
2021 ($(NM_PROG)): Don't depend upon demangle.o, and don't link against
2022 demangle.o. It's in libiberty anyhow.
2023 (cplus-dem.o): Don't depend upon demangle.o.
2024 * binutils.texi: Mention -n and --no-strip-underscores arguments
2029 * nm.c (long_options): Add --no-demangle to turn off --demangle,
2030 and --no-cplus for Linux compatibility.
2031 (usage): Mention --no-demangle.
2032 * binutils.texi: Document --no-demangle.
2036 * nm.c: HOST_64_BIT was renamed to BFD_HOST_64_BIT.
2038 * objcopy.c (copy_archive): Make the temporary directory in the
2039 same directory as the output BFD, since we may not have write
2040 permission on the current directory. Set the permissions of the
2041 new directory to 0700, not 0777.
2045 * configure.in: if this is an rs6000 (and we're not building for
2046 any other bfd targets) then build only nm (collect needs it on
2049 * Makefile.in: define TOOL_PROGS which the list of programes to
2050 install in $tooldir -- replaces a hard-coded list.
2054 * objdump.c (display_target_list): Remove unused local ok.
2058 * config/mh-alphaosf (CFLAGS): Don't specify both -g and -O;
2059 they're not compatible under native cc. Use -O1 instead.
2061 * Makefile.in (VERSION): Updated to cygnus-2.4.1.
2063 Changes from binutils-2.4 net release:
2065 * Makefile.in (MANPAGES): Use $(DEMANGLER_PROG).
2066 ($(DEMANGLER_PROG).1): Build from cxxfilt.man, using sed.
2067 * cxxfilt.man: Renamed from c++filt.1, replaced "c++filt" with
2068 magic token to be replaced by sed.
2072 * configure.bat: update for latest makefile.in
2076 * bucomm.c: Check ANSI_PROTOTYPES rather than __STDC__.
2080 * objcopy.c (copy_section): Set section size correctly if using
2085 * Makefile.in: Add rule for sysinfo.h
2089 * Makefile.in (SRCONV_PROG): Define.
2090 (PROGS): Use $(SRCONV_PROG) too.
2094 * Makefile.in (DISTSTUFF): Add sysinfo.c, syslex.c, in case
2095 someone configures with `targets=all'.
2096 (distclean): Remove y.*.
2097 (syslex.o): Depend on sysinfo.h.
2098 (sysinfo.c): Rename y.tab.h to sysinfo.h.
2099 (install-info): Don't try to install into $(infodir)/$(srcdir).
2100 * syslex.l: Include sysinfo.h, not y.tab.h.
2104 * syslex.l (yywrap): Define as function if not defined as a macro.
2106 * Makefile.in (objdump.o): Deleted special rule.
2107 * configure.in: Don't bother building ARCHDEFS variable for
2109 * objdump.c (ARCH_*): Deleted handling.
2110 (disassemble_data): Call `disassembler' from opcodes library.
2114 * Makefile.in (install): Correct handling of $(tooldir) and
2115 $(bindir) being on different devices.
2119 * sysdump.c (h8300, sh): Add declarations.
2123 * Makefile.in (syslex, sysinfo): Use CC_FOR_BUILD.
2124 * coffdump.c, coffgroc.c, coffgrog.h, srconv.c, sysdump.c,
2125 sysroff.info: Major changes.
2129 * objdump.c (print_section_stabs): Indicate the stab header symbol
2130 more clearly, print numbers of unrecognized stab n_type values.
2134 * nlmconv.c (copy_sections): Copy arelent pointers, not arelents.
2138 * Makefile.in (distclean): Remove $(PROGS) and underscore.c.
2142 * nlmconv.c (setup_sections): Remove special handling of .reginfo
2144 (copy_sections): Likewise.
2145 (alpha_mangle_relocs): Use bfd_ecoff_get_gp_value rather than the
2146 special ECOFF .reginfo section.
2148 * objcopy.c (copy_object): Call bfd_copy_private_bfd_data after
2149 copying everything else, to let it fiddle with the file in its
2152 * objdump.c: Include libiberty.h.
2153 (display_target_list): If a format fails, just go on to the next
2154 one. Check return value of bfd_set_format.
2155 (display_info_table): Likewise. Don't increment loop variable in
2156 for loop test, since that skips the first element.
2157 (display_target_tables): Rewrite loop for clarity. Ensure that it
2158 always prints at least one element.
2160 * nlmconv.c (main): Use CyGnUsEx rather than CyGnUsSeCs for
2161 sections header. Rename from cygnus_sections to cygnus_ext.
2165 * objdump.c (_DUMMY_NAME_): Don't define.
2166 (display_target_list): Use tmpnam to get a file name rather than
2167 using _DUMMY_NAME_. Unlink it when done.
2168 (display_info_table): Likewise.
2170 * nlmconv.c (secsec): New static variable.
2171 (main): Create .nlmsections section in output BFD. Store
2172 information about it in sections header.
2173 (setup_sections): Allocate space in sections header.
2174 (copy_sections): Copy zero sized sections. Put information about
2175 each section in the sections header.
2179 * nlmconv.c (powerpc_build_stubs): Take new outbfd argument.
2180 Change caller. Create custom header for new PowerPC NetWare
2183 * Makefile.in (nlmheader.o, nlmconv.o): Update dependencies.
2184 * nlmconv.c: Include bfd.h and libiberty.h with "", not <>.
2185 * nlmheader.y: Include bfd.h with "", not <>.
2189 * objdump.c: Do an ifdef on __GO32__, not unix.
2193 Added -D (--dynamic) option to nm and -T (--dynamic-syms) and -R
2194 (--dynamic-reloc) arguments to objdump.
2195 * nm.c (dynamic): New static variable.
2196 (long_options): Added "dynamic".
2197 (usage): Mention -D and --dynamic.
2198 (main): Add D to getopt string. Handle -D by setting dynamic.
2199 (display_rel_file): If dynamic is non-zero, read dynamic symbols
2200 rather than normal symbols.
2201 * nm.1: Updated for -D (--dynamic) option.
2202 * objdump.c (dump_dynamic_symtab): New global variable.
2203 (dump_dynamic_reloc_info): New global variable.
2204 (dynsyms, dynsymcount): New global variables.
2205 (usage): Mention -R, -T, --dynamic-syms and --dynamic-reloc.
2206 (long_options): Added "dynamic-reloc" and "dynamic-syms".
2207 (slurp_symtab): If no symbols, return rather than exit.
2208 (slurp_dynamic_symtab): New function.
2209 (display_bfd): Handle dump_dynamic_symtab and
2210 dump_dynamic_reloc_info.
2211 (dump_symbols): Take new dynamic argument, indicating whether to
2212 display dynamic symbols.
2213 (dump_relocs): Move most printing into dump_reloc_set.
2214 (dump_dynamic_relocs): New function.
2215 (dump_reloc_set): New function, extracted from dump_relocs.
2216 (main): Add R and T to getopt string. Handle -T by setting
2217 dump_dynamic_symtab and -R by setting dump_dynamic_reloc_info.
2218 * objdump.1: Updated for -R (--dynamic-reloc) and -T
2219 (--dynamic-syms) options.
2220 * binutils.texi: Updated for new nm and objdump options.
2224 Update for recent BFD changes to symbol and reloc reading. Rename
2225 all uses of get_symtab_upper_bound to bfd_get_symtab_upper_bound.
2227 * coffgrok.c (symcount): Change to long.
2228 (do_sections_p1): Check for error return from
2229 bfd_get_reloc_upper_bound. Change relcount to long, and check for
2230 error from bfd_canonicalize_reloc.
2231 (coff_grok): Change storage to long. Check for error from
2232 bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
2233 * nlmconv.c (main): Change symcount, newsymalloc, newsymcount, and
2234 i to long. Check for error from bfd_get_symtab_upper_bound and
2235 bfd_canonicalize_symtab.
2236 (copy_sections): Change reloc_size and reloc_count to long. Check
2237 for error from bfd_get_reloc_upper_bound and
2238 bfd_canonicalize_reloc.
2239 (mangle_relocs, i386_mangle_relocs, alpha_mangle_relocs): Change
2240 reloc_count_ptr argument to long *. Make corresponding changes to
2241 variables loaded from *reloc_count_ptr.
2242 * nm.c (display_rel_file): Change storage and symcount to long.
2243 Check for errors from bfd_get_symtab_upper_bound and
2244 bfd_canonicalize_symtab.
2245 * objcopy.c (filter_symbols): Change symcount, src_count and
2247 (copy_object): Change symcount to long. Pass another argument to
2248 fprintf. Check for errors from bfd_get_symtab_upper_bound and
2249 bfd_canonicalize_symtab.
2250 (copy_section): Change relcount to long. Check for errors from
2251 bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
2252 (mark_symbols_used_in_relocations): Change relcount and i to long.
2253 Check for errors form bfd_get_reloc_upper_bound and
2254 bfd_canonicalize_reloc.
2255 * objdump.c (storage): Remove global variable.
2256 (symcount): Changed to long.
2257 (slurp_symtab): New local variable storage. Check for errors from
2258 bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
2259 (remove_useless_symbols): Change return value and count to long.
2260 (objdump_print_address): Change min, max, thisplace and i to long.
2261 (disassemble_data): Change i to long.
2262 (dump_symbols): Change count to long.
2263 (dump_relocs): Change relcount to long. Check for errors from
2264 bfd_ret_reloc_upper_bound and bfd_canonicalize_reloc.
2265 (display_info_table): Add casts when passing LONGEST_ARCH for
2270 * nm.c (display_archive): Close each archive element after it has
2272 * objdump.c (display_file): Likewise.
2276 * configure.in: Change error message to refer to bfd/config.bfd
2277 rather than bfd/configure.in.
2281 * More fixes for object formats which allow multiple sections
2283 * objcopy.c (setup_section): Make a new output section even if
2284 one already exists with the given name.
2285 (copy_section): Use isection->output_section rather than trying
2286 to look the output section up by its (possibly non-unique) name.
2288 * Makefile.in (install-info): Look for binutils.info in the
2289 current directory, then in $(srcdir). Don't use $<.
2293 * objdump.c (objdump_print_address): Make static. Declare with
2294 prototype. Change vardiff from int to bfd_signed_vma. Correct
2295 binary search termination condition. When looking for same
2296 section symbol in relocatable file, handle final symbol correctly.
2300 * Makefile.in: Avoid bug in hpux sed.
2302 * objcopy.c: Changes to keep it from stripping symbols used
2303 in output relocations.
2304 (mark_symbols_used_in_relocations): New function. Mark symbols
2305 used in output relocations with BSF_KEEP.
2306 (filter_symbols): Do not strip symbols marked with BSF_KEEP.
2307 (copy_object): Reorder actions. First setup sections, then
2308 build the output symbol table, then copy the section contents.
2312 * ar.c (write_archive): Allocate space for the null byte. From
2317 * Makefile.in: Built nm.new and strip.new to avoid problems with
2318 collect when . is in PATH.
2319 (STRIP_PROG): Change from strip to strip.new.
2320 (NM_PROG): Change from nm to nm.new.
2321 (install): Remove the .new when installing.
2325 * nlmconv.c (powerpc_build_stubs): Set BSF_DYNAMIC flag for each
2326 symbol for which we build a stub.
2327 (powerpc_mangle_relocs): Only reset TOC pointer for a call to a
2328 symbol with BSF_DYNAMIC flag set.
2332 * objcopy.c (filter_symbols): Use bfd_is_local_label to determine
2333 if a symbol represents a compiler-generated local label.
2334 (copy_object): Give the BFD backends a chance to copy any private
2335 bfd data from the input BFD to the output BFD.
2336 (setup_section): Give the BFD backends a chance to copy any private
2337 section data from the input section to the output section.
2341 * objcopy.c (mangle_section): Delete unused function.
2342 (setup_section): Set osection here instead of calling
2343 mangle section to do it.
2347 * ar.c (write_archive): Close inarch before unlinking it.
2351 * nlmconv.c (main): For PowerPC, call powerpc_build_stubs and
2352 powerpc_resolve_stubs. Use __GOT0, not __toc_start. Handle it if
2353 the start and end symbols are not in the text section.
2354 (struct powerpc_stub): New struct definition.
2355 (powerpc_stubs, powerpc_stub_insns): New static variables.
2356 (powerpc_initial_got_size): New static variable.
2357 (powerpc_build_stubs): New function.
2358 (powerpc_resolve_stubs): New function.
2359 (powerpc_mangle_relocs): Clear extraneous data in .got section.
2360 Rearrange reloc handling to handle ELF relocs that are not
2361 partial_inplace. Resolve PC relative relocs.
2365 * ar.c (move_members): Fix it so that the abi positional modifiers
2366 don't delete all archive members following the insert point.
2370 * coffgrok.[ch]: New files, understand coff objects.
2371 * coffdump.c: Uses coffgrok to dump out the debug info of a coff
2373 * sysroff.info: Description of a SYSROFF object file.
2374 * sysinfo.y, syslex.l: Parse info file, generate a reader, writer,
2375 header files and a printer.
2376 * srconv.c: Uses coffgrok.c and sysroff.info to convert a coff
2377 file to a SYSROFF file.
2381 * ar.c (do_quick_append): Pad with a genuine character 10,
2382 rather than whatever '\n' might happen to be.
2386 * nlmconv.c (main): Ignore debugging symbols when looking for
2387 special symbols by name.
2391 * nlmconv.c: Include libiberty.h.
2393 Support for PowerPC NetWare.
2394 * nlmconv.c (main): For PowerPC NetWare, automatically define the
2395 special symbols __toc_start.
2396 (select_output_format): Handle bfd_arch_powerpc.
2397 (mangle_relocs): Likewise.
2398 (powerpc_mangle_relocs): New function.
2402 * ar.c, bucomm.c, nlmconv.c, nm.c, objcopy.c, objdump.c,
2403 size.c: Use bfd_get_error and bfd_set_error and new error names.
2407 * objcopy.c (strip_main, copy_main): Add missing 'break' in switch.
2411 * objdump.c (disassemble_data): Handle bfd_arch_powerpc.
2415 * strings.c objdump.c nlmconv.c objcopy.c nm.c ar.c size.c (main):
2416 Call xmalloc_set_program_name.
2420 * objcopy.c (filter_bytes): Make MEMHUNK a char *, not PTR, so we
2421 can do arithmetic on it.
2425 * objdump.c (dump_section_stabs, read_section_stabs,
2426 print_section_stabs): Functions broken out of dump_stabs_1.
2427 Free the stabs and strings when done with them.
2431 * nlmconv.c (main): Use bfd_get_flavour instead of struct member.
2432 * ar.c (print_contents, extract_file), size.c
2433 (print_berkeley_format, print_sysv_format): Use bfd_get_filename and
2434 bfd_my_archive instead of dereferencing the structs directly.
2436 * ar.c: Use bfd_fatal and bfd_nonfatal instead of bfd_perror and exit.
2437 Indent. Remove DEFUNs.
2439 * nlmconv.c (main), objcopy.c (copy_file): Print matching formats
2441 * nm.c (display_file, display_archive), size.c (display_bfd):
2443 Print matching formats if there is an ambiguous match. Use
2444 bfd_nonfatal instead of hardcoded error message if nothing matches.
2446 * arsup.c, ar.c, objdump.c: Use bfd_get_filename instead of
2449 * nm.c (display_archive): New function, from code in display_file.
2450 (display_rel_file): Renamed from do_one_rel_file.
2453 (display_archive): New function from code in display_file.
2454 (display_file): Check bfd_close error return.
2456 * strings.c (strings_object_file): Check bfd_check_format
2459 * strings.c, objdump.c, size.c: Use bfd_nonfatal instead of bfd_perror.
2461 * bucomm.c: Delete references to exit_handler. It wasn't set
2462 anywhere, and now that we're using the libiberty xmalloc, it
2463 wouldn't always get called before exiting.
2464 (list_matching_formats): Function moved from objdump.c.
2465 * bucomm.h: Declare it.
2467 * objdump.c (disassemble_data): Move some variable decls closer to
2468 their use. Add some comments. Replace a nested block with a
2473 * objdump.c (display_target_list, display_info_table): Check that
2474 the bfd of the dummy output file is not null.
2478 * objcopy.c (filter_bytes): New function.
2479 (copy_section): Call it.
2480 (copy_options, copy_usage, copy_main): Add --byte option to
2481 activate it. Appropriate the -b option (which was an undocumented
2482 synonym for -F) for it, also. Add --interleave, -i option for
2484 (setup_section, copy_section, mangle_section): Renamed with no `s'
2486 * objcopy.1, binutils.texi: Document the new options.
2488 * objdump.c (display_target_tables, display_target_list):
2489 New functions broken out of display_info.
2490 Eliminate some magic constants. Use more meaningful variable names.
2491 (dump_bfd_header): New function broken out of display_bfd.
2492 (dump_section_header): New function broken out of dump_headers.
2493 (remove_useless_symbols): Don't shadow global variable name with
2495 (objdump_print_address): Fix backward test.
2499 * bucomm.c (print_arelt_descr): Change decl of `when' to time_t.
2500 * objdump.h: Removed.
2504 * objdump.c (display_file): Remove call to list_matching_formats.
2505 It would never be called.
2506 (list_matching_formats): Take an arg giving the list of matching
2508 (display_bfd): Pass the arg, and get it filled in by calling
2509 bfd_check_format_matches instead of bfd_check_format.
2510 (display_info, display_info_table): target_vector was renamed to
2513 * binutils.texi (objdump): Note some limitations of -h section
2518 * Makefile.in (MALLOC): Set to emptiness by default.
2519 (ALL_CFLAGS): Add and use.
2520 (arparse.h): Make it depend on arparse.y.
2521 * ar.c (libbfd.h): Don't require to be in ../bfd.
2522 * objdump.c (comp): Rename to compare_symbols.
2526 * objdump.c (list_matching_formats): If the file format is ambiguous,
2527 print the matching names so the user can choose one.
2528 (display_bfd): Call it.
2529 (display_file): Call it.
2533 * objdump.c (disassemble_data): Support bfd_arch_rs6000.
2537 * objdump.c (stab_name): Allocate dynamically.
2538 (stab_print): Use pointers to strings instead of char arrays.
2539 (dump_stabs): Change alloc and init of arrays appropriately.
2540 (dump_stabs_1): Always decide whether to print stab_name or
2541 the stab's type number, if unnamed.
2545 * objcopy.c (strip_main, copy_main): Don't clobber the input file
2548 * nlmconv.c (main): Warn about an attempt to use a shared library
2549 with uninitialized data.
2551 * nlmconv.c (setup_sections): Make sure that we align the
2552 output_offset of each input section appropriately.
2556 * objdump.c (dump_relocs): Don't crash if section name is NULL.
2560 * filemode.c (filemodestring): Commented out; not used.
2561 (mode_string): Use POSIX definitions.
2562 (ftypelet): Likewise.
2563 (rwx): Removed; no longer used.
2564 * bucomm.c: Include bucomm.h.
2565 (bfd_nonfatal, bfd_fatal): Argument is const.
2566 (fatal): Make __STDC__ version.
2567 * bucomm.h (mode_string): Declare.
2568 * Makefile.in (bucomm.o): Depend upon bucomm.h
2572 * bucomm.c (xmalloc, xrealloc): Deleted.
2573 * bucomm.h (xmalloc, xrealloc): Fix prototypes, to correspond to
2574 libiberty version of functions.
2578 * binutils.texi: Add a chapter summarizing the ways to select
2579 aspects of the target for each program.
2581 * objdump.c (long_options, usage): Add long equivalents for all
2582 remaining short options that lacked them.
2583 * binutils.texi objdump.1: Document them.
2585 * size.c (usage): Tweak usage message.
2586 * size.1: Add missing `=' in examples.
2588 * binutils.texi strip.1 objcopy.1 nlmconv.1 objcopy.c nlmconv.c:
2589 Use "--target=bfdname" as the option to select the BFD target,
2590 like nm and size already do.
2591 Reserve "--format=format" for textual output selection options, but
2592 for now keep old option names as obsolete for backward compatibility.
2594 * strings.c (main, strings_object_file, usage): Add --target option.
2595 * binutils.texi strings.1: Document it.
2599 * ar.c (main): Add \n in error message.
2604 * ar.c (main): Put parens around assignment used as truth value.
2605 * objcopy.c (strip_main): Remove unused variables. Return 0.
2606 (copy_main): Remove unused variables. Return 0.
2607 * objdump.c (display_bfd): Declare return value as void.
2608 (stab_print): Use "" instead of 0 to initialize array.
2609 (dump_stabs_1): Print vma using printf_vma.
2610 (display_info): Put parens around assignment used as truth value.
2611 * strings.c (print_strings): Cast printf arguments.
2613 * objcopy.c (copy_main): Use copy_options, not strip_options.
2615 * nlmheader.y (command): Warn about illegal date values.
2619 * bucomm.c bucomm.h: Run through indent. De-ansidecl-ify.
2620 (bfd_nonfatal): New function.
2621 (bfd_fatal): Call it.
2623 * objcopy.c (smart_rename): Do a copy if the dest file has
2624 multiple hard links. Remove source file on successful copy.
2625 Try to preserve mode and owner on successful rename.
2627 * objcopy.c: Run through indent. Clean up a bit.
2628 Make global variables static.
2629 Make {input,output}_{target,filename}, show_version local
2630 to various functions.
2631 New global variable `status' for exit status.
2632 (strip_main, copy_main): New functions with code from main.
2633 (nonfatal): New macro. Use it globally instead of bfd_perror and
2636 (copy_object): Call mangle_sections with bfd_map_over_sections.
2637 (mangle_sections): Adjust for new calling convention.
2641 * nlmheader.y (command): Accept MAP and FULLMAP without arguments.
2642 * nlmconv.c (main): Change error message for MAP and FULLMAP.
2646 * nlmconv.c (main): Warn about imported symbols that are not in
2647 the IMPORT list even if the IMPORT keyword is not used.
2649 * nlmconv.c (debug, unlink_on_exit): New static variables.
2650 (long_options): Add "debug" and "linker".
2651 (main): Handle -d and -l arguments. Make command line input and
2652 output files optional. Parse the command file before opening the
2653 BFD's, which requires storing more information in local variables.
2654 If INPUT names multiple files, link them together. Use OUTPUT for
2655 the output file name if not named on command line.
2656 (show_usage): Changed for new options.
2657 (link_inputs): New function to automatically invoke linker to
2658 handle multiple INPUT files.
2659 (choose_temp_base_try, choose_temp_base, pexecute): New functions,
2660 mostly copied from gcc/gcc.c.
2661 * nlmconv.h (input_files, output_file): Declare.
2662 * nlmheader.y (input_files, output_file): Define.
2663 (command): Support INPUT with a string_list argument. Support
2665 (string_list): Renamed from module_list.
2666 * Makefile.in (nlmconv.o): Define LD_NAME based on
2667 program_transform_name.
2671 * nlmheader.y (nlmheader_identify): New function. Use it to print
2672 the program name just once, instead of with every error message.
2676 * nlmconv.c (long_options): Changed --header-info to --header-file
2677 to match documentation and usage message.
2681 * objdump.c (dump_relocs): Avoid dereferencing a NULL sym_ptr_ptr
2686 * nlmconv.c (main): Change various types from bfd_size_type to
2687 size_t, since they have to be arguments to fread and fwrite.
2688 Change set from char * to unsigned char *.
2689 (select_output_format): Make mach argument unsigned. Handle
2691 (setup_sections): Don't copy the .reginfo section of an ECOFF
2692 file. Call bfd_set_reloc to initialize the relocation fields.
2693 (copy_sections): Don't copy the .reginfo section of an ECOFF file.
2694 Combine all relocs for a section.
2695 (mangle_relocs): Change type of relocs to permit specific
2696 functions to change it. Call alpha_mangle_relocs for alpha,
2697 default_mangle_relocs for other architectures.
2698 (default_mangle_relocs): New function. Adjust the address of all
2699 relocs by the output_offset.
2700 (i386_mangle_relocs): Change type of relocs argument. Cast length
2701 argument to memmove to size_t.
2702 (alpha_mangle_relocs): New function.
2706 * nlmconv.c (select_output_format): Use nlm32-sparc for
2711 * nlmconv.1: added man page
2712 * objcopy.1: fixed format errors
2716 * Makefile.in: Use CFLAGS as well as LDFLAGS when linking.
2720 * strings.1: Fix typo.
2724 * Makefile.in (DISTSTUFF): Build "info".
2725 (VERSION): Updated to cygnus-2.3.1; 2.3 has gone out.
2729 * objdump.c (dump_stabs): Handle stabs-in-som as implemented
2730 by the new BFD SOM assembler.
2734 * ar.1 c++filt.1 nm.1 objcopy.1 objdump.1 ranlib.1 size.1
2735 strings.1 strip.1: Replace \(em in NAME section with \- so
2736 makewhatis can grok it.
2740 * nlmconv.c (i386_mangle_relocs): Adjust reloc address by
2741 section output_offset.
2745 * binutils.texi: added nlmconv chapter
2749 * Makefile.in: Change RUNTESTFLAGS to RUNTEST_FLAGS
2753 * Makefile.in (distclean): Don't get rid of dvi or info files.
2757 * objcopy.c (S_ISLNK): Define as 0 if there's no S_IFLNK.
2761 * binutils.texi: Move objcopy docs into alphabetical order.
2763 * objdump.c: Use xmalloc instead of malloc.
2767 * objdump.c (info): Rename to formats_info.
2768 (dump_stabs_1): Better comments and formatting.
2772 * ar.c (main): Always create the archive when quick appending,
2773 even if no input files have been given.
2777 * nlmconv.c (main): Set sharedDebugRecordOffset and
2778 sharedDebugRecordCount fields in extended header.
2780 * nlmconv.c (main): Force moduleName field to upper case.
2784 * objcopy.c (main): Give a usage message if there are too many
2789 * Makefile.in (install-info): Rewrite to take advantage of VPATH,
2790 so FSF distributions (with info files in $(srcdir)) install
2792 (DISTSTUFF): Build nlmheader.c too.
2796 * ar.c (program_name): Don't define here.
2797 * objdump.c: Include "bucomm.h".
2798 (xmalloc): Don't declare here.
2799 (program_name): Don't define here.
2800 (program_version): Fixed type in declaration.
2801 * size.c: Include "bucomm.h".
2802 (program_name): Don't declare here.
2806 * objdump.c (fprintf): hide declaration in FPRINTF_ALREADY_DECLARED
2810 * nlmconv.c (i386_mangle_relocs): Resolve and remove PC relative
2811 relocs against defined symbols in the same section.
2815 * Makefile.in (binutils.dvi): use TEXIDIR to find texinfo.tex
2819 * objcopy.c (simple_copy, smart_rename): New functions.
2824 * Makefile.in (clean, distclean): Recurse into testsuite.
2828 * objcopy.c (setup_sections, copy_sections): If stripping, don't
2829 copy SEC_DEBUGGING sections.
2830 * objdump.c (dump_headers): Print SEC_DEBUGGING flag.
2832 * objdump.c (usage): Mention --stabs.
2834 * objcopy.c (copy_object): Copy all applicable file flags.
2835 (copy_file): Don't copy EXEC_P specially here.
2839 * nlmconv.c (main): Adjust data section size to correspond to bss
2840 alignment adjustment. Clear BSF_SECTION_SYM if symbol is moved to
2841 a different section. Use time_t for time variable.
2842 (setup_sections): Only put sections with contents in output NLM.
2843 (i386_mangle_relocs): No symbols are common at this point. Add
2844 casts to avoid warnings.
2848 * objdump.c: Made the --stabs option work for stabs-in-coff.
2849 (ELF_STAB_DISPLAY): Removed.
2850 (dump_elf_stabs): Renamed to dump_stabs, changed to run for
2851 any object file format.
2852 (dump_elf_stabs_1): Renamed to dump_stabs_1, added calls to
2853 generic BFD routines for non-ELF case, changed format of message
2854 for no-section-found case.
2855 (display_bfd): Always call dump_stabs if requested.
2856 (dump_data): Call bfd_section_size to get section size.
2860 * Makefile.in (install): Don't put strings in tooldir/bin.
2864 * nlmconv.c (total_bss_size): Removed.
2865 (main): Set the bss vma to always follow the data section. Move
2866 symbols into new sections, and adjust values by output_offset.
2867 (setup_sections): Don't copy all sections, but instead point all
2868 text sections to .text, all data sections to .data, and all bss
2870 (copy_sections): Adjust accordingly.
2874 Only build nlmconv if configured for a NetWare target.
2875 * configure.in: If we have some *-*-netware* target, or are using
2876 all targets, set BUILD_NLMCONV to $(NLMCONV_PROG) in Makefile.
2877 * Makefile.in (PROGS): Use $(BUILD_NLMCONV) rather than
2882 * objdump.c (ARCH_all): Define ARCH_hppa too.
2883 (dump_headers): Don't test for SEC_BALIGN if it's not defined by
2888 * nlmconv.c (main): Force creation of .bss section. Set up the
2889 sections before looking at the symbols. Move all common symbols
2890 into .bss section. Automatically define _edata and _end. Only
2891 export symbols in the export list, with multiple prefixes if
2892 necessary. Warn if no version. Always create extended header.
2893 Set date automatically if not already set.
2894 (setup_sections): Count size of bss sections.
2895 (mangle_relocs, i386_mangle_relocs): Accept section argument, and
2896 take reloc_count as a changeable pointer; changed callers.
2897 (i386_mangle_relocs): Remove PC relative relocs within a section,
2898 as they require no adjustment.
2899 * nlmheader.y: Fixed memory allocation throughout: token STRING is
2900 now allocated on the heap, and freed if not needed. Null
2901 terminated copyright message. Accept version with only two
2903 (symbol_list_opt): New nonterminal, either symbol_list or empty.
2904 (symbol_list): Use left recursion to avoid overflowing parser
2906 (yylex): Rearranged beginning of line check. Accept quoted
2907 strings using single quotes. End generic argument at comment
2908 character or parentheses.
2909 (string_list_append): Fixed.
2910 (string_list_append1): New function.
2912 * bucomm.h: The first argument to xrealloc is PTR, not char *.
2913 * bucomm.c (xrealloc): Use PTR rather than char *.
2914 * Makefile.in (objdump.o): Depend upon config.status to notice
2915 --with-targets changes.
2916 (nlmconv.o): Depend upon bucomm.h.
2920 * configure.in: Don't pass cpu to config.bfd.
2924 * Makefile.in ($(NM_PROG)): Depend on demangle.o.
2925 (demangle.o): New target.
2926 (cplus-dem.o): Depend on it, to force compilation order when doing
2929 * nm.c (print_symbol_info_{bsd,sysv,posix}): Take a bfd arg.
2930 (struct output_fns print_symbol_info): Ditto.
2931 (long_options, usage, main): Add -C --demangle option.
2932 (print_symname): New function, demangling if requested.
2933 (print_symbols, print_symbol_info_{bsd,sysv,posix}): Use it.
2937 * Makefile.in: Put CFLAGS last in compilation rules and omit from
2938 linking rules. Use ARCHDEFS to compile objdump.c.
2939 Update dependencies.
2940 * configure.in: Construct ARCHDEFS based on the BFD target makefile
2942 * objdump.c: Conditionalize calls to the print_insn_ARCH functions
2943 according to ARCHDEFS.
2947 * ar.c: Removed obsolete and non-functional GNU960 code.
2951 * size.c (berkeley_sum): New function.
2952 (bsssize, datasize, textsize): New global variables.
2953 (bss_section_name, data_section_name, text_section_name): Removed.
2954 (print_berkeley_format): Map berkeley_sum over all the sections,
2955 rather than only reporting sizes of specifically named sections.
2956 * Makefile.in ($(OBJDUMP_PROG)): Removed dependency on size.o.
2960 * nlmconv.c, nlmconv.h, nlmheader.y: New files for program to
2961 convert object files into NetWare Loadable Modules.
2962 * Makefile.in (NLMCONV_PROG): New macro, define to be nlmconv.
2963 (PROGS): Add NLMCONV_PROG.
2964 (nlmheader.c, nlmheader.o, nlmconv.o, $(NLMCONV_PROG)): New
2969 * Makefile.in: define MAKEOVERRIDES to an empty string
2973 * objcopy.c (copy_file): Make failures to process a file nonfatal.
2977 * nm.c: Add -B option, like --format=bsd.
2981 * objcopy.c (copy_file): If the file is neither an object nor an
2982 archive, give an error rather than returning success.
2986 * objdump.c (objdump_print_address): Prefer non-local symbols over
2987 local ones, and especially discriminate against debugging symbols.
2988 Also, for relocateable files, try to find a symbol in the current
2989 section, instead of picking one from some random section with a
2990 convenient value (read, section offset).
2991 (disassemble_data): Cast argument to malloc to size_t first.
2992 (dump_data): Likewise.
2993 (dump_relocs): If a single section name is specified, show relocs
2994 only for that section. Otherwise, silently omit sections without
2995 relocs. Format table nicely even if values are printed using 16
2996 digits instead of 8.
3000 * nm.c: Changes for final version of POSIX.2.
3001 (print_symbol_filename_{bsd,sysv,posix}): New functions.
3002 (formats): Add an element for a pointer to them.
3003 (print_symbols): Call it.
3004 (print_object_filename_posix, print_archive_member_posix): Produce
3005 output according to new POSIX.2 spec.
3007 * strings.c (print_strings): Handle STREAM being NULL.
3008 (strings_a_section): Pass a NULL.
3009 (main): Don't open /dev/null.
3013 * objdump.c (disassemble_data): Handle the m88k.
3014 (display_bfd): Use bfd_errmsg, rather than just claiming that the
3015 bfd is not an object file.
3019 * Makefile.in (TAGS): make work again by naming directories
3020 explicitly rather than depending on undefined macros.
3021 (INSTALL_XFORM): correct bad install target.
3025 * strings.c: Doc fixes.
3029 * Makefile.in: Note dependencies on bucomm.h.
3030 (cplus-dem.o): Link c++filt with version.o.
3032 * strings.c: Include bucomm.h and add prototypes to other decls.
3035 * bucomm.h: Declare xrealloc.
3037 * nm.c, objcopy.c, objdump.c, size.c, strings.c (main, usage): Add
3038 --help option. Put "GNU" in the version message.
3039 (usage): Take stream and exit status as args.
3040 (main): Pass new args to usage.
3044 * strings.c, strings.1: New files.
3045 * binutils.texi: Document strings.
3046 * Makefile.in: Add rules for it.
3050 * objdump.c: Use size-independent bfd elf section names.
3054 * objdump.c (objdump_print_address): Handle wide offsets by
3055 calling sprintf_vma.
3059 * objdump.c (syms2): Removed unused variable.
3060 * objdump.c (remove_useless_symbols): New function.
3061 * objdump.c (comp): Simplify.
3062 * objdump.c (dis-assemble_data): Make simpler and more
3063 efficient how we filter out useless symbols: Just filter
3064 BEFORE the sort (using remove_useless_symbols).
3065 * objdump.c (objdump_print_address): Simplify.
3066 Change output syntax to match gdb.
3070 * Makefile.in: canonicalize install.sh; for use within
3071 this directory (and subdirs)
3073 Mon Jun 14 12:13:22 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
3075 * Makefile.in (install, install-info): remove parentdir support,
3076 use INSTALL_XFORM; define INSTALL_XFORM
3080 * objcopy.c (copy_object): Fix bad size passed to xmalloc().
3084 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
3085 * configure.in: No longer need to configure to get sysdep.h.
3086 * objcopy.c (copy_object): Fix symbol table handling.
3090 * objcopy.c (filter_symbols): Cannot filter the symbols
3091 in place, because that confuses the relocs, so take separate
3092 parameter for output array.
3093 * objcopy.c (sympp): Make two variables: isympp and osympp.
3094 * objcopy.c (copy_object): Allocate separate array (osympp)
3095 for filtered symbols.
3097 Fri Jun 4 10:51:44 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3099 * Makefile.in: change recursion test to presence of a configured
3104 * Makefile.in (underscore.c): Hack the backquoted command so it
3105 doesn't cause Solaris make to bomb.
3109 * Makefile.in: added c++filt and objcopy to MANPAGES variable
3110 * .Sanitize: keep c++filt.1 and objcopy.1
3112 Thu Jun 3 00:32:52 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3114 * Makefile.in: rename LOADLIBES to EXTRALIBS
3118 * c++filt.1, objcopy.1: new man pages
3122 * Makefile.in (install): Also install ar and ranlib in
3123 $(tooldir)/bin; needed for building libgcc.a.
3124 * objdump.c (objdump_print_address): Fix the check
3125 "coincidental" label matches by dis-allowing undefined
3130 * biutils.texi: revised c++filt chapter
3134 * Makefile.in (FLAGS_TO_PASS): Pass down CC and CFLAGS.
3138 * objdump.c (slurp_symtab): Print warning for bad symbol table.
3139 (bfd_elf32_find_section, Elf32_Internal_Shdr): Updated
3140 declarations and uses.
3142 * Makefile.in (DISTSTUFF): Don't build binutils.mm.
3146 * nm.c: Add -f/--format, -P/--portability, -t/--radix options.
3147 Make global variables static.
3148 (main): Make -v like -n, not -V, and make -A like -o, for POSIX.2.
3149 (set_print_radix, set_output_format,
3150 print_{object_filename,archive_filename,archive_member,symbol_info}
3151 {bsd,sysv,posix}): New functions.
3152 (display_file, print_symbols): Call them.
3154 * ar.c: Improve error messages.
3156 * nm.c (main): Handle long options that just set a flag.
3158 * nm.c (main), ar.c (do_show_version), objcopy.c (main), size.c
3159 (main): Exit after printing the version number, per the GNU coding
3164 * README, Makefile.in: Minor updates for 2.2.
3168 * Makefile.in (underscore.c): Automatically generate
3169 (using nm) a file with the variable prepends_underscore.
3170 * Makefile.in (c++filt): Link underscore.o with cplus-dem.o
3171 so that initial underscores get removed iff appropriate.
3172 * binutils.texi: Preliminary documentation for c++filt.
3173 * Makefile.in, binutils.texi: Set to version 2.2.
3175 * NEWS: Mention copy->objcopy renaming and new c++filt program.
3179 * Makefile.in (cplus-dem.o, $(DEMANGLER_PROG)): Build the
3180 demangler via cplus-dem.o, rather than directly from the .c file.
3182 * objcopy.c: Renamed from copy.c, updated comments accordingly.
3183 * Makefile.in, binutils.texi: Renamed copy to objcopy.
3184 * is-strip.c, maybe-strip.c, not-strip.c: Updated comments for
3185 rename of copy to objcopy.
3189 * binutils.texi (strip, -v option): Fix typo.
3193 * Makefile.in (RUNTEST): Define.
3194 (FLAGS_TO_PASS): Pass down RUNTEST.
3198 * Makefile.in (DEMANGLER_PROG): Name it c++filt.
3199 (PROG): Also build and install COPY_PROG.
3203 * Makefile.in: Change definition of $(tooldir) to match FSF.
3207 * size.c (usage): Add missing options.
3208 (main): Clean up option parser.
3210 * objdump.c (usage): Add missing options.
3211 (display_file): Print program name before calling
3214 * nm.c (usage): Add missing options.
3215 (main): Clean up option parser.
3216 (display_file): Print program name before calling
3219 * copy.c (copy_usage, strip_usage): Add missing options.
3221 * ar.c (usage): New function.
3223 (open_inarch, do_quick_append): Print program name before calling
3228 * nm.c (main): Accept and ignore -A and -B for MIPS compatibility.
3232 * Makefile.in: Added FLAGS_TO_PASS so tests get run on freshly
3233 built binaries if they exist. (otherwise the path)
3237 * Makefile.in: Changed check target to use DejaGnu.
3241 * Makefile.in: Remove am29k-pinsn.c, i960-pinsn.c.
3242 objdump.c: a29k and i960 are `disassemble' not `print'.
3244 * objdump.c: Rename print_address to objdump_print_address
3245 and change parameters.
3246 (disassemble_data): Use objdump_print_address.
3250 * objdump.c (disassemble_data): print_insn_sparc is now a
3251 `disassemble' not a `print'.
3252 Makefile.in: Remove sparc-pinsn.c (now in libopcodes.a).
3254 * objdump.c (disassemble_data): Use new read_memory_func stuff.
3258 * objdump.c (fprintf): Declaration of variadic function had better
3259 be a prototype for ANSI C systems.
3261 Mon Mar 22 23:19:46 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3263 * Makefile.in: rename test-install to install-check
3267 * objdump.c (disassemble_data): Add H8500.
3271 * objdump.c (usage): Mention long options.
3275 * nm.c: Modify behavior of -o flag for archives to match
3276 BSD4.4 and Sunos 4: Prefix archive name before each line.
3278 * m68k-pinsn.c: Removed. Subsumed by ../opcodes/m68k-dis.c.
3279 * i386-pinsn.c: Removed. Subsumed by ../opcodes/i386-dis.c.
3280 * Makefile.in: Adjust accordingly.
3281 * objdump.c: Support new-style disassemblers (ones that use
3282 the interface of ../include/dis-asm.h).
3286 * Makefile.in: When making tar file, remove texinfo/*,
3287 except for texinfo/texinfo.tex.
3288 * ardup.c: Add extern declaration of strdup.
3289 * Makefile.in (testsuite): Add 'else true' since otherwise
3290 Ultrix /bin/sh complains.
3294 * Makefile.in: Set VERSION to 2.1.
3295 * README, NEWS: Updates.
3296 * nm.c: Add -v as a synonym for -V.
3300 * configure.in: added testsuite to configdirs.
3301 * Makefile.in: added support for building testsuite.
3305 * objdump.c (disassemble_data): Print function names when
3306 given by bfd_find_nearest_line. If not - still print
3311 * binutils/testsuite: made modifications to testcases, etc., to allow
3312 them to work properly given the reorganization of deja-gnu and the
3313 relocation of the testcases from deja-gnu to a "tool" subdirectory.
3317 * objdump.c (dump_data): Free up section contents each time
3322 * binutils/testsuite: Initial creation of binutils/testsuite.
3323 Migrated dejagnu testcases and support files for testing nm to
3324 binutils/testsuite from deja-gnu. These files were moved "as is"
3325 with no modifications. This migration is part of a major overhaul
3326 of dejagnu. The modifications to these testcases, etc., which
3327 will allow them to work with the new version of dejagnu will be
3328 made in a future update.
3332 * Makefile.in (LIBIBERTY_SRC_DIR, LIBIBERTY_BIN_DIR): New macros.
3333 * Makefile.in (LIBIBERTY): Use LIBIBERTY_BIN_DIR.
3334 * Makefile.in (DEMANGLER_PROG): New program to build. Add macro
3336 * Makefile.in (PROGS): Add DEMANGLER_PROG.
3340 * copy.c, nm.c, objdump.c, size.c: Use new bfd_is_com_section
3341 macro rather than checking for equality to bfd_com_section.
3345 * objdump.c (disassemble_data): Fix code to find first useless
3350 * objdump.c (disassemble_data): Use mips_print_insn for MIPS.
3351 Don't core dump if bfd_find_nearest_line returns false.
3355 * objdump.c (disassemble_data): know how to disassemble z8000s
3360 * arsup.h (interactive), bucomm.h (program_name): Prefix
3361 with 'extern', to avoid warnings from some compilers.
3365 * arparse.y: fix unnecessary shift/reduce
3369 * Makefile.in: Make check depend on all.
3370 * Makefile.in (distclean): Remove sysdep.h.
3371 * size.c: Use %u format where appropriate.
3372 * objdump.c: Standardize: L_SET -> SEEK_SET.
3373 * objdump.c: Use new macro bfd_asymbol_bfd.
3374 * configure.in: Allow std-host as the default ${mys_host}.
3376 Thu Dec 17 19:38:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3378 * Makefile.in: added dvi target, define and use TEXI2DVI
3382 * Makefile.in (dist): Fix permissions before release.
3383 * size.c: Use bfd_size_type (and long) where appropriate.
3384 * ar.c: Make writing a map the default, to be compatible
3385 with SYSV and Posix.2. Remove some bogus kludges that
3386 handled __.SYMDEF directly.
3389 Mon Nov 9 13:36:53 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3391 * Makefile.in: flex no longer needs the -S flag
3393 Sat Nov 7 15:06:13 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3395 * ar.c (extract_file): utime needs a pointer to a utimbuf
3397 * Makefile.in: handle -I includes better, adding $(BASEDIR)/bfd to
3398 the list (since some of the bfd/hosts/*.h files include other
3399 files from that directory)
3403 * i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper bound properly.
3407 Clean up some old BFD ansification macros.
3409 * arsup.h, bucomm.h, objdump.h: Remove EXFUN from binutils.
3410 It still remains as a local macro in gmalloc.c, which is derived
3411 from some other copy of GNU Malloc somewhere (FIXME).
3413 * ar.c, objdump.c, size.c: Replace EXFUN with PROTO. Make static
3415 * arsup.h: Declare extract_files.
3419 * ar.c (extract_file): instead of checking USG: if POSIX_UTIME,
3420 use utime and utimbuf structure, otherwise if USE_UTIME use utime
3421 and array of two longs, otherwise use utimes.
3425 * binutils.tex: Document yesterday's changes to strip and copy.
3429 * copy.c: Re-do command-line parsing to use getopt_long().
3430 Add long option names. Re-think option letters to be more
3432 * copy.c: New function filter_symbols() for stripping only
3433 debug-symbols and/or local symbols. Use these to support
3434 the previously-missing options of the old FSF strip.
3438 * configure.in (host): Use ${srcdir}/../bfd/configure.host rather
3439 than repeating a copy of it here.
3443 * copy.c (main): Even if is_strip, accept -d argument indicating
3444 alternate output format. Needed by gdb for Nindy.
3446 * m68k-pinsn.c (print_insn_arg): Handle new "`" operand type.
3450 * binutils.texi: added documentation for "copy"
3452 Tue Oct 6 14:22:56 1992 Per Bothner (bothner at PersSony)
3454 * Makefile.in (*clean rules): Some cleaning up.
3455 * Makefile.in (dist): Make diststuff in gprof for a dist.
3457 * ar.c (do_show_version): New function.
3458 * ar.c (main): Fix so "ar -V" works.
3460 Thu Oct 1 22:44:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3462 * configure.in: now uses the cpu-vendor-os triple instead of
3467 * i960-pinsn.c: Change bzero to memset.
3468 * sparc-pinsn.c: Change index to strchr.
3472 * m68k-pinsn (print_insn_arg, fetch_arg): added support for
3473 operands to memory management instructions, from WRS.
3477 * Makefile.in (install): if $(tooldir) exists, install nm and
3478 strip in $(tooldir)/bin.
3482 * Makefile.in: Let's call it version 2.0.
3486 * Makefile.in: Bump to version 0.98.
3487 * TODO, README: Minor updates.
3489 * Makefile.in: Added mostlyclean, distclean rules,
3490 and cleaned up clean, realclean.
3494 * Makefile.in: map program names through program_transform_name
3499 * Makefile.in: Bump to versions 1.97.90.
3500 * cplus-dem.c: Removed. Was nowhere used - and if some
3501 programs are changed to to demangling should now use the
3502 versions in libiberty.
3506 * configure.in: add we32k
3510 * ar.c (map_over_members): if the element of the archive has a
3511 null name, fill it in.
3513 * nm.c (do_one_rel_file): only warn if a bfd's flags say there
3514 will be symbols and there aren't any.
3518 * m68k-pinsn.c: handle new operand type 'r', introduced for cas2.
3522 * nm.c objdump.c: Added support for a +version (-V)
3523 to print the version number.
3525 * ar.c, copy.c: Added support for a -V option to print
3530 * config/mh-apollo68v: removed -g from CC definition.
3532 * Makefile.in: always create installation directories.
3536 * m68k-pinsn.c: Minor fix in style of output (don't use
3537 range to indicate floating point control registers).
3541 * ar.c (main): Don't *always* set the verbose flag!
3545 * copy.c: When is_strip (because it is invoked as the strip
3546 program), follow traditional argv processing:
3547 'strip file1 file2' now strips file1 and file2, rather
3548 than stripping file1 (as input), leaving output in file2.
3552 * objdump.c (display_info, display_info_table): Call
3553 bfd_set_format() on dummy bfd before using it (twice).
3554 * ar.c: Make sure archive is created on command 'r'
3555 even when no elements are inserted. (Clean up and
3556 simplify some non-working related code.)
3560 * configure.in: hppa support doesn't assume hp OS (from sef).
3562 Sat Jul 18 14:35:22 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3564 * configure.in: recognize hppa hosts (bsd & hpux), error messages
3565 to stderr, not stdout
3569 * ar.1, binutils.texi, i960-pinsn.c, nm.1, objdump.1, ranlib.1,
3570 size.1, sparc-pinsn.c, strip.1: removed rcsid's.
3574 * Makefile.dos: removed rcsid.
3578 * objdump.c (display_bfd): print state of BFD_IS_RELAXABLE too
3582 * Makefile.in: Add program_suffix (parallel to program_prefix)
3584 Thu Jun 25 04:52:45 1992 John Gilmore (gnu at cygnus.com)
3586 * nm.c (sorters): Lint. Remove excess whitespace.
3590 * nm.c (valueof macro): Add missing parentheses.
3591 (Their lack screwed up numeric_forward().)
3593 Sun Jun 14 10:33:27 1992 John Gilmore (gnu at cygnus.com)
3595 * objdump.c (dump_elf_stabs): Also dump .stab.index and
3596 .stab.excl sections.
3597 (dump_elf_stabs_1): Split out main body of old dump_elf_stabs.
3598 * objdump.1, binutils.texi: Document new sections dumped.
3600 Fri Jun 12 22:23:35 1992 John Gilmore (gnu at cygnus.com)
3602 * size.c, objdump.c, bucomm.c: Lint.
3604 Thu Jun 11 01:19:06 1992 John Gilmore (gnu at cygnus.com)
3606 * objdump.c (dump_elf_stabs): New feature: --stabs prints out a
3607 .stab section from an ELF file. Installed under #ifdef
3608 ELF_STAB_DISPLAY so it can be easily disabled, since it requires
3609 bfd-internals header files and such.
3610 * objdump.1, binutils.texi: Update for --stabs. Also fix
3611 objdump's doc to use -- rather than + for long options.
3612 (FIXME: Not yet fixed everywhere in binutils.texinfo.)
3616 * objdump.c(display_info), patches from
3622 * objdump.c: Add another enum->int cast, for the sake of
3623 old compilers (such as PCC).
3627 * arlex.l: Don't include <sysdep.h> (unneeded conflicts).
3628 Add declaration of strdup().
3632 * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
3633 rules, since these are used when building a distribution.
3634 * Makefile.in (arlex.c): Don't re-direct output, since that
3635 leaves a bogus output files if it fails.
3637 * arlex.l: Make work with lex, for what it's worth.
3638 * Makefile.in: Better lex support.
3639 * Makefile.in (dist): Generate flex and bison outputs
3644 * Makefile.in: get BISON definition right.
3648 * sanity.sh: default TMPDIR to ".".
3652 * binutils.texi: add doc for ar command language.
3656 * arparse.y: make END call ar_end
3657 * arsup.c (ar_end): added, deletes temp file if archive session
3663 * Makefile.in: use bison & flex from ../ if they exist. Also,
3666 * sanity.sh: remove temporary directory when finished.
3670 * Makefile.in: Bump to version 1.97.
3671 * ar.c: Declare errno for machines that need it.
3675 * objdump.c (display_info): Handle error cases without coredump.
3676 Close the dummy temporary file we open in the loop.
3677 * Makefile.in (arsup.o): Add kludge to build with Sun Make.
3681 * Makefile.in: added test-install target.
3683 * sanity.sh: new file.
3685 * Makefile.in: use sanity test on make check.
3689 * Makefile.in: rework CFLAGS so that they can be passed on the
3690 command line to make. Remove MINUS_G. Default CFLAGS to -g.
3694 * arsup.c, arsup.h, arparse.y, arlex.l: support for archive
3699 * Makefile.in: added check target.
3703 * Makefile.in: added clean-info target.
3707 * Makefile.in: remove $(COPY_PROG) from PROGS. It shouldn't be
3708 installed. added tooldir and program_prefix.
3712 * Makefile.in, configure.in: removed traces of namesubdir,
3713 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
3714 copyrights to '92, changed some from Cygnus to FSF.
3716 Sun Feb 16 12:53:02 1992 Per Bothner (bothner at cygnus.com)
3718 * Makefile.in: Bump version to 1.96, and remove -beta
3719 suffix from distribution name.
3720 * m68k-pinsn.c: New macro COERCE_SIGNED_CHAR to extract
3721 the signed value of a character (even if chars are unsigned).
3722 * sparc-pinsn.c: Add new operand types.
3724 Thu Feb 6 12:14:19 1992 Steve Chamberlain (sac at rtl.cygnus.com)
3726 * objdump.c (disassemble_data): don't print a section's contents
3727 if it's not loadable (eg bss)
3729 Tue Jan 28 11:11:06 1992 Steve Chamberlain (sac at rtl.cygnus.com)
3731 * m68k-pinsn.c (print_insn_arg): fixed so that -ve branch
3732 displacements don't get printed as large +ve ones.
3734 Fri Jan 24 14:47:53 1992 Steve Chamberlain (sac at rtl.cygnus.com)
3736 * copy.c, nm.c, objdump.c, size.c : changed to use the
3740 Mon Dec 30 18:34:41 1991 Per Bothner (bothner at cygnus.com)
3742 * bucomm.c (print_arelt_descr): Tweek the output format
3743 so that 'ar tv' output follows Posix 1003.2/D11.
3744 Output is now also identical to Sun's (except __.SYMDEF).
3746 Mon Dec 30 06:09:53 1991 John Gilmore (gnu at cygnus.com)
3748 * Makefile.in: Make `make' output more readable.
3750 Wed Dec 18 15:04:45 1991 Per Bothner (bothner at cygnus.com)
3752 * Makefile.in: Bump to version 1.94.
3754 Wed Dec 11 16:48:09 1991 Steve Chamberlain (sac at cygnus.com)
3756 * ar.c: added "b" to fopens for dos
3757 * configdj.bat, makefile.dos new files from DJ
3759 Tue Dec 10 04:07:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
3761 * Makefile.in: infodir belongs in datadir.
3763 Sat Dec 7 17:09:37 1991 Steve Chamberlain (sac at rtl.cygnus.com)
3765 * bucomm.h: created to hold prototypes of bucomm.c
3766 * objdump.h: created to hold prototyes of objdump.c
3767 * am29k-pinsn.c: include objdump.h
3768 * ar.c: include bucomm.h, get ar.h from the right place and
3770 * bucomm.c: defunize bfd_fatal
3771 * copy.c: include bucomm.h, lint.
3772 * i960-pinsn.h: include bucomm.h
3773 * m68k-pinsn.h: lint
3774 * nm.c: include bucomm.h, lint
3776 * sparc-pinsn.c: include objdump.h
3780 Fri Dec 6 23:02:14 1991 K. Richard Pixley (rich at rtl.cygnus.com)
3782 * Makefile.in: added standards.text support. install using
3783 INSTALL_PROGRAM and INSTALL_DATA.
3785 * configure.in: configure now does all of it's work from objdir so
3786 make file existence tests against ${srcdir}.
3788 Thu Dec 5 22:46:22 1991 K. Richard Pixley (rich at rtl.cygnus.com)
3790 * Makefile.in: idestdir and ddestdir go away. Added copyrights
3791 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
3792 and mandir now keyed off datadir by default.
3794 Wed Dec 4 22:42:03 1991 Per Bothner (bothner at cygnus.com)
3796 * Makefile.in: Bump to version 1.93.
3797 * Makefile.in: Add make-strip.o:maybe-strip.c dependency
3798 for make versions that provide half-baked VPATH-support (e.g. Sun's).
3799 * size.c: Improvements suggested by
3801 - Don't emit (Berkeley) headers if no files were found.
3802 - Return a non-zero return code on failure.
3804 Sat Nov 30 21:34:19 1991 Steve Chamberlain (sac at rtl.cygnus.com)
3806 Changes due to include file renaming:
3807 * am29k-pinsn.c: a29k-opcode.h -> opcode/a29k.h
3808 * sparc-pinsn.c: sparc-opcode.h -> opcode/sparc.h
3809 * m68k-pinsn.c: m68k-opcode.h -> opcode/m68k.h
3810 * nm.c: stab.gnu.h -> aout/stab_gnu.h
3812 Tue Nov 19 19:20:43 1991 Per Bothner (bothner at cygnus.com)
3814 * README: Mention MINIMIZE flag for bfd's make.
3816 Mon Nov 18 12:05:37 1991 Per Bothner (bothner at cygnus.com)
3818 * README: Various improvements.
3820 Sun Nov 17 23:40:59 1991 Per Bothner (bothner at cygnus.com)
3822 * Makefile.in: Bump to version 1.92.
3823 * version.c, Makefile.in: Get version string from Makefile.
3824 * copy.c, is-strip.c, not-strip.c, maybe-strip.c, Makefile.in:
3825 Make the same change that we earlier did for ar/ranlib:
3826 Generate two different binaries for strip and copy and use
3827 a global variable with different values to distinguish
3828 ostrip from copy. (-1 means to use argv[0] to decide,
3829 so you can get the old behavior, but it is no longer the default).
3830 * copy.c (copy_file): Set EXEC_P of output bfd if input is so.
3831 * copy.c (main): If is_strip==-1, compare last 5 chars
3832 of argv[0], not the whole path.
3833 * copy.c (main): Return 0, not 1.
3834 * copy.c (setup_sections): Fix due to change in bfd_make_section
3835 now failing if asked for a duplicate section.
3836 * strip.c, ostrip.c: Removed obsolete files.
3837 * ar.c, not-ranlib.c, maybe-ranlib.c:
3838 Change encoding of is_ranlib variable to be consistent
3839 with is_strip for strip.copy (i.e -1 to means use argv[0]).
3841 Thu Nov 14 20:11:02 1991 Per Bothner (bothner at cygnus.com)
3843 * version.c (program_version): Update to version 1.92.
3845 Tue Nov 12 16:17:53 1991 Per Bothner (bothner at cygnus.com)
3847 * ar.c (get_pos_bfd): Previous fix was missing a "break".
3849 Thu Nov 7 08:55:56 1991 Steve Chamberlain (sac at cygnus.com)
3851 * am29k-pinsn.c: Fixed bug in mtacc, dmac and fmac instruction
3852 encodings. (Thaks to David Wood)
3854 Sun Nov 3 14:50:23 1991 Per Bothner (bothner at cygnus.com)
3856 * Makefile.in ($(DIST_NAME).tar.Z), TODO: Various fixes.
3857 * ar.c (get_pos_bfd): Fix to handling of before/after
3858 positioning options.
3859 * bucomm.c (fatal): MISSING_VFPRINTF is no longer an issue,
3860 since libiberty contains vfprintf etc if otherwise missing.
3861 * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL
3862 type operands, as used by branch instructions.
3863 * nm.c: Delegate printing of symbols to BFD,
3864 by using bfd_print_symbol to do the formatting.
3866 Mon Oct 28 11:20:47 1991 Steve Chamberlain (steve at cygnus.com)
3868 * ar.c (write_archive.c): added unlink before rename since some
3869 systems can't rename onto an existant file.
3871 Mon Oct 21 09:47:23 1991 Steve Chamberlain (steve at rtl.cygnus.com)
3873 * nm.c: now doesn't crash if a symbol with no section and no
3876 Thu Oct 17 15:25:50 1991 Per Bothner (bothner at cygnus.com)
3878 * Makefile.in, version.c: Bump to version 1.91.
3880 Wed Oct 16 11:45:36 1991 Per Bothner (bothner at cygnus.com)
3882 * Makefile.in, ar.c, bucomm.c, copy.c, cplus-dem.c, filemode.c,
3883 i960-pinsn.c, m68k-pinsn.c, nm.c, objdump.c, size.c, sparc-pinsn.c,
3884 * strip.c: Add or update Copyright notice.
3885 * TODO: Add note on 'nm -a'.
3886 * version.c: Update version number to 1.90.
3887 * Makefile.in: Fix making of documentation for dist.
3889 Tue Oct 15 00:17:17 1991 Per Bothner (bothner at cygnus.com)
3892 * Makefile.in: New kludgy rules for making a tarfile.
3893 * Makefile.in: Fix bindir path.
3895 Mon Oct 14 17:34:29 1991 Roland H. Pesch (pesch at cygnus.com)
3897 * Makefile.in: add targets binutils.mm, binutils.me
3899 Fri Oct 11 22:44:21 1991 John Gilmore (gnu at cygnus.com)
3901 * Makefile.in: Avoid Sun Make VPATH bugs by adding dependencies.
3903 Fri Oct 11 12:51:33 1991 Roland H. Pesch (pesch at cygnus.com)
3905 * Makefile.in: add target "binutils.ms"
3907 * binutils.texinfo: minor restructuring for texi2roff comfort.
3909 Fri Oct 11 04:12:28 1991 John Gilmore (gnu at cygnus.com)
3911 Restructure configuration scheme for bfd, binutils, ld.
3913 * include/sys/h-*.h: Move to bfd/hosts/h-*.h.
3914 * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
3915 Change some config names to match other dirs.
3916 * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO()
3918 * Makefile.in: Use -I. to get sysdep.h.
3920 Wed Oct 9 22:42:56 1991 Per Bothner (bothner at cygnus.com)
3922 * nm.c (print_symbols): Handle NULL name field of symbol.
3923 * Makefile.in: Removed spurious comment.
3925 Tue Oct 8 16:55:03 1991 Roland H. Pesch (pesch at cygnus.com)
3927 * binutils.texinfo: minor typos, phrasing, formatting fixes.
3929 Tue Oct 8 15:13:20 1991 Per Bothner (bothner at cygnus.com)
3931 * configure.in: Get host file from ../bfd/config, not config.
3932 * config/*: Remove config directory and its files.
3934 Tue Oct 8 13:58:59 1991 Roland H. Pesch (pesch at cygnus.com)
3936 * Makefile.in: new targets binutils.dvi, binutils.info
3938 * binutils.texinfo: remove most remaining FIXME's, delete
3939 references to __.SYMDEF by name
3942 Tue Oct 8 10:23:44 1991 Steve Chamberlain (steve at cygnus.com)
3944 * objdump.c (print_address) Print addresses nicely.
3946 Mon Oct 7 11:31:05 1991 Per Bothner (bothner at cygnus.com)
3948 * ar.c, Makefile.in, new files {is,not,maybe}-ranlib.c:
3949 Make two different binaries for ar and ranlib, instead of
3950 distinguishing them at run time using argv[0].
3951 (Old behavior is still available if you "make ar_with_ranlib",
3952 but it is not the default.)
3953 * ranlib.sh (new): An alternative one-line
3954 shell implementation of ranlib.
3956 Fri Oct 4 21:49:44 1991 John Gilmore (gnu at cygnus.com)
3958 * objdump.c: Cope with renames of a few BFD types & enums.
3960 Fri Oct 4 19:08:09 1991 Roland H. Pesch (pesch at cygnus.com)
3962 * binutils.texinfo: add new file (rudimentary docn)
3964 Mon Sep 30 12:30:39 1991 Per Bothner (bothner at cygnus.com)
3966 * config/hmake-news: Add new file (for Sony NEWSOS3).
3967 * bucomm.c (fatal): Conditionally compile fatal() depending on
3968 MISSING_VFPRINTF, and don't confuse the issue with NO_VARARGS.
3969 * objdump.c (dump_headers): Trivial output format change.
3970 * objdump.c (display_info): Loop over integers, not enums,
3971 to appease old compilers.
3973 Mon May 20 16:14:07 1991 Steve Chamberlain (steve at cygint.cygnus.com)
3975 *objdump.c *nm.c *copy.c :hanged some types to work with 64 bit object files
3977 Thu May 16 16:06:55 1991 Steve Chamberlain (steve at cygint.cygnus.com)
3979 * objdump.c (print_address): Make disasembled output more
3980 consistent with gdb and as: Add 0x when printing hex.
3981 Don't print extra leading zeros.
3982 Attempt to not print "filename.o".
3983 * objdump.c: Add some enum-to-int casts to accomodate old compilers.
3986 Fri May 3 22:21:44 1991 John Gilmore (gnu at cygint.cygnus.com)
3988 * copy.c: Change =& constructs to = &, since they confuse older
3996 version-control: never