Be more strict about what kinds of types can be passed.
[external/binutils.git] / gdb / ChangeLog
1 2015-01-31  Doug Evans  <xdje42@gmail.com>
2
3         * gnu-v3-abi.c (gnuv3_dynamic_class): Assert only passed structs
4         or unions.  Return zero if union.
5         (gnuv3_get_vtable): Call check_typedef.  Assert only passed structs.
6         (gnuv3_rtti_type): Pass already-check_typedef'd value to
7         gnuv3_get_vtable.
8         (compute_vtable_size): Assert only passed structs.
9         (gnuv3_print_vtable): Don't call gnuv3_get_vtable for non-structs.
10
11 2015-01-31  Doug Evans  <xdje42@gmail.com>
12
13         * gdbtypes.c (copy_type_recursive): Handle all TYPE_SPECIFIC_FIELD
14         kinds.
15
16 2015-01-31  Gary Benson <gbenson@redhat.com>
17             Doug Evans  <dje@google.com>
18
19         PR cli/9007
20         PR cli/11920
21         PR cli/15548
22         * cli/cli-cmds.c (complete_command): Notify user if max-completions
23         reached.
24         * common/common-exceptions.h (enum errors)
25         <MAX_COMPLETIONS_REACHED_ERROR>: New value.
26         * completer.h (get_max_completions_reached_message): New declaration.
27         (max_completions): Likewise.
28         (completion_tracker_t): New typedef.
29         (new_completion_tracker): New declaration.
30         (make_cleanup_free_completion_tracker): Likewise.
31         (maybe_add_completion_enum): New enum.
32         (maybe_add_completion): New declaration.
33         (throw_max_completions_reached_error): Likewise.
34         * completer.c (max_completions): New global variable.
35         (new_completion_tracker): New function.
36         (free_completion_tracker): Likewise.
37         (make_cleanup_free_completion_tracker): Likewise.
38         (maybe_add_completions): Likewise.
39         (throw_max_completions_reached_error): Likewise.
40         (complete_line): Remove duplicates and limit result to max_completions
41         entries.
42         (get_max_completions_reached_message): New function.
43         (gdb_display_match_list): Handle max_completions.
44         (_initialize_completer): New declaration and function.
45         * symtab.c: Include completer.h.
46         (completion_tracker): New static variable.
47         (completion_list_add_name): Call maybe_add_completion.
48         (default_make_symbol_completion_list_break_on_1): Renamed from
49         default_make_symbol_completion_list_break_on.  Maintain
50         completion_tracker across calls to completion_list_add_name.
51         (default_make_symbol_completion_list_break_on): New function.
52         * top.c (init_main): Set rl_completion_display_matches_hook.
53         * tui/tui-io.c: Include completer.h.
54         (tui_old_rl_display_matches_hook): New static global.
55         (tui_rl_display_match_list): Notify user if max-completions reached.
56         (tui_setup_io): Save/restore rl_completion_display_matches_hook.
57         * NEWS (New Options): Mention set/show max-completions.
58
59 2015-01-31  Gary Benson  <gbenson@redhat.com>
60
61         * symtab.c (struct add_name_data) <code>: New field.
62         Updated comments.
63         (add_symtab_completions): New function.
64         (symtab_expansion_callback): Likewise.
65         (default_make_symbol_completion_list_break_on): Set datum.code.
66         Move minimal symbol scan before calling expand_symtabs_matching.
67         Scan known primary symtabs for externs and statics before calling
68         expand_symtabs_matching.  Pass symtab_expansion_callback as
69         expansion_notify argument to expand_symtabs_matching.  Do not scan
70         primary symtabs for externs and statics after calling
71         expand_symtabs_matching.
72
73 2015-01-31  Gary Benson  <gbenson@redhat.com>
74
75         * symfile.h (expand_symtabs_exp_notify_ftype): New typedef.
76         (struct quick_symbol_functions) <expand_symtabs_matching>:
77         New argument expansion_notify.  All uses updated.
78         (expand_symtabs_matching): New argument expansion_notify.
79         All uses updated.
80         * symfile-debug.c (debug_qf_expand_symtabs_matching):
81         Also print expansion notify.
82         * symtab.c (expand_symtabs_matching_via_partial): Call
83         expansion_notify whenever a partial symbol table is expanded.
84         * dwarf2read.c (dw2_expand_symtabs_matching): Call
85         expansion_notify whenever a symbol table is instantiated.
86
87 2015-01-31  Doug Evans  <xdje42@gmail.com>
88
89         * cli-out.c: #include completer.h, readline/readline.h.
90         (cli_mld_crlf, cli_mld_putch, cli_mld_puts): New functions.
91         (cli_mld_flush, cld_mld_erase_entire_line): Ditto.
92         (cli_mld_beep, cli_mld_read_key, cli_display_match_list): Ditto.
93         * cli-out.h (cli_display_match_list): Declare.
94         * completer.c (MB_INVALIDCH, MB_NULLWCH): New macros.
95         (ELLIPSIS_LEN): Ditto.
96         (gdb_get_y_or_n, gdb_display_match_list_pager): New functions.
97         (gdb_path_isdir, gdb_printable_part, gdb_fnwidth): Ditto.
98         (gdb_fnprint, gdb_print_filename): Ditto.
99         (gdb_complete_get_screenwidth, gdb_display_match_list_1): Ditto.
100         (gdb_display_match_list): Ditto.
101         * completer.h (mld_crlf_ftype, mld_putch_ftype): New typedefs.
102         (mld_puts_ftype, mld_flush_ftype, mld_erase_entire_line_ftype): Ditto.
103         (mld_beep_ftype, mld_read_key_ftype): Ditto.
104         (match_list_displayer): New struct.
105         (gdb_display_match_list): Declare.
106         * top.c (init_main): Set rl_completion_display_matches_hook.
107         * tui/tui-io.c: #include completer.h.
108         (printable_part, PUTX, print_filename, get_y_or_n): Delete.
109         (tui_mld_crlf, tui_mld_putch, tui_mld_puts): New functions.
110         (tui_mld_flush, tui_mld_erase_entire_line, tui_mld_beep): Ditto.
111         (tui_mld_getc, tui_mld_read_key): Ditto.
112         (tui_rl_display_match_list): Rewrite.
113         (tui_handle_resize_during_io): New arg for_completion.  All callers
114         updated.
115
116 2015-01-31  Doug Evans  <xdje42@gmail.com>
117
118         Add symbol lookup cache.
119         * NEWS: Document new options and commands.
120         * symtab.c (symbol_cache_key): New static global.
121         (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros.
122         (SYMBOL_LOOKUP_FAILED): New macro.
123         (symbol_cache_slot_state): New enum.
124         (block_symbol_cache): New struct.
125         (symbol_cache): New struct.
126         (new_symbol_cache_size, symbol_cache_size): New static globals.
127         (hash_symbol_entry, eq_symbol_entry): New functions.
128         (symbol_cache_byte_size, resize_symbol_cache): New functions.
129         (make_symbol_cache, free_symbol_cache): New functions.
130         (get_symbol_cache, symbol_cache_cleanup): New function.
131         (set_symbol_cache_size, set_symbol_cache_size_handler): New functions.
132         (symbol_cache_lookup, symbol_cache_clear_slot): New function.
133         (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions.
134         (symbol_cache_flush, symbol_cache_dump): New functions.
135         (maintenance_print_symbol_cache): New function.
136         (maintenance_flush_symbol_cache): New function.
137         (symbol_cache_stats): New function.
138         (maintenance_print_symbol_cache_statistics): New function.
139         (symtab_new_objfile_observer): New function.
140         (symtab_free_objfile_observer): New function.
141         (lookup_static_symbol, lookup_global_symbol): Use symbol cache.
142         (_initialize_symtab): Init symbol_cache_key.  New parameter
143         maint symbol-cache-size.  New maint commands print symbol-cache,
144         print symbol-cache-statistics, flush-symbol-cache.
145         Install new_objfile, free_objfile observers.
146
147 2015-01-31  Joel Brobecker  <brobecker@adacore.com>
148
149         PR symtab/17855
150         * symfile.c (clear_symtab_users): Move call to breakpoint_re_set
151         to end.
152
153 2015-01-31  Doug Evans  <xdje42@gmail.com>
154
155         * NEWS: Mention inlined scripts in .debug_gdb_scripts section.
156         * auto-load.c: #include ctype.h.
157         (struct auto_load_pspace_info): Replace member loaded_scripts with
158         new members loaded_script_files, loaded_script_texts.
159         (auto_load_pspace_data_cleanup): Update.
160         (init_loaded_scripts_info): Update.
161         (get_auto_load_pspace_data_for_loading): Update.
162         (maybe_add_script_file): Renamed from maybe_add_script.  All callers
163         updated.
164         (maybe_add_script_text): New function.
165         (clear_section_scripts): Update.
166         (source_script_file, execute_script_contents): New functions.
167         (source_section_scripts): Add support for
168         SECTION_SCRIPT_ID_PYTHON_TEXT, SECTION_SCRIPT_ID_GUILE_TEXT.
169         (print_scripts): New function.
170         (auto_load_info_scripts): Also print inlined scripts.
171         (maybe_print_unsupported_script_warning): Renamed from
172         unsupported_script_warning_print.  All callers updated.
173         (maybe_print_script_not_found_warning): Renamed from
174         script_not_found_warning_print.  All callers updated.
175         * extension-priv.h (struct extension_language_script_ops): New member
176         objfile_script_executor.
177         * extension.c (ext_lang_objfile_script_executor): New function.
178         * extension.h (objfile_script_executor_func): New typedef.
179         (ext_lang_objfile_script_executor): Declare.
180         * guile/guile-internal.h (gdbscm_execute_objfile_script): Declare.
181         * guile/guile.c (guile_extension_script_ops): Update.
182         * guile/scm-objfile.c (gdbscm_execute_objfile_script): New function.
183         * python/python.c (python_extension_script_ops): Update.
184         (gdbpy_execute_objfile_script): New function.
185
186 2015-01-31  Eli Zaretskii  <eliz@gnu.org>
187
188         * tui/tui-io.c (tui_expand_tabs): New function.
189         (tui_puts, tui_redisplay_readline): Expand TABs into the
190         appropriate number of spaces.
191         * tui/tui-regs.c: Include tui-io.h.
192         (tui_register_format): Call tui_expand_tabs to expand TABs into
193         the appropriate number of spaces.
194         * tui/tui-io.h: Add prototype for tui_expand_tabs.
195
196 2015-01-30  Doug Evans  <dje@google.com>
197
198         * NEWS: "info source" command now display producer string if present.
199         * source.c (source_info): Print producer string if present.
200
201 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
202
203         * varobj.c (varobj_delete): Fix comment.
204
205 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
206
207         * varobj.c (create_child): Modify comment.
208
209 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
210
211         * ada-varobj.c (ada_number_of_children): Constify struct varobj *
212         parameter.
213         (ada_name_of_variable): Same.
214         (ada_path_expr_of_child): Same.
215         (ada_value_of_variable): Same.
216         (ada_value_is_changeable_p): Same.
217         (ada_value_has_mutated): Same.
218         * c-varobj.c (varobj_is_anonymous_child): Same.
219         (c_is_path_expr_parent): Same.
220         (c_number_of_children): Same.
221         (c_name_of_variable): Same.
222         (c_path_expr_of_child): Same.
223         (get_type): Same.
224         (c_value_of_variable): Same.
225         (cplus_number_of_children): Same.
226         (cplus_name_of_variable): Same.
227         (cplus_path_expr_of_child): Same.
228         (cplus_value_of_variable): Same.
229         * jv-varobj.c (java_number_of_children): Same.
230         (java_name_of_variable): Same.
231         (java_path_expr_of_child): Same.
232         (java_value_of_variable): Same.
233         * varobj.c (number_of_children): Same.
234         (name_of_variable): Same.
235         (is_root_p): Same.
236         (varobj_ensure_python_env): Same.
237         (varobj_get_objname): Same.
238         (varobj_get_expression): Same.
239         (varobj_get_display_format): Same.
240         (varobj_get_display_hint): Same.
241         (varobj_has_more): Same.
242         (varobj_get_thread_id): Same.
243         (varobj_get_frozen): Same.
244         (dynamic_varobj_has_child_method): Same.
245         (varobj_get_gdb_type): Same.
246         (is_path_expr_parent): Same.
247         (varobj_default_is_path_expr_parent): Same.
248         (varobj_get_language): Same.
249         (varobj_get_attributes): Same.
250         (varobj_is_dynamic_p): Same.
251         (varobj_get_child_range): Same.
252         (varobj_value_has_mutated): Same.
253         (varobj_get_value_type): Same.
254         (number_of_children): Same.
255         (name_of_variable): Same.
256         (check_scope): Same.
257         (varobj_editable_p): Same.
258         (varobj_value_is_changeable_p): Same.
259         (varobj_floating_p): Same.
260         (varobj_default_value_is_changeable_p): Same.
261
262 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
263
264         * varobj.c (varobj_get_path_expr): Set var->path_expr.
265         * c-varobj.c (c_path_expr_of_child): Set local var instead of
266         child->path_expr.
267         (cplus_path_expr_of_child): Same.
268
269 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
270
271         * mi-cmd-var.c (print_varobj): Free varobj_get_expression
272         result.
273         (mi_cmd_var_info_expression): Same.
274         * varobj.c (varobj_get_expression): Mention in the comment that
275         the result must by freed by the caller.
276
277 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
278
279         * mi/mi-cmd-var.c (mi_cmd_var_info_type): Free result of
280         varobj_get_type.
281         (varobj_update_one): Same.
282         * varobj.c (update_type_if_necessary): Free curr_type_str and
283         new_type_str.
284         (varobj_get_type): Specify in comment that the result needs to be
285         freed by the caller.
286
287 2015-01-29  Doug Evans  <dje@google.com>
288
289         PR symtab/17890
290         * dwarf2read.c (dwarf_decode_line_header): Punt if version > 4.
291
292 2015-01-25  Mark Wielaard  <mjw@redhat.com>
293
294         * dwarf2read.c (checkproducer): Call producer_is_gcc.
295         * utils.c (producer_is_gcc_ge_4): Likewise.
296         (producer_is_gcc): New function.
297         * utils.h (producer_is_gcc): New declaration.
298
299 2015-01-29  Joel Brobecker  <brobecker@adacore.com>
300
301         * gdbtypes.h (struct dynamic_prop): New PROP_ADDR_OFFSET enum
302         kind.
303         * gdbtypes.c (resolve_dynamic_type_internal): Replace "addr"
304         parameter by "addr_stack" parameter.
305         (resolve_dynamic_range): Replace "addr" parameter by
306         "stack_addr" parameter.  Update function documentation.
307         Update code accordingly.
308         (resolve_dynamic_array, resolve_dynamic_union)
309         (resolve_dynamic_struct, resolve_dynamic_type_internal): Likewise.
310         (resolve_dynamic_type): Update code, following the changes made
311         to resolve_dynamic_type_internal's interface.
312         * dwarf2loc.h (struct property_addr_info): New.
313         (dwarf2_evaluate_property): Replace "address" parameter
314         by "addr_stack" parameter.  Adjust function documentation.
315         (struct dwarf2_offset_baton): New.
316         (struct dwarf2_property_baton): Update documentation of
317         field "referenced_type" to be more general. New field
318         "offset_info" in union data field.
319         * dwarf2loc.c (dwarf2_evaluate_property): Replace "address"
320         parameter by "addr_stack" parameter.  Adjust code accordingly.
321         Add support for PROP_ADDR_OFFSET properties.
322         * dwarf2read.c (attr_to_dynamic_prop): Add support for
323         DW_AT_data_member_location attributes as well.  Use case
324         statements instead of if/else condition.
325
326 2015-01-29  Joel Brobecker  <brobecker@adacore.com>
327
328         * ada-varobj.c (ada_varobj_get_array_number_of_children):
329         Return zero if PARENT_VALUE is NULL and parent_type's
330         range type is dynamic.
331
332 2015-01-29  Joel Brobecker  <brobecker@adacore.com>
333
334         * gdbtypes.c (is_dynamic_type_internal) <TYPE_CODE_RANGE>: Return
335         nonzero if the type's subtype is dynamic.
336         (resolve_dynamic_range): Also resolve the range's subtype.
337
338 2015-01-29  Alexander Klimov  <alserkli@inbox.ru>  (tiny patch)
339
340         Pushed by Joel Brobecker  <brobecker@adacore.com>.
341         * symfile.c (unmap_overlay_command): Initialize sec to NULL.
342
343 2015-01-27  Doug Evans  <dje@google.com>
344
345         * NEWS: Mention gdb.Objfile.username.
346         * python/py-objfile.c (objfpy_get_username): New function.
347         (objfile_getset): Add "username".
348
349 2015-01-24  Mark Wielaard  <mjw@redhat.com>
350
351         * stack.c (return_command): Markup warning message with _.
352
353 2015-01-24  Doug Evans  <xdje42@gmail.com>
354
355         * gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete.
356
357 2015-01-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
358
359         Fix 100x slowdown regression on DWZ files.
360         * dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash.
361         (struct line_header): Add offset and offset_in_dwz.
362         (dwarf_decode_lines): Add parameter decode_mapping to the declaration.
363         (free_line_header_voidp): New declaration.
364         (line_header_hash, line_header_hash_voidp, line_header_eq_voidp): New
365         functions.
366         (dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller.
367         (handle_DW_AT_stmt_list): Use line_header_hash.
368         (free_line_header_voidp): New function.
369         (dwarf_decode_line_header): Initialize offset and offset_in_dwz.
370         (dwarf_decode_lines): New parameter decode_mapping, use it.
371         (dwarf2_free_objfile): Free line_header_hash.
372
373 2015-01-23  Simon Marchi  <simon.marchi@ericsson.com>
374
375         PR gdb/17416
376         * valops.c (value_rtti_indirect_type): Catch exception thrown by
377         value_ind.
378
379 2015-01-15  Mark Wielaard  <mjw@redhat.com>
380
381         * dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from
382         DW_AT_noreturn.
383         * gdbtypes.h (struct func_type): Add is_noreturn field flag. Make
384         calling_convention an 8 bit bit field.
385         (TYPE_NO_RETURN): New macro.
386         * infcmd.c (finish_command): Query if function does not return
387         normally.
388         * stack.c (return_command): Likewise.
389
390 2015-01-23  Pedro Alves  <palves@redhat.com>
391
392         * linux-nat.c (linux_is_async_p): New macro.
393         (linux_nat_is_async_p):
394         (linux_nat_terminal_inferior): Check whether the target can async
395         instead of whether it is already async.
396         (linux_nat_terminal_ours): Don't check whether the target is
397         async.
398         (linux_async_pipe): Use linux_is_async_p.
399
400 2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
401
402         * NEWS (Changes since GDB 7.9): Add 'thread apply all' option
403         '-ascending'.
404         * thread.c (tp_array_compar_ascending, tp_array_compar): New.
405         (thread_apply_all_command): Parse CMD for tp_array_compar_ascending.
406         Sort tp_array using tp_array_compar.
407         (_initialize_thread): Extend thread_apply_all_command help.
408
409 2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
410
411         * corelow.c (core_open): Call also thread_command.
412         * gdbthread.h (thread_command): New prototype moved from ...
413         * thread.c (thread_command): ... here.
414         (thread_command): Make it global.
415
416 2015-01-22  Pedro Alves  <palves@redhat.com>
417
418         * configure.ac [*mingw32*]: Check $curses_found instead of
419         $prefer_curses.
420         * configure: Regenerate.
421         * windows-termcap.c: Remove HAVE_CURSES_H, HAVE_NCURSES_H and
422         HAVE_NCURSES_NCURSES_H checks.
423
424 2015-01-22  Eli Zaretskii  <eliz@gnu.org>
425
426         * tui/tui.c (tui_enable) [__MINGW32__]: If the call to 'newterm'
427         fails with the 1st arg NULL, try again with "unknown".  Don't test
428         the "cup" capability: it isn't supported by the Windows port of
429         ncurses, but the Windows console driver is still capable of
430         supporting TUI.
431
432 2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
433
434         * compile/compile.c (_initialize_compile): Use -fPIE for compile_args.
435
436 2015-01-22  Eli Zaretskii  <eliz@gnu.org>
437
438         * Makefile.in (HFILES_NO_SRCDIR): Remove ada-varobj.h.
439         (ALLDEPFILES): Remove irix5-nat.c.  These two are part of the
440         reason that "make TAGS" is broken.
441
442 2015-01-22  Chen Gang  <gang.chen.5i5j@gmail.com>
443
444         * hppa-tdep.c (inst_saves_gr): Fix logical working flow issues
445         and check additional store instructions.
446
447 2015-01-21  Wei-cheng Wang  <cole945@gmail.com>
448
449         * MAINTAINERS (Write After Approval): Add "Wei-cheng Wang".
450
451 2015-01-21  Wei-cheng Wang  <cole945@gmail.com>
452
453         * ppc-linux-tdep.c (ppc_skip_trampoline_code,
454         ppc_canonicalize_syscall, ppc_linux_syscall_record,
455         ppc_linux_record_signal, ppc_init_linux_record_tdep): Add comments.
456         * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
457         * rs6000-tdep.c (rs6000_epilogue_frame_cache,
458         rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register,
459         rs6000_epilogue_frame_sniffer, ppc_record_vsr, ppc_process_record_op4,
460         ppc_process_record_op19, ppc_process_record_op31,
461         ppc_process_record_op59, ppc_process_record_op60,
462         ppc_process_record_op63): Likewise.
463
464 2015-01-20  Joel Brobecker  <brobecker@adacore.com>
465
466         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string)
467         (linux_ptrace_test_ret_to_nx): Use safe_strerror instead of
468         strerror.
469
470 2015-01-20  Wei-cheng Wang  <cole945@gmail.com>
471
472         * rs6000-tdep.c (ppc_process_record_op4, ppc_process_record_op19,
473         ppc_process_record_op31, ppc_process_record_op59,
474         ppc_process_record_op60, ppc_process_record_op63,
475         ppc_process_record): Fix -Wformat warning.
476         * rs6000-tdep.c (rs6000_epilogue_frame_cache, ppc_process_record_op60):
477         Remove unused variables.
478
479 2015-01-20  Chen Gang  <gang.chen.5i5j@gmail.com>
480
481         * MAINTAINERS (Write After Approval): Add "Chen Gang".
482
483 2015-01-19  Eli Zaretskii  <eliz@gnu.org>
484
485         * configure.ac [*mingw32*]: Only add windows-termcap.o to
486         CONFIG_OBS if not building with a curses library.
487         * configure: Regenerate.
488
489         * windows-termcap.c: Include defs.h.  Make the whole body empty if
490         either one of HAVE_CURSES_H or HAVE_NCURSES_H or
491         HAVE_NCURSES_NCURSES_H is defined.
492
493 2015-01-19  Joel Brobecker  <brobecker@adacore.com>
494
495         * rs6000-tdep.c (rs6000_gdbarch_init): Move divide operator
496         from end of line to start of next line.
497
498 2015-01-17  Wei-cheng Wang  <cole945@gmail.com>
499
500         * ppc-linux-tdep.c (ppc_skip_trampoline_code):
501         Scan PLT stub backward for reverse debugging.
502         * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
503
504 2015-01-17  Wei-cheng Wang  <cole945@gmail.com>
505             Ulrich Weigand  <uweigand@de.ibm.com>
506
507         * configure.tgt (powerpc*-*-linux): Add linux-record.o to
508         gdb_target_obs.
509         (ppc_linux_record_tdep, ppc64_linux_record_tdep): New for linux syscall
510         record.
511         (ppc_canonicalize_syscall, ppc_linux_syscall_record,
512         ppc_linux_record_signal, ppc_init_linux_record_tdep): New functions.
513         (ppc_linux_init_abi): Set process_record, process_record_signal.
514         * ppc-tdep.h (struct gdbarch_tdep): Add ppc_syscall_record and
515         ppc_linux_record_tdep to gdbarch_tdep.
516         (ppc_process_record): New declaration.
517         * rs6000-tdep.c (ppc_record_vsr, ppc_process_record_op4,
518         ppc_process_record_op19, ppc_process_record_op31,
519         ppc_process_record_op59, ppc_process_record_op60,
520         ppc_process_record_op63, ppc_process_record): New functions.
521
522 2015-01-17  Wei-cheng Wang  <cole945@gmail.com>
523
524         * rs6000-tdep.c (rs6000_in_function_epilogue_p): Rename to
525         rs6000_in_function_epilogue_frame_p and add an argument
526         for frame_info.
527         (rs6000_epilogue_frame_cache, rs6000_epilogue_frame_this_id,
528         rs6000_epilogue_frame_prev_register, rs6000_epilogue_frame_sniffer):
529         New functions.
530         (rs6000_epilogue_frame_unwind): New.
531         (rs6000_gdbarch_init): Append epilogue unwinder.
532
533 2015-01-16  Sergio Durigan Junior  <sergiodj@redhat.com>
534
535         * nat/linux-personality.c: Replace "#ifndef
536         HAVE_DECL_ADDR_NO_RANDOMIZE" by "#if
537         !HAVE_DECL_ADDR_NO_RANDOMIZE", fixing a regression in RHEL-5
538         systems.
539
540 2015-01-16  Eli Zaretskii  <eliz@gnu.org>
541
542         * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New
543         functions.
544         (_initialize_tui_win) <border-kind, border-mode>:
545         <active-border-mode>: Use tui_set_var_cmd as the "set" function.
546         (tui_set_tab_width_command): Fix the commentary.
547
548         * tui/tui-win.h: Add prototype for tui_rehighlight_all.
549
550         * tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command):
551         Doc fix.
552         (tui_set_tab_width_command): Delete and recreate the source and
553         the disassembly windows, to show the effect of the changed tab
554         size immediately.
555
556         * tui/tui-data.h (LINE_PREFIX): Make shorter
557         (MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for
558         "Thread NNNNN.XXXX" thread ID notation on Windows.
559
560 2015-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
561
562         Fix gcc-5 compilation.
563         * hppa-tdep.c (inst_saves_gr): Fix parentheses typo.
564
565 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
566
567         * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-personality.h.
568         (linux-personality.o): New rule.
569         * common/common-defs.h: Include <stdint.h>.
570         * config/aarch64/linux.mh (NATDEPFILES): Include
571         linux-personality.o.
572         * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
573         * config/arm/linux.mh (NATDEPFILES): Likewise.
574         * config/i386/linux64.mh (NATDEPFILES): Likewise.
575         * config/i386/linux.mh (NATDEPFILES): Likewise.
576         * config/ia64/linux.mh (NATDEPFILES): Likewise.
577         * config/m32r/linux.mh (NATDEPFILES): Likewise.
578         * config/m68k/linux.mh (NATDEPFILES): Likewise.
579         * config/mips/linux.mh (NATDEPFILES): Likewise.
580         * config/pa/linux.mh (NATDEPFILES): Likewise.
581         * config/powerpc/linux.mh (NATDEPFILES): Likewise.
582         * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
583         * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
584         * config/s390/linux.mh (NATDEPFILES): Likewise.
585         * config/sparc/linux64.mh (NATDEPFILES): Likewise.
586         * config/sparc/linux.mh (NATDEPFILES): Likewise.
587         * config/tilegx/linux.mh (NATDEPFILES): Likewise.
588         * config/xtensa/linux.mh (NATDEPFILES): Likewise.
589         * defs.h: Remove #include <stdint.h> (moved to
590         common/common-defs.h).
591         * linux-nat.c: Include nat/linux-personality.h.  Remove #include
592         <sys/personality.h>; do not define ADDR_NO_RANDOMIZE (moved to
593         nat/linux-personality.c).
594         (linux_nat_create_inferior): Remove code to disable address space
595         randomization (moved to nat/linux-personality.c).  Create cleanup
596         to disable address space randomization.
597         * nat/linux-personality.c: New file.
598         * nat/linux-personality.h: Likewise.
599
600 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
601
602         * Makefile.in (ALLDEPFILES): Including common/mingw-strerror.c and
603         common/posix-strerror.c.
604         (posix-strerror.o): New rule.
605         (mingw-strerror.o): Likewise.
606         * common/common-utils.h (safe_strerror): Move prototype to here,
607         from utils.h.
608         * common/common.host: New file.
609         * common/mingw-strerror.c: Likewise.
610         * common/posix-strerror.c: Likewise.
611         * configure: Regenerated.
612         * configure.ac: Source common/common.host.  Add variable
613         common_host_obs to gdb_host_obs.
614         * contrib/ari/gdb_ari.sh: Mention gdb/common/mingw-strerror.c and
615         gdb/common/posix-strerror.c when warning about the use of
616         strerror.
617         * mingw-hdep.c (safe_strerror): Remove definition; move it to
618         common/mingw-strerror.c.
619         * posix-hdep.c (safe_strerror): Remove definition; move it to
620         common/posix-hdep.c.
621         * utils.h (safe_strerror): Remove prototype; move to
622         common/common-utils.h.
623
624 2015-01-15  Joel Brobecker  <brobecker@adacore.com>
625
626         GDB 7.8.2 released.
627
628 2015-01-15  Joel Brobecker  <brobecker@adacore.com>
629
630         * ada-lang.c (ada_array_bound_from_type): Ignore array's parallel
631         ___XA type if the array has already been fixed.
632
633 2015-01-14  Yao Qi  <yao@codesourcery.com>
634
635         * Makefile.in (ppc-linux.o): New rule.
636         * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o.
637         * configure.ac: AC_CHECK_FUNCS(getauxval).
638         * config.in: Re-generated.
639         * configure: Re-generated.
640         * nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p):
641         Declare.
642         * nat/ppc-linux.c: New file.
643         * ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]:
644         Call ppc64_64bit_inferior_p.
645
646 2015-01-14  Yao Qi  <yao@codesourcery.com>
647
648         * ppc-linux-nat.c (PT_ORIG_R3, PT_TRAP): Move to
649         nat/ppc-linux.h.
650         (PPC_FEATURE_CELL, PPC_FEATURE_BOOKE): Likewise.
651         (PPC_FEATURE_HAS_DFP): Likewise.
652         (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
653         (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
654         (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
655         Include "nat/ppc-linux.h".
656         * nat/ppc-linux.h: New file.
657         * Makefile.in (HFILES_NO_SRCDIR): Add nat/ppc-linux.h.
658
659 2015-01-14  Pedro Alves  <palves@redhat.com>
660
661         PR gdb/17525
662         * breakpoint.c: Include "interps.h".
663         (bpstat_do_actions_1): Also check whether the interpreter is
664         async.
665
666 2015-01-14  Pedro Alves  <palves@redhat.com>
667
668         PR cli/17828
669         * infrun.c (reinstall_readline_callback_handler_cleanup): Don't
670         reinstall if the interpreter is sync.
671
672 2015-01-13  Doug Evans  <dje@google.com>
673
674         * objfiles.c (objfile_filename): New function.
675         * objfiles.h (objfile_filename): Declare it.
676         (objfile_name): Add function comment.
677         * python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the
678         bfd file name (which may be realpath'd), and the original name.
679
680 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
681
682         * NEWS: Create a new section for the next release branch.
683         Rename the section of the current branch, now that it has
684         been cut.
685
686 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
687
688         GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37):
689         * version.in: Bump version to 7.9.50.DATE-cvs.
690
691 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
692
693         * nat/linux-procfs.c (linux_proc_attach_tgid_threads):
694         Remove trailing new-line in argument of call to warning.
695
696 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
697
698         * linux-nat.c (attach_proc_task_lwp_callback): Remove trailing
699         new-line in argument of call to "warning".
700
701 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
702
703         * ada-lang.c (ada_lookup_symbol_nonlocal): If name not found
704         in static block, then try searching for primitive types.
705
706 2015-01-12  Patrick Palka  <patrick@parcs.ath.cx>
707
708         * top.h (gdb_add_history): Declare.
709         * top.c (command_count): New variable.
710         (gdb_add_history): New function.
711         (gdb_safe_append_history): New static function.
712         (quit_force): Call it.
713         (command_line_input): Use gdb_add_history instead of
714         add_history.
715         * event-top.c (command_line_handler): Likewise.
716
717 2015-01-12  James Clarke  <jrtc27@jrtc27.com>  (tiny patch)
718
719         PR gdb/17046
720         * darwin-nat.c: Replace <machine/setjmp.h> #include by
721         <setjmp.h> #include.
722
723 2015-01-11  Doug Evans  <xdje42@gmail.com>
724
725         * dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME.
726
727 2015-01-11  Doug Evans  <xdje42@gmail.com>
728
729         PR gdb/15830
730         * NEWS: The "maint demangle" command is renamed as "demangle".
731         * demangle.c: #include cli/cli-utils.h, language.h.
732         (demangle_command): New function.
733         (_initialize_demangle): Add new command "demangle".
734         * maint.c (maintenance_demangle): Stub out.
735         (_initialize_maint_cmds): Update help text for "maint demangle",
736         and mark as deprecated.
737
738 2015-01-11  Mark Kettenis  <kettenis@gnu.org>
739
740         * inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that
741         inferior_thread is a function.
742
743 2015-01-09  Patrick Palka  <patrick@parcs.ath.cx>
744
745         * Makefile.in (.y.c): Don't munge yacc's #line
746         directives.
747
748 2015-01-09  Patrick Palka  <patrick@parcs.ath.cx>
749
750         * utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
751         to prompt for input.
752         * tui/tui-hooks.c (tui_query_hook): Remove.
753         (tui_install_hooks): Don't set deprecated_query_hook.
754         * tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in
755         height calculation.  Always update the command window's cur_line.
756
757 2015-01-09  Pedro Alves  <palves@redhat.com>
758
759         * breakpoint.c (hardware_breakpoint_inserted_here_p): New
760         function.
761         * breakpoint.h (hardware_breakpoint_inserted_here_p): New
762         declaration.
763         * linux-nat.c (linux_nat_status_is_event): Move higher up in file.
764         (linux_resume_one_lwp): Store the thread's PC.  Adjust to clear
765         stop_reason.
766         (check_stopped_by_watchpoint): New function.
767         (save_sigtrap): Reimplement.
768         (linux_nat_stopped_by_watchpoint): Adjust.
769         (linux_nat_lp_status_is_event): Delete.
770         (stop_wait_callback): Only call save_sigtrap after storing the
771         pending status.
772         (status_callback): If the thread had been stopped for a breakpoint
773         that has since been removed, discard the event and resume the LWP.
774         (count_events_callback, select_event_lwp_callback): Use
775         lwp_status_pending_p instead of linux_nat_lp_status_is_event.
776         (cancel_breakpoint): Rename to ...
777         (check_stopped_by_breakpoint): ... this.  Record whether the LWP
778         stopped for a software breakpoint or hardware breakpoint.
779         (select_event_lwp): Only give preference to the stepping LWP in
780         all-stop mode.  Adjust comments.
781         (stop_and_resume_callback): Remove references to new_pending_p.
782         (linux_nat_filter_event): Likewise.  Leave exit events of the
783         leader thread pending here.  Handle signal short circuiting here.
784         Only call save_sigtrap after storing the pending waitstatus.
785         (linux_nat_wait_1): Remove 'retry' label.  Remove references to
786         new_pending.  Don't handle leaving events the caller is not
787         interested in pending here, nor handle signal short-circuiting
788         here.  Also give equal priority to all LWPs that have had events
789         in non-stop mode.  If reporting a software breakpoint event,
790         unadjust the LWP's PC.
791         * linux-nat.h (enum lwp_stop_reason): New.
792         (struct lwp_info) <stop_pc>: New field.
793         (struct lwp_info) <stopped_by_watchpoint>: Delete field.
794         (struct lwp_info) <stop_reason>: New field.
795         * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
796
797 2015-01-09  Pedro Alves  <palves@redhat.com>
798
799         * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
800         Set the LWP's 'resumed' flag.
801
802 2015-01-09  Pedro Alves  <palves@redhat.com>
803
804         * linux-nat.c (linux_resume_one_lwp): New function.
805         (resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
806         (linux_nat_resume): Use lwp_status_pending_p and
807         linux_resume_one_lwp.
808         (linux_handle_syscall_trap): Use linux_resume_one_lwp.
809         (linux_handle_extended_wait): Use linux_resume_one_lwp.
810         (status_callback, running_callback): Use lwp_status_pending_p.
811         (lwp_status_pending_p): New function.
812         (stop_and_resume_callback): Use lwp_status_pending_p.
813         (linux_nat_filter_event): Use linux_resume_one_lwp.
814         (linux_nat_wait_1): Always use status_callback to look for an LWP
815         with a pending status.  Use linux_resume_one_lwp.
816         (resume_stopped_resumed_lwps): Use lwp_status_pending_p and
817         linux_resume_one_lwp.
818
819 2015-01-09  Pedro Alves  <palves@redhat.com>
820
821         * breakpoint.c (bp_location_inserted_here_p): New function,
822         factored out from ...
823         (breakpoint_inserted_here_p): ... here.  Use
824         ALL_BP_LOCATIONS_AT_ADDR.
825         (software_breakpoint_inserted_here_p): Use
826         bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
827
828 2014-01-09  Pedro Alves  <palves@redhat.com>
829
830         Skip enabling event reporting if the kernel supports
831         PTRACE_EVENT_CLONE.
832         * linux-thread-db.c: Include "nat/linux-ptrace.h".
833         (thread_db_use_events): New function.
834         (try_thread_db_load_1): Check thread_db_use_events before enabling
835         event reporting.
836         (update_thread_state): New function.
837         (attach_thread): Use it.  Check thread_db_use_events before
838         enabling event reporting.
839         (thread_db_detach): Check thread_db_use_events before disabling
840         event reporting.
841         (find_new_threads_callback): Check thread_db_use_events before
842         enabling event reporting.  Update the thread's state if not using
843         libthread_db events.
844
845 2015-01-09  Pedro Alves  <palves@redhat.com>
846
847         * linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
848         about to wait for is > 0.
849         * linux-thread-db.c (find_new_threads_callback): Ignore thread if
850         the kernel thread ID is -1.
851
852 2015-01-09  Pedro Alves  <palves@redhat.com>
853
854         * linux-nat.c (attach_proc_task_lwp_callback): New function.
855         (linux_nat_attach): Use linux_proc_attach_tgid_threads.
856         (wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
857         ptrace option flags.
858         * linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
859         field.
860         * nat/linux-procfs.c: Include <dirent.h>.
861         (linux_proc_get_int): New parameter "warn".  Handle it.
862         (linux_proc_get_tgid): Adjust.
863         (linux_proc_get_tracerpid): Rename to ...
864         (linux_proc_get_tracerpid_nowarn): ... this.
865         (linux_proc_pid_get_state): New function, factored out from
866         (linux_proc_pid_has_state): ... this.  Add new parameter "warn"
867         and handle it.
868         (linux_proc_pid_is_gone): New function.
869         (linux_proc_pid_is_stopped): Adjust.
870         (linux_proc_pid_is_zombie_maybe_warn)
871         (linux_proc_pid_is_zombie_nowarn): New functions.
872         (linux_proc_pid_is_zombie): Use
873         linux_proc_pid_is_zombie_maybe_warn.
874         (linux_proc_attach_tgid_threads): New function.
875         * nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
876         (linux_proc_get_tracerpid): Rename to ...
877         (linux_proc_get_tracerpid_nowarn): ... this, and update comment.
878         (linux_proc_pid_is_gone): New declaration.
879         (linux_proc_pid_is_zombie): Update comment.
880         (linux_proc_pid_is_zombie_nowarn): New declaration.
881         (linux_proc_attach_lwp_func): New typedef.
882         (linux_proc_attach_tgid_threads): New declaration.
883         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
884         use nowarn functions.
885         (linux_ptrace_attach_fail_reason_string): Move here from
886         gdbserver/linux-low.c and rename.
887         (ptrace_supports_feature): If the current ptrace options are not
888         known yet, check them now, instead of asserting.
889         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
890         Declare.
891
892 2015-01-09  Pedro Alves  <palves@redhat.com>
893
894         * linux-thread-db.c (thread_db_find_new_threads_silently)
895         (try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
896         (find_new_threads_once): Print debug output on gdb_stdlog.
897
898 2015-01-09  Chen Gang  <gang.chen.5i5j@gmail.com>
899             Pedro Alves  <palves@redhat.com>
900
901         * compile/compile.c: Include "gdb_wait.h".
902         (do_rmdir): Check return value, and free 'zap'.
903
904 2015-01-08  Pedro Alves  <palves@redhat.com>
905             Yao Qi  <yao@codesourcery.com>
906
907         * dwarf2loc.c (indirect_pieced_value): Don't call
908         gdb_sign_extend.  Call extract_signed_integer instead.
909         * utils.c (gdb_sign_extend): Remove.
910         * utils.h (gdb_sign_extend): Remove declaration.
911
912 2015-01-07  Pierre Muller  <muller@sourceware.org>
913
914         PR symtab/17811
915         * stabsread.c (define_symbol): Set language for C++ special symbols.
916
917 2015-01-07  Patrick Palka  <patrick@parcs.ath.cx>
918
919         * inflow.c (initial_gdb_ttystate): Tweak comment.
920
921 2015-01-07  Joel Brobecker  <brobecker@adacore.com>
922
923         * inflow.c (set_initial_gdb_ttystate): Add empty line after
924         comment documenting function.
925
926 2015-01-07  Patrick Palka  <patrick@parcs.ath.cx>
927
928         * terminal.h (set_initial_gdb_ttystate): Declare.
929         * inflow.c (initial_gdb_ttystate): New static variable.
930         (set_initial_gdb_ttystate): New setter.
931         (child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
932         instead of our current terminal state.
933         * top.c (gdb_init): Call set_initial_gdb_ttystate.
934
935 2015-01-07  Joel Brobecker  <brobecker@adacore.com>
936
937         * guile/scm-type.c (tyscm_array_1): Add comment.
938         * python/py-type.c (typy_array_1): Add comment.
939
940 2015-01-06  Joel Brobecker  <brobecker@adacore.com>
941
942         * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
943         error if N2 is equal to N1 - 1.
944
945 2015-01-06  Joel Brobecker  <brobecker@adacore.com>
946
947         * python/py-type.c (typy_array_1): Do not raise negative-length
948         exception if N2 is equal to N1 - 1.
949
950 2015-01-03  Doug Evans  <xdje42@gmail.com>
951
952         * c-exp.y: Whitespace cleanup.
953         (classify_inner_name): Remove extra ;.
954
955 2015-01-02  Maciej W. Rozycki  <macro@codesourcery.com>
956
957         * mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
958         offset signed.
959
960 2015-01-02  Doug Evans  <dje@google.com>
961
962         * dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
963
964 2015-01-02  Doug Evans  <dje@google.com>
965
966         * symtab.h (struct symbol): Fix typo in comment.
967
968 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
969
970         Update year range in copyright notice of all files.
971
972 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
973
974         * top.c (print_gdb_version): Update copyright year to 2015.
975
976 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
977
978         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
979
980 For older changes see ChangeLog-2014.
981 \f
982 Local Variables:
983 mode: change-log
984 left-margin: 8
985 fill-column: 74
986 version-control: never
987 coding: utf-8
988 End: