aboutsummaryrefslogtreecommitdiff
path: root/binutils
AgeCommit message (Collapse)AuthorFilesLines
1996-01-29 Based on patches from H J Lu <hjl@zoom.com>:Ian Lance Taylor3-0/+36
* objcopy.c (remove_leading_char): New static variable. (OPTION_REMOVE_LEADING_CHAR): Define. (copy_usage): Mention --remove-leading-char. (filter_symbols): If remove_leading_char, and the first character of a global symbol matches the symbol leading char of the BFD, remove the first character. (copy_object): Filter the symbols if remove_leading_char is set. (copy_main): Handle --remove-leading-char. * binutils.texi, objcopy.1: Document --remove-leading-char.
1996-01-27Fix up warning on SunOSMichael Meissner1-1/+1
1996-01-26tipoIan Lance Taylor1-2/+2
1996-01-26 * binutils.texi (nm): Improve documentation on symbol types.Ian Lance Taylor2-8/+51
(objdump): Reference the stabs manual from the discussion of the --stabs option.
1996-01-25 * mpw-make.sed: Add a "stamps" target.Raymond Jou2-0/+8
1996-01-25shorten copyright lineIan Lance Taylor1-1/+1
1996-01-25 * objdump.c (dump_headers, dump_section_header): Change objdump -hIan Lance Taylor2-12/+25
output to be simpler and to include section file offsets.
1996-01-25 * ieee.c (ieee_read_cxx_class): Don't multiply voffset by 4.Ian Lance Taylor1-0/+16
(struct ieee_write_type): Add name field. (struct ieee_type_class): Remove name field. Change all uses to use new name field in type instead. (struct ieee_name_type): Likewise. (ieee_start_struct_type): Initialize name field of type. (ieee_start_class_type): Don't initialize classdef entry of tag. (ieee_class_method_var): Don't adjust voffset. (ieee_end_class_type): Likewise. (ieee_tag_type): Initialize new name field of type. (ieee_typdef): Set name after copying in type information.
1996-01-24 * ieee.c (struct ieee_modified_type): Define.Ian Lance Taylor2-14/+107
(struct ieee_handle): Add modified and modified_alloc fields. (ieee_get_modified_info): New static function. (ieee_pointer_type): Cache type index. (ieee_const_type): Likewise. (ieee_volatile_type): Likewise.
1996-01-24 * ieee.c (ieee_define_named_type): When creating a tag for anIan Lance Taylor3-7/+24
anonymous struct, copy the name into memory. (ieee_tag_type): Likewise. * debug.c (debug_write_type): Only check and set id field for an unnamed object. (debug_write_class_type): Likewise.
1996-01-24 * ieee.c: Various changes to write out types for functions andIan Lance Taylor2-162/+474
references, and to not write out unnecessary function types.
1996-01-24comment changeIan Lance Taylor1-2/+1
1996-01-24 * ieee.c (struct ieee_var): Remove variable field. Add kindIan Lance Taylor2-29/+62
field, and define some enum constants for it. (parse_ieee_ty): Set kind field of variable for 'x' and 'X' types. (parse_ieee_atn): Make an indirect slot for an external variable, although we otherwise don't record it. Set kind field rather than variable field of pvar. (ieee_read_cxx_class): Try to get the type of a static member. (ieee_read_reference): Check kind field rather than variable field.
1996-01-24fix ChangeLog entryIan Lance Taylor1-1/+2
1996-01-24 * debug.h (enum debug_var_kind): Add DEBUG_VAR_ILLEGAL.Ian Lance Taylor3-0/+13
(enum debug_parm_kind): Add DEBUG_PARM_ILLEGAL. * debug.c (debug_get_parameter_types): Handle DEBUG_KIND_FUNCTION.
1996-01-24 * ieee.c: Various changes to handle C++ reference types.Ian Lance Taylor1-126/+453
1996-01-23 * objdump.c (disassemble_data): Pass fprintf to INIT_DISASSEMBLE_INFO.David Edelsohn2-1/+2
1996-01-23 * ieee.c: Various changes to write out definitions of C++ classes.Ian Lance Taylor2-37/+501
1996-01-23 * debug.c (debug_append_filename): Remove.Ian Lance Taylor2-32/+0
* debug.h (debug_append_filename): Don't declare.
1996-01-23 * stabs.c (struct stab_handle): Remove last_type field. AddIan Lance Taylor1-56/+68
so_string and so_value fields. (finish_stab): Call stab_emit_pending_vars before calling debug_end_function. Don't warn about pending variables. (parse_stab): Accumulate N_SO strings until a non N_SO symbol is seen, rather than calling debug_append_filename. Call stab_emit_pending_vars before calling debug_end_function. Don't set info->last_type.
1996-01-23 * objdump.c (disassemble_data): Handle unknown endianness.David Edelsohn2-1/+9
1996-01-23 Add new option --show-raw-insn.David Edelsohn4-3/+37
* objdump.c (show_raw_insn): New global. (usage): Update. (long_options): Update. (disassemble_data): Set disasm_info.flags if --show-raw-insn. * objdump.c (disassemble_data): Set new arch,mach,endian fields in disasm_info.
1996-01-23 * ieee.c: Extensive changes to pass a single info argument aroundIan Lance Taylor2-448/+1352
in the reading routines, rather than several arguments. Add code to read C++ debugging records.
1996-01-23 * debug.h (debug_get_type_size): Declare.Ian Lance Taylor2-9/+136
(debug_get_field_name): Declare. (debug_get_field_bitpos): Declare. (debug_get_field_bitsize): Declare. (debug_get_field_visibility): Declare. (debug_get_field_physname): Declare. * debug.c (debug_get_real_type): Handle DEBUG_KIND_TAGGED. (debug_get_type_size): New function. (debug_get_field_name): New function. (debug_get_field_bitpos): New function. (debug_get_field_bitsize): New function. (debug_get_field_visibility): New function. (debug_get_field_physname): New function. (debug_write_type): Make sure we pass the real kind, not INDIRECT, to tag_type. Pass the name recursively for INDIRECT.
1996-01-19 * debug.h (struct debug_write_fns): Remove ellipsis_type. Add intIan Lance Taylor5-213/+314
and boolean parameters to function_type. Add boolean parameter to method_type. (debug_make_ellipsis_type): Don't declare. (debug_make_function_type): Add debug_type * and boolean parameters. Change all callers. (debug_make_method_type): Add boolean parameter. Change all callers. (debug_get_parameter_types): Add boolean * parameter. Change all callers. (debug_get_target_type): Declare. * debug.c (struct debug_function_type): Add fields arg_types and varargs. (struct debug_method_type): Add field varargs. (debug_ellipsis_type, ELLIPSIS_P): Remove. (debug_make_ellipsis_type): Remove. (debug_make_function_type): Add arg_types and varargs parameters. (debug_make_method_type): Add varargs parameter. (debug_get_parameter_types): Add pvarargs parameter. (debug_get_target_type): New function. (debug_write_type): In case DEBUG_KIND_FUNCTION, push argument types and pass count to function_type. In DEBUG_KIND_METHOD, use a signed int for the count, don't call ellipsis_type, and pass varargs to method_type. * stabs.c (struct stab_demangle_info): Add varargs field. (stab_demangle_argtypes): Add pvarargs parameter. Change all callers. (stab_demangle_args): Likewise. (stab_demangle_type): In case 'F', pick up argument types. * prdbg.c (pr_ellipsis_type): Remove. (pr_function_type): Add argcount and varargs parameters. (pr_method_type): Add varargs parameter. * ieee.c (ieee_ellipsis_type): Remove. (ieee_function_type): Add argcount and varargs parameters. (ieee_method_type): Add varargs parameter. Remove most of function body, and just call ieee_function_type.
1996-01-19 * stabs.c: Include "demangle.h". Added several new staticIan Lance Taylor2-74/+1790
functions not listed below to demangle argument types; they are all called via stab_demangle_argtypes. (finish_stab): If the kind of an undefined tag is DEBUG_KIND_ILLEGAL, use DEBUG_KIND_STRUCT instead. Warn if there are any pending variable. (parse_stab): Don't close the function when the block depth goes to zero. Pass value to debug_end_function. (parse_stab_string): In case 'T', pass the name to parse_stab_type. (parse_stab_type): In case 'x', use stab_find_tagged_type. In case '#', handle functions with variable numbers of arguments. (parse_stab_struct_type): Add tagname parameter. Change all callers. (parse_stab_members): Add tagname and typenums parameters. Change all callers. If the type of a method is a stub, call parse_stab_argtypes to demangle the argument types and get the physical name of the function. (parse_stab_argtypes): New static function. (stab_record_variable): For a DEBUG_GLOBAL or DEBUG_STATIC variable, call debug_record_variable immediately. (stab_find_tagged_type): New static function.
1996-01-19 * debug.h (enum debug_type_kind): Add DEBUG_KIND_ILLEGAL.Ian Lance Taylor4-143/+500
(struct debug_write_fns): Add field ellipsis_type. Add id parameter to start_struct_type, start_class_type, and tag_type. (debug_make_ellipsis_type): Declare. (debug_find_named_type): Declare. (debug_get_type_kind): Declare. (debug_get_return_type): Declare. (debug_get_parameter_types): Declare. (debug_get_fields): Declare. (debug_get_field_type): Declare. * debug.c (struct debug_handle): Add fields class_id and base_id. (struct debug_class_type): Add field id. (struct debug_method_variant): Rename argtypes to physname. Change all uses. (debug_ellipsis_type): New static variable. (ELLIPSIS_P): New macro. (debug_make_ellipsis_type): New function. (debug_make_method_variant): Rename argtypes to physname. (debug_make_static_method_variant): Likewise. (debug_name_type): Always put types in the global namespace. (debug_find_named_type): New function. (debug_find_tagged_type): Treat DEBUG_KIND_ILLEGAL specially, rather than DEBUG_KIND_VOID. (debug_get_real_type): New static function. (debug_get_type_kind): New function. (debug_get_return_type): New function. (debug_get_parameter_types): New function. (debug_get_fields): New function. (debug_get_field_type): New function. (debug_write): Initialize base_id. (debug_write_type): Pass new id argument to tag_type. Handle DEBUG_KIND_ILLEGAL. Use id for DEBUG_KIND_STRUCT and DEBUG_KIND_UNION. Handle ellipsis for method arguments. (debug_write_class_type): Don't dereference kclass if it is NULL. Use id. * prdbg.c (pr_fns): Add pr_ellipsis_type. (pr_ellipsis_type): New static function. (pr_pointer_type): If this is a pointer to an array, parenthesize it correctly. (pr_start_struct_type): Add id parameter. (pr_start_class_type): Likewise. (pr_tag_type): Likewise. (pr_fix_visibility): Add the visibility to the top of the stack, not the second element on the stack. (pr_struct_field): Pop the stack before calling pr_fix_visibility. (pr_class_static_member): Likewise. (pr_class_start_method): Don't push a type, just set the method name in the type on the top of the stack. (pr_class_end_method): Don't pop the stack. (pr_class_method_variant): Rename argtypes parameter to physname. Append const and volatile rather than prepending them. Add a space after the physname. (pr_class_static_method_variant): Likewise. * ieee.c (ieee_fns): Add ieee_ellipsis_type. (ieee_define_named_type): Use DEBUG_KIND_ILLEGAL rather than DEBUG_KIND_VOID. (write_ieee_debugging_info): Likewise. (ieee_typdef): Likewise. (ieee_ellipsis_type): New static function. (ieee_start_struct_type): Add id parameter. (ieee_start_class_type): Likewise. (ieee_tag_type): Likewise. (ieee_class_method_variant): Rename name to physname. (ieee_class_static_method_variant): Likewise.
1996-01-18Changed section orders for alignment purposesKim Knuttila1-0/+5
1996-01-17* srconv.c (wr_du): Set du.stackfrmt to 0.J.T. Conklin1-0/+5
(wr_un, wr_sc): Emit all sections, even those with 0 size.
1996-01-17* srconv.c (wr_hd): Space size within segment was beingJ.T. Conklin2-15/+20
stored in segment identifier field.
1996-01-16 * mpw-config.in (BUILD_NLMCONV, BUILD_SRCONV, SYSINFO_PROG,Stan Shebs3-6/+27
BUILD_DLLTOOL): Put definitions for these into makefile when configuring, instead of always clearing in mpw-make.sed. * mpw-make.sed: Edit out any host_alias or target_alias settings, fix pathname to BFD internal include files, remove dependency calculation rules.
1996-01-15 * binutils-all/objcopy.exp: Use the lma, not the vma, when testingIan Lance Taylor2-17/+40
address adjustments.
1996-01-11update copyrightMichael Meissner1-1/+1
1996-01-11Add support for SHT_ORDERED and SHF_EXCLUDEMichael Meissner2-2/+9
1996-01-11 * objcopy.c (filter_symbols): NULL terminate the output symbols.Ian Lance Taylor1-0/+4
(copy_object): Allocate space for a possible extra NULL pointer.
1996-01-11 * ieee.c (ieee_enum_type): Handle an undefined enum.Ian Lance Taylor1-9/+15
1996-01-11 * debug.c (debug_make_undefined_tagged_type): Make sure we areIan Lance Taylor4-104/+154
given a kind of type we can handle. (debug_write_type): Handle undefined enums and structs. (debug_write_class_type): Handle undefined classes. * prdbg.c (pr_enum_type): Handle an undefined enum. Also comment changes to debug.h.
1996-01-10 * Makefile.in: (ALLOCA, MALLOC): Remove variables.Ian Lance Taylor5-1328/+5
(ADDL_LIBS): Remove $(MALLOC) from definition. * alloca.c, gmalloc.c: Remove.
1996-01-10 * Makefile.in: Updated dependencies.Ian Lance Taylor2-1/+6
1996-01-08 * ieee.c: Add global function write_ieee_debugging_info and aIan Lance Taylor2-179/+2542
bunch of static functions and structs used to write out IEEE debugging information. * budbg.h (write_ieee_debugging_info): Declare. * ieee.c (struct ieee_type): Add pslot field. (enum builtin_types): Define. (ieee_builtin_type): For a pointer, return a pointer to the named type. Use enum values rather than numbers. (ieee_alloc_type): New static function. (ieee_read_type_index): Use ieee_alloc_type. (parse_ieee_bb): Likewise. (parse_ieee_ty): Likewise. Use ieee_builtin_type for array range, rather than making a new integer type. Store the new type in the slot, if there is one. (parse_ieee_atn): Treat ATN10 as defining a register variable. (ieee_regno_to_genreg): Rename from ieee_regno_to_gen. Change all callers. (ieee_genreg_to_regno): New static function.
1996-01-08 * stabs.c (parse_stab_type): Add new typename parameter. ChangeIan Lance Taylor1-57/+144
all callers. (parse_stab_range_type): Add new typename parameter. Change all callers.
1996-01-08 * debug.h (struct debug_write_fns): Add tag parameter toIan Lance Taylor3-146/+155
enum_type, start_struct_type, and start_class_type. * debug.c (debug_write_type): Pass any tag name to start_struct_type, debug_write_class_type, and enum_type. If DEBUG_KIND_TAGGED, pass the name in the recursive call. (debug_write_class_type): Accept a new tag parameter, and pass it to start_class_type. * prdbg.c (pop_type): Don't remove '+' character. (pr_enum_type): Accept and use tag parameter. (pr_start_struct_type): Likewise. (pr_start_class_type): Likewise. (pr_class_baseclass): Adjust algorithm used to find where to put the baseclass name. (pr_tag): Don't bother to insert the tag name.
1996-01-08 * objcopy.c: Include budbg.h.Ian Lance Taylor4-22/+91
(convert_debugging): New static variable. (OPTION_DEBUGGING): Define. (copy_options): Add "debugging". (copy_usage): Mention --debugging. (is_strip_section): Skip debugging sections if convert_debugging. (setup_section, copy_section): Likewise. (filter_symbols): Skip debugging symbols if convert_debugging. (copy_object): If convert_debugging, read and write debugging information. (write_debugging_info): New static function. (copy_main): Handle --debugging. * Makefile.in (DEBUG_OBJS): New variable. ($(OBJCOPY_PROG)): Depend upon and link against $(DEBUG_OBJS). ($(STRIP_PROG)): Likewise. (OBJDUMP_OBJS): Remove variable. ($(OBJDUMP_PROG)): Use objdump.o $(DEBUG_OBJS) rather than $(OBJDUMP_OBJS). * binutils.texi, objcopy.1: Document --debugging.
1996-01-08update copyrightIan Lance Taylor1-1/+1
1996-01-04 * ieee.c: New file with code to read IEEE debugging information.Ian Lance Taylor5-105/+2383
* budbg.h (parse_ieee): Declare. * rddbg.c (read_debugging_info): Handle IEEE flavour files. (read_ieee_debugging_info): New static function. * Makefile.in: Rebuild dependencies. (CFILES): Add ieee.c. (OBJDUMP_OBJS): Add ieee.o.
1996-01-02 Implement generic debugging support. Implement a stabs reader andIan Lance Taylor10-41/+8471
a generic printer. * budbg.h, debug.c, debug.h, prdbg.c, rddbg.c, stabs.c: New files. * objdump.c: Include "debug.h" and "budbg.h". (dump_debugging): New global variable. (usage): Mention --debugging. (long_options): Add "debugging". (display_bfd): Handle --debugging. * Makefile.in (OBJDUMP_OBJS): New variable. ($(OBJDUMP_PROG)): Use $(OBJDUMP_OBJS). * binutils.texi, objdump.1: Document --debugging.
1996-01-02 * Makefile.in: Add targets to automatically rebuild dependencies.Ian Lance Taylor1-0/+15
Remove targets which just listed dependencies of .o files. (DEP): New variable. (HFILES, GENERATED_HFILES): New variables. (CFILES, GENERATED_CFILES): New variables. (underscore.c): Don't do anything, just depend upon stamp-under. (stamp-under): New target; do what underscore.c used to do. (nlmconv.o): Depend upon sym.h and ecoff.h. (.dep, .dep1, dep.sed, dep, dep-in): New targets. (stage1, stage2, stage3, against, comparison): Remove. (de-stage1, de-stage2, de-stage3): Remove. (clean, distclean): Remove stamp-under and dep.sed. * dep-in.sed: New file. * Makefile.in (OBJDUMP_OBJS): New variable. ($(OBJDUMP_PROG)): Use $(OBJDUMP_OBJS).
1995-12-30 * nm.c ( long_options): Add "--defined-only" option.Jeff Law2-0/+12
(usage): Update for new "--defined-only" option. (filter_symbols): Handle "--defined-only". Part of mentor vm work.
1995-12-29 * arparse.y: Include "bucomm.h", not <sysdep.h>.Ian Lance Taylor1-0/+5
* nlmheader.y: Don't include "sysdep.h".
1995-12-26 * nm.c (print_symdef_entry): Check return value ofIan Lance Taylor2-190/+397
bfd_get_elt_at_index.