3 * dwarf2read.c (dwarf2_linkage_name): New function to get
4 the linkage name of a die from DW_AT_MIPS_linkage_name or
6 (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn,
7 new_symbol): Use it instead of accessing DW_AT_name.
8 (read_partial_die): Use DW_AT_MIPS_linkage name as name of the
9 partial die if present.
10 (dwarf2_add_member_fn): Make a copy of physname on the type obstack.
14 * blockframe.c (generic_frame_chain_valid): If the new frame
15 is not INNER_THAN the old frame, then it's not valid.
19 * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
20 (mips16_heuristic_proc_desc): Recognize jal(x) instruction.
24 * mips-tdep.c (mips16_decode_reg_save): Distinguish between
25 sd and sw instructions correctly.
26 (heuristic_proc_start): Add support for MIPS16.
27 (mips16_get_imm, mips16_heuristic_proc_desc,
28 mips32_heuristic_proc_desc): New helper functions for
30 (heuristic_proc_desc): Rewrite and reorganize to support MIPS16.
31 (mips_push_arguments): Don't align small arguments in EABI.
32 (mips32_skip_prologue): Attempt to shrink code size a little.
37 * m32r-stub.c: New -- remote protocol support for M32R cpu.
38 * m32r-rom.c: Several experiments with improved download time.
39 * .Sanitize: Add entry for m32r-stub.c
44 * mips-tdep.c (MIPS16_INSTLEN): Define.
45 (mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN.
46 (heuristic_proc_start): Recognize 'entry' pseudo-op as a start
47 of function on MIPS16.
48 (mips32_skip_prologue, mips16_skip_prologue): New helper functions
49 for mips_skip_prologue.
50 (mips_skip_prologue): Recognize both 16- and 32-bit prologues.
54 * config/powerpc/ppc{,le}-sim.mt (SIM): Remove the library
55 ../sim/common/libcommon.a.
59 * blockframe.c: fix a null pointer ref in generic_get_saved_register
63 * mn10200-tdep.c (mn10200_frame_chain): Get basic backtracing
68 First set of changes for mips16:
69 * config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT,
70 MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define.
71 (ABOUT_TO_RETURN): Call new function mips_about_to_return.
72 (mips_breakpoint_from_pc, mips_about_to_return): Declare.
73 * mem-break.c (memory_breakpoint_from_pc): New function.
74 (memory_insert_breakpoint, memory_remove_breakpoint): Use
75 memory_breakpoint_from_pc to determine breakpoint contents and size.
76 * target.h (memory_breakpoint_from_pc): Declare.
77 * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc
78 to determine size of breakpoint instruction.
79 * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save):
80 New helper functions for mips_find_saved_regs.
81 (mips_find_saved_regs): Recognize mips16 prologues.
82 (mips_addr_bits_remove): Strip off upper 32 bits of address
83 when target CPU is 32 bits but CORE_ADDR is 64 bits.
84 (mips_step_skips_delay): No branch delay slot on mips16.
85 (gdb_print_insn_mips): Disassemble mips16 code.
86 (mips_breakpoint_from_pc, mips_about_to_return): New functions.
90 * tm-mn10200.h (NUM_REGS): Decrease to 12.
91 (REGISTER_NAMES): Elimination registers not found on the mn10200.
92 (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes.
93 (LIR_REGNUM, LAR_REGNUM): Delete. They don't exist on the mn10200.
97 * dwarf2read.c: Replace integral tag, name and form fields in
98 internal structure definitions with the corresponding enumeration
99 types from dwarf2.h. Add default cases to switches on enumerations
101 Make quoting of string arguments in complaint messages consistent.
102 Check for NULL returns from DW_STRING.
103 (struct partial_die_info): Add sibling and has_type fields, remove
105 (DW_*): Move access macro definitions near the definition of the
107 (struct field_info): New structure to pass information about fields
108 and member functions between die processing routines.
109 (dwarf2_build_psymtabs_hard): Set cu_header_offset.
110 (scan_partial_symbols): Do not enter DW_TAG_subprogram dies into
111 the partial symbol table if the DW_AT_*_pc attributes are missing.
112 Add file scope base type definitions to the partial symbol table.
113 Skip over child dies if the die has a sibling attribute.
114 (add_partial_symbol): Enter global variables with type attributes
115 and without location descriptors into the partial symbol table.
116 Store value of DW_TAG_variable dies in the partial symbol table.
117 Do not enter global variables into the minimal symbol table.
118 Add base type definitions to the partial symbol table.
119 (psymtab_to_symtab_1): Use dwarf2_get_pc_bounds to determine highpc.
120 (process_die): Move check for DW_AT_low_pc to read_func_scope.
121 Add a typedef symbol for base type definitions to the symbol table.
122 Ignore DW_TAG_inlined_subroutine tags for now.
123 (read_file_scope): Use dwarf2_get_pc_bounds to determine pc bounds.
124 (read_func_scope, read_lexical_block_scope): Use dwarf2_get_pc_bounds
125 to determine pc bounds, ignore dies with invalid bounds.
126 (dwarf2_get_pc_bounds): New routine to extract and validate the
127 DW_AT_*_pc attributes of a die.
128 (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name,
129 dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
130 New functions to handle fields and member functions.
131 (read_structure_scope): Rewritten to use them.
132 (read_array_type): Renamed from dwarf_read_array_type.
133 Default upper array bound to describe an array with unspecified
135 Create array types in backwards order, as dwarf2 puts out the array
136 dimensions from left to right.
137 (read_subroutine_type): Handle DW_TAG_unspecified_parameters,
138 DW_AT_artificial and DW_AT_prototyped.
139 (read_base_type): Make an unsigned type for DW_ATE_boolean.
140 Pass objfile to dwarf_base_type.
141 (read_partial_die): Use read_attribute to read in the attributes.
142 Handle DW_AT_sibling and DW_AT_type.
143 Follow references when determining DW_AT_name and DW_AT_external
144 attributes of the die.
145 Validate DW_AT_*_pc attributes.
146 (read_full_die): Use read_attribute to read in the attributes.
147 (read_attribute): New function to read an attribute described
148 by an abbreviated attribute.
149 (new_symbol): Relocate symbol value for DW_TAG_label with baseaddr.
150 Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram,
151 SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block.
152 Change symbol class for global variables with a zero valued location
153 descriptor to LOC_UNRESOLVED.
154 Handle DW_AT_const_value attributes for DW_TAG_variable,
155 DW_TAG_formal_parameter and DW_TAG_enumerator.
156 Build a typedef symbol for DW_TAG_base_type.
157 (dwarf2_const_value): New routine to copy a constant value from an
158 attribute to a symbol.
159 (dwarf_base_type): Use passed in objfile, not current_objfile
160 when calling dwarf2_fundamental_type.
161 (dump_die): Use DW_* accessor macros to access values of attributes.
162 (decode_locdesc): Handle DW_OP_plus_uconst.
166 * mn10200-tdep.c: New file.
167 * config/mn10200/tm-mn10200.h: New, REGISTER_SIZE is 24 bits not 32,
168 SP_REGNUM and FP_REGNUM are different, also no lar or lir.
169 * config/mn10200/mn10200.mt: New file.
170 * configure.tgt: add mn10200 entry.
174 * configure.in configure: Check if host has libdl if doing
179 * mn10300-tdep.c: Wrote/fixed implementations of
180 mn10300_frame_chain, mn10300_init_extra_frame_info,
181 mn10300_frame_saved_pc
182 * config/mn10300/tm-mn10300.h: Redefine INIT_EXTRA_FRAME_INFO
183 and INIT_FRAME_PC macros.
187 * configure.in configure: Check if host has libm. Make sure we
188 are using gcc when using the -export-dynamic option. Fixes a
189 problem with building under Solaris/SunPro cc.
193 * config/mips/{embed,embed64,embedl,embedl64}.mt:
194 Link in simulator on MIPS embedded targets.
198 * blockframe.c (frameless_look_for_prologue): Mark frames
199 with a zero PC as frameless to improve backtraces from core dumps
200 caused by dereferencing a NULL function pointer.
204 * config/mn10300/tm-mn10300.h: fix BREAKPOINT definition.
208 * mn10300-tdep.c: made a lot more generic, ripping out code
209 from copied target (no more mn10300_scan_prologue,
210 init_extra_frame_info, and mn10300_fix_call_dummy calls)
211 * config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO
212 and INIT_FRAME_PC macros
216 * sparc-tdep.c (sparc_frame_find_saved_regs): Don't use
217 FP_REGISTER_BYTES to compute offsets into the saved frame,
218 since it fails for SPARC targets configured without any
219 FP regs. Instead, use DUMMY_STACK_REG_BUF_SIZE.
223 * symtab.c (fixup_symbol_section): Handle NULL symbols without
228 * Makefile.in configure configure.in: Remove ENABLE_CLIBS,
229 ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS
231 * configure configure.in: Clean up test cases around thread support.
233 * configure.tgt (v850-*-*): Include v850ice.o and v850.lib if
236 * c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
237 printcmd.c valops.c value.h values.c: Add bfd_section arg to
238 value_at and value_at_lazy.
239 * coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
240 Add bfd_section arg to prim_record_minimal_symbol_and_info.
241 * corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section
242 instead of read_memory. It takes a bfd_section arg.
243 * coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove
244 unnecessary cast for assignment of struct dbx_symfile_info.
245 Struct objfile now uses a real pointer instead of PTR for this
247 * dbxread.c (dbx_symfile_init): Stash bfd section pointers for
248 text, data and bss into dbx_symfile_info.
249 * exec.c (xfer_memory): Handle transfers for user-specified
251 * findvar.c (read_var_value locate_var_value): Copy bfd section
252 from the symbol to the value.
253 * gdb-stabs.h: Add section pointers for text, data and bss
255 * maint.c (translate address command): Add test code for overlay
257 * printcmd.c (do_examine do_one_display): Now takes a bfd section
259 * (print_formatted x_command): Record current section along with
260 current address for repeated commands.
261 * sparc-nat.c (fetch_inferior_registers): Change
262 target_xfer_memory to target_{read write}_memory to allow changes
263 to target_xfer_memory interface for section info.
264 * symmisc.c (dump_msymbols print_symbol): Print section
265 assocaited with symbol.
266 * symtab.c (fixup_symbol_section): New routine to
267 add section info to symbols returned by lookup_symbol.
268 * symtab.h (struct general_symbol_info): Add bfd section to
270 * target.c target.h (target_xfer_memory): Add bfd section to
272 * (target_read_memory_section): New routine to read data from a
274 * (target_memory_bfd_section): New global variable to pass bfd
275 section in to targets.
276 * valarith.c (value_add value_addr value_array): Preserve bfd
277 section when computing new value.
278 * value.h (struct value): Add bfd section to values.
279 * values.c (allocate_value value_copy): Initialize/preserve bfd
281 * (unpack_double): Clean up _MSC_VER conditionals to remove
284 * v850ice.c: New module to support communication with NEC's
286 * config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and
287 ep names with rxx names. sp and fp are renamed via a different
293 * mn10300-tdep.c (mn10300_push_arguments): rewrote,
294 also removed code elsewhere that made use of RP_REGNUM.
295 * config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM,
296 ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300
297 arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE,
298 EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE.
300 For older changes see ChangeLog-96
306 version-control: never