Add r5900
[external/binutils.git] / gdb / ChangeLog
1 start-sanitize-r5900
2 Fri Feb 07 09:04:37 1997  Gavin Koch  <gavin@cygnus.com>
3         
4         * configure.tgt: added r5900.
5         
6 end-sanitize-r5900
7 Mon Feb 10 18:35:55 1997  Mark Alexander  <marka@cygnus.com>
8
9         * mips-tdep.c (non_heuristic_proc_desc): New function.
10         (find_proc_desc): Move non-heuristic proc search code into separate
11         function.
12         (gdb_print_insn_mips): Use non-heuristic method to find procedure
13         descriptor, to avoid prologue examination when disassembling.
14         * remote-mips.c: Add support for new "lsi" target (LSI MiniRISC
15         aka MicroMeteor board).
16         (mips_exit_debug): Prevent protocol reinitialization if an error
17         occurs while exiting debug mode.
18
19 Mon Feb 10 16:11:57 1997  Jeffrey A Law  (law@cygnus.com)
20
21         * mn10200-tdep.c: Remove lots of debugging printfs, update/improve
22         comments, formatting, etc.  Plus other minor fixes for problems
23         I found during my first pass over the mn10200 port.
24         (mn10200_analyze_prologue): New function.
25         (mn10200_frame_chain, mn10200_init_extra_frame_info): Use it.
26         * config/mn10200/tm-mn10200.h: Lots of updates/improvements to
27         comments, formatting, etc.  Minor fixes for problems I found during
28         my first pass over the mn10200 port.
29         (TARGET_*_BIT): Define appropriately for ints, long longs, doubles and
30         pointers.
31         (REGISTER_VIRTUAL_TYPE): Define as a long.
32         (EXTRACT_RETURN_VALUE): Rework to deal with long ints living
33         in register pairs.
34         (STORE_RETURN_VALUE): Similarly.
35
36         * blockframe.c (generic_get_saved_regs): Remove unused variable
37         "addr".
38         * breakpoint.c (frame_in_dummy): Move struct breakpoint *b decl
39         inside #ifdef CALL_DUMMY.
40         (watch_command_1): Initialize target_resources_ok.
41         * command.c (do_setshow_command): Provide dummy initialization
42         for "match".
43         * valops.c (find_function_addr): Move function & prototype inside
44         #ifdef CALL_DUMMY.
45         (value_arg_coerce): Similarly.
46         (value_of_variable): Provide dummy initialization of "frame".
47
48 Mon Feb 10 13:50:53 1997  Stu Grossman  (grossman@critters.cygnus.com)
49
50         * gdbtk.c (call_wrapper):  Clear running_now if an error occurs.
51         This fixes PR 11323, where gdbtk stops responding if an error occurs.
52
53 Mon Feb 10 07:54:26 1997  Fred Fish  <fnf@cygnus.com>
54
55         * xcoffread.c (RECORD_MINIMAL_SYMBOL): Add NULL asection* parameter
56         to prim_record_minimal_symbol_and_info call that was missed in Jan 3
57         change.
58         (scan_xcoff_symtab): Ditto.
59
60 Sun Feb 09 09:23:26 1997  Mark Alexander  <marka@cygnus.com>
61
62         * remote-mips.c (common_breakpoint): Prevent 64-bit addresses
63         from being sent to 32-bit targets by masking off upper bits.
64         * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits
65         of PC on 32-bit targets.
66         (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a
67         frame setup instruction.
68         (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall.
69         (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid
70         prologue instruction.  Fix warnings and bugs found by gcc -Wall.
71         * buildsym.c (finish_block): Improve handling of overlapping blocks;
72         fixes problem on MIPS16 printing function arguments.
73
74 Sat Feb  8 01:14:43 1997  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
75
76         * dwarf2read.c (dwarf2_linkage_name):  New function to get
77         the linkage name of a die from DW_AT_MIPS_linkage_name or
78         DW_AT_name.
79         (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn,
80         new_symbol):  Use it instead of accessing DW_AT_name.
81         (read_partial_die):  Use DW_AT_MIPS_linkage name as name of the
82         partial die if present.
83         (dwarf2_add_member_fn):  Make a copy of physname on the type obstack.
84
85 Fri Feb  7 10:06:22 1997  Jeffrey A Law  (law@cygnus.com)
86
87         * blockframe.c (generic_frame_chain_valid): If the new frame
88         is not INNER_THAN the old frame, then it's not valid.
89
90 Tue Feb 04 09:04:37 1997  Mark Alexander  <marka@cygnus.com>
91
92         * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
93         (mips16_heuristic_proc_desc): Recognize jal(x) instruction.
94
95 Mon Feb 03 17:57:58 1997  Mark Alexander  <marka@cygnus.com>
96
97         * mips-tdep.c (mips16_decode_reg_save): Distinguish between
98         sd and sw instructions correctly.
99         (heuristic_proc_start): Add support for MIPS16.
100         (mips16_get_imm, mips16_heuristic_proc_desc,
101         mips32_heuristic_proc_desc): New helper functions for
102         heuristic_proc_desc.
103         (heuristic_proc_desc): Rewrite and reorganize to support MIPS16.
104         (mips_push_arguments): Don't align small arguments in EABI.
105         (mips32_skip_prologue): Attempt to shrink code size a little.
106
107 start-sanitize-m32r
108 Mon Feb  3 11:06:05 1997  Michael Snyder  <msnyder@cleaver.cygnus.com>
109
110         * m32r-stub.c: New -- remote protocol support for M32R cpu.
111         * m32r-rom.c:  Several experiments with improved download time.
112         * .Sanitize:   Add entry for m32r-stub.c
113 end-sanitize-m32r
114
115 Fri Jan 31 08:26:39 1997  Mark Alexander  <marka@cygnus.com>
116
117         * mips-tdep.c (MIPS16_INSTLEN): Define.
118         (mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN.
119         (heuristic_proc_start): Recognize 'entry' pseudo-op as a start
120         of function on MIPS16.
121         (mips32_skip_prologue, mips16_skip_prologue): New helper functions
122         for mips_skip_prologue.
123         (mips_skip_prologue): Recognize both 16- and 32-bit prologues.
124
125 Wed Jan 29 12:45:54 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
126
127         * config/powerpc/ppc{,le}-sim.mt (SIM): Remove the library
128         ../sim/common/libcommon.a.
129
130 Tue Jan 28 15:54:13 1997  Michael Snyder  <msnyder@cleaver.cygnus.com>
131
132         * blockframe.c: fix a null pointer ref in generic_get_saved_register
133
134 Tue Jan 28 15:39:50 1997  Geoffrey Noer  <noer@cygnus.com>
135
136         * mn10200-tdep.c (mn10200_frame_chain): Get basic backtracing
137         working.
138
139 Mon Jan 27 14:31:52 1997  Mark Alexander  <marka@cygnus.com>
140
141 First set of changes for mips16:
142         * config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT,
143         MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define.
144         (ABOUT_TO_RETURN): Call new function mips_about_to_return.
145         (mips_breakpoint_from_pc, mips_about_to_return): Declare.
146         * mem-break.c (memory_breakpoint_from_pc): New function.
147         (memory_insert_breakpoint, memory_remove_breakpoint): Use
148         memory_breakpoint_from_pc to determine breakpoint contents and size.
149         * target.h (memory_breakpoint_from_pc): Declare.
150         * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc
151         to determine size of breakpoint instruction.
152         * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save):
153         New helper functions for mips_find_saved_regs.
154         (mips_find_saved_regs): Recognize mips16 prologues.
155         (mips_addr_bits_remove): Strip off upper 32 bits of address
156         when target CPU is 32 bits but CORE_ADDR is 64 bits.
157         (mips_step_skips_delay): No branch delay slot on mips16.
158         (gdb_print_insn_mips): Disassemble mips16 code.
159         (mips_breakpoint_from_pc, mips_about_to_return): New functions.
160
161 Mon Jan 27 10:34:03 1997  Jeffrey A Law  (law@cygnus.com)
162
163         * tm-mn10200.h (NUM_REGS): Decrease to 12.
164         (REGISTER_NAMES): Elimination registers not found on the mn10200.
165         (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes.
166         (LIR_REGNUM, LAR_REGNUM): Delete.  They don't exist on the mn10200.
167
168 Sat Jan 25 00:07:59 1997  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
169
170         * dwarf2read.c:  Replace integral tag, name and form fields in
171         internal structure definitions with the corresponding enumeration
172         types from dwarf2.h. Add default cases to switches on enumerations
173         where appropriate.
174         Make quoting of string arguments in complaint messages consistent.
175         Check for NULL returns from DW_STRING.
176         (struct partial_die_info):  Add sibling and has_type fields, remove
177         unused value field.
178         (DW_*):  Move access macro definitions near the definition of the
179         attribute structure.
180         (struct field_info):  New structure to pass information about fields
181         and member functions between die processing routines.
182         (dwarf2_build_psymtabs_hard):  Set cu_header_offset.
183         (scan_partial_symbols):  Do not enter DW_TAG_subprogram dies into
184         the partial symbol table if the DW_AT_*_pc attributes are missing.
185         Add file scope base type definitions to the partial symbol table.
186         Skip over child dies if the die has a sibling attribute.
187         (add_partial_symbol):  Enter global variables with type attributes
188         and without location descriptors into the partial symbol table.
189         Store value of DW_TAG_variable dies in the partial symbol table.
190         Do not enter global variables into the minimal symbol table.
191         Add base type definitions to the partial symbol table.
192         (psymtab_to_symtab_1):  Use dwarf2_get_pc_bounds to determine highpc.
193         (process_die):  Move check for DW_AT_low_pc to read_func_scope.
194         Add a typedef symbol for base type definitions to the symbol table.
195         Ignore DW_TAG_inlined_subroutine tags for now.
196         (read_file_scope):  Use dwarf2_get_pc_bounds to determine pc bounds.
197         (read_func_scope, read_lexical_block_scope):  Use dwarf2_get_pc_bounds
198         to determine pc bounds, ignore dies with invalid bounds.
199         (dwarf2_get_pc_bounds):  New routine to extract and validate the
200         DW_AT_*_pc attributes of a die.
201         (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name,
202         dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
203         New functions to handle fields and member functions.
204         (read_structure_scope):  Rewritten to use them.
205         (read_array_type):  Renamed from dwarf_read_array_type.
206         Default upper array bound to describe an array with unspecified
207         length.
208         Create array types in backwards order, as dwarf2 puts out the array
209         dimensions from left to right.
210         (read_subroutine_type):  Handle DW_TAG_unspecified_parameters,
211         DW_AT_artificial and DW_AT_prototyped.
212         (read_base_type):  Make an unsigned type for DW_ATE_boolean.
213         Pass objfile to dwarf_base_type.
214         (read_partial_die):  Use read_attribute to read in the attributes.
215         Handle DW_AT_sibling and DW_AT_type.
216         Follow references when determining DW_AT_name and DW_AT_external
217         attributes of the die.
218         Validate DW_AT_*_pc attributes.
219         (read_full_die):  Use read_attribute to read in the attributes.
220         (read_attribute):  New function to read an attribute described
221         by an abbreviated attribute.
222         (new_symbol):  Relocate symbol value for DW_TAG_label with baseaddr.
223         Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram,
224         SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block.
225         Change symbol class for global variables with a zero valued location
226         descriptor to LOC_UNRESOLVED.
227         Handle DW_AT_const_value attributes for DW_TAG_variable,
228         DW_TAG_formal_parameter and DW_TAG_enumerator.
229         Build a typedef symbol for DW_TAG_base_type.
230         (dwarf2_const_value):  New routine to copy a constant value from an
231         attribute to a symbol.
232         (dwarf_base_type):  Use passed in objfile, not current_objfile
233         when calling dwarf2_fundamental_type.
234         (dump_die):  Use DW_* accessor macros to access values of attributes.
235         (decode_locdesc):  Handle DW_OP_plus_uconst.
236
237 Wed Jan 22 01:31:16 1997  Geoffrey Noer  <noer@cygnus.com>
238
239         * mn10200-tdep.c: New file.
240         * config/mn10200/tm-mn10200.h: New, REGISTER_SIZE is 24 bits not 32,
241         SP_REGNUM and FP_REGNUM are different, also no lar or lir.
242         * config/mn10200/mn10200.mt: New file.
243         * configure.tgt: add mn10200 entry.
244
245 Tue Jan 21 18:32:23 1997  Stu Grossman  (grossman@lisa.cygnus.com)
246
247         * configure.in configure:  Check if host has libdl if doing
248         Solaris threads.
249
250 Tue Jan 21 17:03:26 1997  Geoffrey Noer  <noer@cygnus.com>
251
252         * mn10300-tdep.c: Wrote/fixed implementations of
253         mn10300_frame_chain, mn10300_init_extra_frame_info,
254         mn10300_frame_saved_pc
255         * config/mn10300/tm-mn10300.h: Redefine INIT_EXTRA_FRAME_INFO
256         and INIT_FRAME_PC macros.
257
258 Tue Jan 21 17:01:20 1997  Stu Grossman  (grossman@lisa.cygnus.com)
259
260         * configure.in configure:  Check if host has libm.  Make sure we
261         are using gcc when using the -export-dynamic option.  Fixes a
262         problem with building under Solaris/SunPro cc.
263
264 Mon Jan 20 13:52:13 1997  Mark Alexander  <marka@cygnus.com>
265
266         * config/mips/{embed,embed64,embedl,embedl64}.mt:
267         Link in simulator on MIPS embedded targets.
268
269 Sat Jan 18 02:31:29 1997  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
270
271         * blockframe.c (frameless_look_for_prologue):  Mark frames
272         with a zero PC as frameless to improve backtraces from core dumps
273         caused by dereferencing a NULL function pointer.
274
275 Thu Jan 16 14:10:41 1997  Geoffrey Noer  <noer@cygnus.com>
276
277         * config/mn10300/tm-mn10300.h: fix BREAKPOINT definition.
278
279 Tue Jan 14 16:01:06 1997  Geoffrey Noer  <noer@cygnus.com>
280
281         * mn10300-tdep.c: made a lot more generic, ripping out code
282         from copied target (no more mn10300_scan_prologue,
283         init_extra_frame_info, and mn10300_fix_call_dummy calls)
284         * config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO
285         and INIT_FRAME_PC macros
286
287 Thu Jan  9 11:44:40 1997  Michael Snyder  <msnyder@cleaver.cygnus.com>
288
289         * sparc-tdep.c (sparc_frame_find_saved_regs): Don't use 
290         FP_REGISTER_BYTES to compute offsets into the saved frame, 
291         since it fails for SPARC targets configured without any
292         FP regs.  Instead, use DUMMY_STACK_REG_BUF_SIZE.  
293
294 Mon Jan  6 11:15:14 1997  Stu Grossman  (grossman@critters.cygnus.com)
295
296         * symtab.c (fixup_symbol_section):  Handle NULL symbols without
297         crashing.
298
299 Fri Jan  3 12:08:16 1997  Stu Grossman  (grossman@critters.cygnus.com)
300
301         * Makefile.in configure configure.in:  Remove ENABLE_CLIBS,
302         ENABLE_OBS, and THREAD_DB_OBS.  These are consolidated into LIBS
303         and CONFIG_OBS.
304         * configure configure.in:  Clean up test cases around thread support.
305 start-sanitize-v850
306         * configure.tgt (v850-*-*):  Include v850ice.o and v850.lib if
307         host is Windows.
308 end-sanitize-v850
309         * c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
310         printcmd.c valops.c value.h values.c:  Add bfd_section arg to
311         value_at and value_at_lazy.
312         * coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
313         Add bfd_section arg to prim_record_minimal_symbol_and_info.
314         * corefile.c gdbcore.h printcmd.c valops.c:  Use read_memory_section
315         instead of read_memory.  It takes a bfd_section arg.
316         * coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h:  Remove
317         unnecessary cast for assignment of struct dbx_symfile_info.
318         Struct objfile now uses a real pointer instead of PTR for this
319         element.
320         * dbxread.c (dbx_symfile_init): Stash bfd section pointers for
321         text, data and bss into dbx_symfile_info.
322         * exec.c (xfer_memory):  Handle transfers for user-specified
323         sections.
324         * findvar.c (read_var_value locate_var_value):  Copy bfd section
325         from the symbol to the value.
326         * gdb-stabs.h:  Add section pointers for text, data and bss
327         sections.
328         * maint.c (translate address command):  Add test code for overlay
329         address translation.
330         * printcmd.c (do_examine do_one_display):  Now takes a bfd section
331         arg.
332         * (print_formatted x_command):  Record current section along with
333         current address for repeated commands.
334         * sparc-nat.c (fetch_inferior_registers):  Change
335         target_xfer_memory to target_{read write}_memory to allow changes
336         to target_xfer_memory interface for section info.
337         * symmisc.c (dump_msymbols print_symbol):  Print section
338         assocaited with symbol.
339         * symtab.c (fixup_symbol_section):  New routine to
340         add section info to symbols returned by lookup_symbol.
341         * symtab.h (struct general_symbol_info):  Add bfd section to
342         symbols.
343         * target.c target.h (target_xfer_memory):  Add bfd section to
344         args.
345         * (target_read_memory_section):  New routine to read data from a
346         specific section.
347         * (target_memory_bfd_section):  New global variable to pass bfd
348         section in to targets.
349         * valarith.c (value_add value_addr value_array):  Preserve bfd
350         section when computing new value.
351         * value.h (struct value):  Add bfd section to values.
352         * values.c (allocate_value value_copy):  Initialize/preserve bfd
353         section.
354         * (unpack_double):  Clean up _MSC_VER conditionals to remove
355         duplicate code.
356 start-sanitize-v850
357         * v850ice.c:  New module to support communication with NEC's
358         PC-based ICE.
359         * config/v850/tm-v850.h (REGISTER_NAMES):  Replace sp, gp, fp, and
360         ep names with rxx names.  sp and fp are renamed via a different
361         mechanism.
362 end-sanitize-v850
363
364 Fri Jan  3 14:20:05 1997  Geoffrey Noer  <noer@cygnus.com>
365
366         * mn10300-tdep.c (mn10300_push_arguments): rewrote,
367         also removed code elsewhere that made use of RP_REGNUM.
368         * config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM,
369         ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300
370         arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE,
371         EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE.
372
373 For older changes see ChangeLog-96
374 \f
375 Local Variables:
376 mode: indented-text
377 left-margin: 8
378 fill-column: 74
379 version-control: never
380 End: