changelog-9197

来自「基于4个mips核的noc设计」· 代码 · 共 1,769 行 · 第 1/5 页

TXT
1,769
字号
	use new name field in type instead.	(struct ieee_name_type): Likewise.	(ieee_start_struct_type): Initialize name field of type.	(ieee_start_class_type): Don't initialize classdef entry of tag.	(ieee_class_method_var): Don't adjust voffset.	(ieee_end_class_type): Likewise.	(ieee_tag_type): Initialize new name field of type.	(ieee_typdef): Set name after copying in type information.	* debug.c (VOFFSET_STATIC_METHOD): Define as -1, not 1.	* ieee.c (struct ieee_modified_type): Define.	(struct ieee_handle): Add modified and modified_alloc fields.	(ieee_get_modified_info): New static function.	(ieee_pointer_type): Cache type index.	(ieee_const_type): Likewise.	(ieee_volatile_type): Likewise.	* ieee.c (ieee_define_named_type): When creating a tag for an	anonymous struct, copy the name into memory.	(ieee_tag_type): Likewise.	* debug.c (debug_write_type): Only check and set id field for an	unnamed object.	(debug_write_class_type): Likewise.	* ieee.c: Various changes to write out types for functions and	references, and to not write out unnecessary function types.	* ieee.c (struct ieee_var): Remove variable field.  Add kind	field, and define some enum constants for it.	(parse_ieee_ty): Set kind field of variable for 'x' and 'X' types.	(parse_ieee_atn): Make an indirect slot for an external variable,	although we otherwise don't record it.  Set kind field rather than	variable field of pvar.	(ieee_read_cxx_class): Try to get the type of a static member.	(ieee_read_reference): Check kind field rather than variable	field.Tue Jan 23 15:54:18 1996  Ian Lance Taylor  <ian@cygnus.com>	* ieee.c: Various changes to handle reading C++ reference type	information.	* debug.h (enum debug_var_kind): Add DEBUG_VAR_ILLEGAL.	(enum debug_parm_kind): Add DEBUG_PARM_ILLEGAL.	* debug.c (debug_get_parameter_types): Handle DEBUG_KIND_FUNCTION.	* ieee.c: Various changes to write out definitions of C++ classes.	* debug.c (debug_append_filename): Remove.	* debug.h (debug_append_filename): Don't declare.	* stabs.c (struct stab_handle): Remove last_type field.  Add	so_string and so_value fields.	(finish_stab): Call stab_emit_pending_vars before calling	debug_end_function.  Don't warn about pending variables.	(parse_stab): Accumulate N_SO strings until a non N_SO symbol is	seen, rather than calling debug_append_filename.  Call	stab_emit_pending_vars before calling debug_end_function.  Don't	set info->last_type.Tue Jan 23 09:53:54 1996  Doug Evans  <dje@charmed.cygnus.com>	* objdump.c (disassemble_data): Handle unknown endianness.	Pass fprintf to INIT_DISASSEMBLE_INFO.Mon Jan 22 16:46:43 1996  Doug Evans  <dje@charmed.cygnus.com>	Add new option --show-raw-insn.	* objdump.c (show_raw_insn): New global.	(usage): Update.	(long_options): Update.	(disassemble_data): Set disasm_info.flags if --show-raw-insn.	* objdump.c (disassemble_data): Set new arch,mach,endian fields in	disasm_info.Mon Jan 22 19:29:36 1996  Ian Lance Taylor  <ian@cygnus.com>	* ieee.c: Extensive changes to pass a single info argument around	in the reading routines, rather than several arguments.  Add code	to read C++ debugging records.	* debug.h (debug_get_type_size): Declare.	(debug_get_field_name): Declare.	(debug_get_field_bitpos): Declare.	(debug_get_field_bitsize): Declare.	(debug_get_field_visibility): Declare.	(debug_get_field_physname): Declare.	* debug.c (debug_get_real_type): Handle DEBUG_KIND_TAGGED.	(debug_get_type_size): New function.	(debug_get_field_name): New function.	(debug_get_field_bitpos): New function.	(debug_get_field_bitsize): New function.	(debug_get_field_visibility): New function.	(debug_get_field_physname): New function.	(debug_write_type): Make sure we pass the real kind, not INDIRECT,	to tag_type.  Pass the name recursively for INDIRECT.Fri Jan 19 12:31:57 1996  Ian Lance Taylor  <ian@cygnus.com>	* debug.h (struct debug_write_fns): Remove ellipsis_type.  Add int	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.	* stabs.c: Include "demangle.h".  Added several new static	functions not listed below to demangle argument types; they are	all called via stab_demangle_argtypes.	(finish_stab): If the kind of an undefined tag is	DEBUG_KIND_ILLEGAL, use DEBUG_KIND_STRUCT instead.  Warn if there	are any pending variable.	(parse_stab): Don't close the function when the block depth goes	to zero.  Pass value to debug_end_function.	(parse_stab_string): In case 'T', pass the name to	parse_stab_type.	(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.	* debug.h (enum debug_type_kind): Add DEBUG_KIND_ILLEGAL.	(struct debug_write_fns): Add field ellipsis_type.  Add id	parameter to start_struct_type, start_class_type, and tag_type.	(debug_make_ellipsis_type): Declare.	(debug_find_named_type): Declare.	(debug_get_type_kind): Declare.	(debug_get_return_type): Declare.	(debug_get_parameter_types): Declare.	(debug_get_fields): Declare.	(debug_get_field_type): Declare.	* debug.c (struct debug_handle): Add fields class_id and base_id.	(struct debug_class_type): Add field id.	(struct debug_method_variant): Rename argtypes to physname.	Change all uses.	(debug_ellipsis_type): New static variable.	(ELLIPSIS_P): New macro.	(debug_make_ellipsis_type): New function.	(debug_make_method_variant): Rename argtypes to physname.	(debug_make_static_method_variant): Likewise.	(debug_name_type): Always put types in the global namespace.	(debug_find_named_type): New function.	(debug_find_tagged_type): Treat DEBUG_KIND_ILLEGAL specially,	rather than DEBUG_KIND_VOID.	(debug_get_real_type): New static function.	(debug_get_type_kind): New function.	(debug_get_return_type): New function.	(debug_get_parameter_types): New function.	(debug_get_fields): New function.	(debug_get_field_type): New function.	(debug_write): Initialize base_id.	(debug_write_type): Pass new id argument to tag_type.  Handle	DEBUG_KIND_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.	* Makefile.in (DEBUG_OBJS): Remove prdbg.o.	($(OBJDUMP_PROG)): Depend upon, and link against, prdbg.o.Thu Jan 18 17:35:06 1996  Kim Knuttila  <krk@cygnus.com>	* dlltool.c (make_tail): Changed the order of the sections to avoid	an alignment problem.Wed Jan 17 14:23:00 1996  J.T. Conklin  <jtc@rtl.cygnus.com>	* srconv.c (wr_du): Set du.stackfrmt to 0.	(wr_un, wr_sc): Emit all sections, even those with 0 size.Tue Jan 16 16:15:49 1996  J.T. Conklin  <jtc@rtl.cygnus.com>	* srconv.c (wr_hd): Space size within segment was being	stored in segment identifier field.Tue Jan 16 12:07:25 1996  Stan Shebs  <shebs@andros.cygnus.com>	* mpw-config.in (BUILD_NLMCONV, BUILD_SRCONV, SYSINFO_PROG,	BUILD_DLLTOOL): Put definitions for these into makefile when	configuring, instead of always clearing in mpw-make.sed.	* mpw-make.sed: Edit out any host_alias or target_alias settings,	fix pathname to BFD internal include files, remove dependency	calculation rules.Thu Jan 11 17:31:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>	* objdump.c (dump_section_header): Add new section flags	SEC_{EXCLUDE,SORT_ENTRIES}.Thu Jan 11 11:45:34 1996  Ian Lance Taylor  <ian@cygnus.com>	* objcopy.c (filter_symbols): NULL terminate the output symbols.	(copy_object): Allocate space for a possible extra NULL pointer.	* debug.c (debug_make_undefined_tagged_type): Make sure we are	given a kind of type we can handle.	(debug_write_type): Handle undefined enums and structs.	(debug_write_class_type): Handle undefined classes.	* prdbg.c (pr_enum_type): Handle an undefined enum.	* ieee.c (ieee_enum_type): Likewise.Wed Jan 10 15:33:18 1996  Ian Lance Taylor  <ian@cygnus.com>	* Makefile.in: Updated dependencies.	(ALLOCA, MALLOC): Remove variables.	(ADDL_LIBS): Remove $(MALLOC) from definition.	* alloca.c, gmalloc.c: Remove.Mon Jan  8 18:02:29 1996  Ian Lance Taylor  <ian@cygnus.com>	* ieee.c: Add global function write_ieee_debugging_info and a	bunch of static functions and structs used to write out IEEE	debugging information.	* budbg.h (write_ieee_debugging_info): Declare.	* ieee.c (struct ieee_type): Add pslot field.	(enum builtin_types): Define.	(ieee_builtin_type): For a pointer, return a pointer to the named	type.  Use enum values rather than numbers.	(ieee_alloc_type): New static function.	(ieee_read_type_index): Use ieee_alloc_type.	(parse_ieee_bb): Likewise.	(parse_ieee_ty): Likewise.  Use ieee_builtin_type for array range,	rather than making a new integer type.  Store the new type in the	slot, if there is one.	(parse_ieee_atn): Treat ATN10 as defining a register variable.	(ieee_regno_to_genreg): Rename from ieee_regno_to_gen.  Change all	callers.	(ieee_genreg_to_regno): New static function.	* stabs.c (parse_stab_type): Add new typename parameter.  Change	all callers.	(parse_stab_range_type): Add new typename parameter.  Change all	callers.	* debug.h (struct debug_write_fns): Add tag parameter to	enum_type, start_struct_type, and start_class_type.	* debug.c (debug_write_type): Pass any tag name to	start_struct_type, debug_write_class_type, and enum_type.  If	DEBUG_KIND_TAGGED, pass the name in the recursive call.	(debug_write_class_type): Accept a new tag parameter, and pass it	to start_class_type.	* prdbg.c (pop_type): Don't remove '+' character.	(pr_enum_type): Accept and use tag parameter.	(pr_start_struct_type): Likewise.	(pr_start_class_type): Likewise.	(pr_class_baseclass): Adjust algorithm used to find where to put	the baseclass name.	(pr_tag): Don't bother to insert the tag name.	* objcopy.c: Include budbg.h.	(convert_debugging): New static variable.	(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.Thu Jan  4 16:31:21 1996  Ian Lance Taylor  <ian@cygnus.com>	* ieee.c: New file with code to read IEEE debugging information.	* budbg.h (parse_ieee): Declare.	* rddbg.c (read_debugging_info): Handle IEEE flavour files.	(read_ieee_debugging_info): New static function.	* Makefile.in: Rebuild dependencies.	(CFILES): Add ieee.c.	(OBJDUMP_OBJS): Add ieee.o.	* bucomm.h (xrealloc): Change type of first parameter from char *	to PTR.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?