OSDN Git Service

* amd64fbsd-nat.c (amd64fbsd_supply_pcb): Also check for
[pf3gnuchains/pf3gnuchains4x.git] / gdb / ChangeLog
1 2010-02-03  Daniel Jacobowitz  <dan@codesourcery.com>
2
3         * amd64fbsd-nat.c (amd64fbsd_supply_pcb): Also check for
4         __FreeBSD_kernel_version.
5
6 2010-02-03  Tristan Gingold  <gingold@adacore.com>
7
8         * symfile.h (struct sym_fns): Add sym_relocate field.
9         (default_symfile_relocate): New prototype.
10         (symfile_relocate_debug_section): First argument is now an objfile.
11         * symfile.c (default_symfile_relocate): Rename from
12         symfile_relocate_debug_section, first argument is now an objfile.
13         (symfile_relocate_debug_section): New function.
14         * coffread.c (coff_sym_fns): Set sym_relocate field.
15         * somread.c (som_sym_fns): Ditto.
16         * mipsread.c (ecoff_sym_fns): Ditto.
17         * machoread.c (macho_sym_fns): Ditto.
18         * elfread.c (elf_sym_fns): Ditto.
19         * dwarf2read.c (dwarf2_read_section): Ditto.
20         * xcoffread.c (xcoff_sym_fns): Ditto.
21         * dbxread.c (aout_sym_fns): Ditto.
22         (dbx_psymtab_to_symtab): Adjust call to symfile_relocate_debug_section.
23         (elfstab_build_psymtabs): Ditto.
24
25 2010-02-03  H.J. Lu  <hongjiu.lu@intel.com>
26
27         * defs.h (MAX_REGISTER_SIZE): Increase to 32.
28
29 2010-02-02  Tom Tromey  <tromey@redhat.com>
30
31         * valops.c (value_cast_structs): Try downcasting using the RTTI
32         type.
33
34 2010-02-02  Tom Tromey  <tromey@redhat.com>
35
36         * gnu-v2-abi.c: Don't include gnu-v2-abi.h.
37         (gnuv2_baseclass_offset): Now static.
38         * Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h.
39         * gnu-v2-abi.h: Remove.
40
41 2010-02-02  Tom Tromey  <tromey@redhat.com>
42
43         * m2-typeprint.c (m2_record_fields): Don't use
44         TYPE_DECLARED_TYPE.
45         * gdbtypes.h (TYPE_DECLARED_CLASS): New macro.
46         (struct main_type) <flag_declared_class>: New field.
47         (struct cplus_struct_type) <declared_type>: Remove.
48         <ntemplate_args>: Move earlier.
49         (DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT)
50         (DECLARED_TYPE_TEMPLATE): Remove.
51         (TYPE_DECLARED_TYPE): Remove.
52         * gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE.
53         * dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS.
54         * c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not
55         TYPE_DECLARED_TYPE.
56
57 2010-02-02  Tom Tromey  <tromey@redhat.com>
58
59         PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
60         * valops.c (search_struct_field): Compute nbases after calling
61         CHECK_TYPEDEF.
62         (check_field): Call CHECK_TYPEDEF.
63         * cp-valprint.c (cp_print_value): Pass correct address to
64         baseclass_offset.  Fix check for virtual base past the end of the
65         object.  Don't offset address passed to cp_print_value_fields or
66         apply_val_pretty_printer.
67         (cp_print_value_fields): Fix call to val_print.
68         (cp_print_value_fields_rtti): New function.
69         * c-valprint.c (c_val_print): Use cp_print_value_fields_rtti.
70         * p-valprint.c (pascal_object_print_value_fields): Fix call to
71         val_print.
72         * python/py-prettyprint.c (apply_val_pretty_printer): Add embedded
73         offset to address.
74         * language.h (struct language_defn) <la_val_print>: Document.
75         * c-lang.h (cp_print_value_fields_rtti): Declare.
76
77 2010-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
78
79         PR libc/11214:
80         * linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New.
81         (linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU].
82         (linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New.
83
84 2010-02-01  Michael Matz  <matz@suse.de>
85             Daniel Jacobowitz  <dan@codesourcery.com>
86
87         * i386-tdep.c (i386_frame_cache): Assume valid anonymous
88         functions use a frame pointer.
89
90 2010-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
91
92         * solib-svr4.c (scan_dyntag): New variable dyn_addr.  Replace gdb_assert
93         by a conditional setting DYN_ADDR.  Use DYN_ADDR.
94         * config/djgpp/fnchange.lst: Add translations for
95         symbol-without-target_section.exp and symbol-without-target_section.c.
96
97 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
98
99         * gdbarch.sh: Set LANG and LC_ALL to C, not c.
100         (remote_breakpoint_for_pc): Correct invalid_p check.
101         * gdbarch.c: Regenerated.
102
103 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
104
105         * arm-tdep.c (arm_find_mapping_symbol): New function, from
106         arm_pc_is_thumb.
107         (arm_pc_is_thumb): Use arm_find_mapping_symbol.
108         (extend_buffer_earlier): New function.
109         (MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants.
110         (arm_adjust_breakpoint_address): New function.
111         (arm_gdbarch_init): Register arm_adjust_breakpoint_address.
112
113 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
114
115         * arm-linux-tdep.c (arm_linux_thumb2_be_breakpoint)
116         (arm_linux_thumb2_le_breakpoint): New constants.
117         (arm_linux_init_abi): Set thumb2_breakpoint and
118         thumb2_breakpoint_size.
119         * arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions.
120         (thumb_get_next_pc): Add a comment.  Rename IT to ITSTATE.
121         Implement support for single stepping through IT blocks if
122         a 32-bit Thumb breakpoint instruction is available.
123         (arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction
124         is available, use it when needed.
125         (arm_remote_breakpoint_from_pc): New function.
126         (arm_gdbarch_init): Register arm_remote_breakpoint_from_pc.
127         * arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint
128         comment.  Add thumb2_breakpoint and thumb2_breakpoint_size.
129
130 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
131
132         * arch-utils.c (default_remote_breakpoint_from_pc): New function.
133         * arch-utils.h (default_remote_breakpoint_from_pc): Declare.
134         * gdbarch.c, gdbarch.h: Regenerated.
135         * gdbarch.sh (remote_breakpoint_from_pc): New architecture method.
136         * remote.c (remote_insert_breakpoint, remote_insert_hw_breakpoint): Use
137         gdbarch_remote_breakpoint_from_pc.
138
139 2010-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
140
141         * infrun.c (prepare_to_proceed): Handle other signals which might
142         match a breakpoint.
143         (handle_inferior_event): Move the check for unusual breakpoint
144         signals earlier.
145
146 2010-01-29  Paul Hilfinger  <hilfinger@adacore.com>
147
148         amd64 - function returning record with field straddling 2 registers.
149         * amd64-tdep.c (amd_classify_aggregate): Handle the case of
150         a record of length <= 16 in which a field straddles the two
151         eightbytes.
152
153 2010-01-29  Joel Brobecker  <brobecker@adacore.com>
154
155         Implement return values on amd64-windows.
156         * amd64-windows-tdep.c: #include gdbcore.h and regcache.h.
157         (amd64_windows_return_value): New function.
158         (amd64_windows_init_abi): Call set_gdbarch_return_value with
159         amd64_windows_return_value.
160
161 2010-01-29  Joel Brobecker  <brobecker@adacore.com>
162
163         amd64-windows: 32 bytes allocated on stack by caller for integer
164         parameter registers.
165         * i386-tdep.h (struct gdbarch_tdep): Add new field
166         integer_param_regs_saved_in_caller_frame.
167         * amd64-windows-tdep.c (amd64_windows_init_abi): Set
168         tdep->integer_param_regs_saved_in_caller_frame to 1.
169         * amd64-tdep.c (amd64_push_dummy_call): Allocate some memory on
170         stack if tdep->integer_param_regs_saved_in_caller_frame is set.
171
172 2010-01-29  Joel Brobecker  <brobecker@adacore.com>
173
174         amd64-windows: memory args passed by pointer during function calls.
175         * i386-tdep.h (gdbarch_tdep): Add field memory_args_by_pointer.
176         * amd64-tdep.c (amd64_push_arguments): Add handling of architectures
177         where tdep->memory_args_by_pointer is non-zero.
178         * amd64-windows-tdep.c (amd64_windows_init_abi): Set
179         tdep->memory_args_by_pointer to 1.
180
181 2010-01-29  Joel Brobecker  <brobecker@adacore.com>
182
183         amd64-windows: Integer parameters in function calls.
184         * i386-tdep.h (enum amd64_reg_class): New, moved here from
185         amd64-tdep.c.
186         (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs,
187         call_dummy_integer_regs, and classify.
188         * amd64-tdep.h (amd64_classify): Add declaration.
189         * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant.
190         (amd64_reg_class): Delete, moved to i386-tdep.h.
191         (amd64_classify): Make non-static.  Move declaration to amd64-tdep.h.
192         Replace call to amd64_classify by call to tdep->classify.
193         (amd64_push_arguments): Get the list of registers to use for
194         passing integer parameters from the gdbarch tdep structure,
195         rather than using a hardcoded one.  Replace calls to amd64_classify
196         by calls to tdep->classify.
197         (amd64_push_dummy_call): Get the register number used for
198         the "hidden" argument from tdep->call_dummy_integer_regs.
199         (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs
200         and tdep->call_dummy_integer_regs.  Set tdep->classify.
201         * amd64-windows-tdep.c: Add include of gdbtypes.h.
202         (amd64_windows_dummy_call_integer_regs): New static global.
203         (amd64_windows_classify): New function.
204         (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs
205         tdep->call_dummy_integer_regs and tdep->classify.
206
207 2010-01-28  Daniel Jacobowitz  <dan@codesourcery.com>
208
209         * regcache.c (regcache_xmalloc): Add aspace argument.  Use it
210         for the new regcache.  All callers updated.
211         (regcache_cpy, regcache_cpy_no_passthrough): Do not set aspace here.
212         (get_thread_arch_regcache): Do not set aspace here.
213         * regcache.h (regcache_xmalloc): Update declaration.
214
215         * frame.c, infcall.c, ppc-linux-tdep.c: Calls to
216         regcache_xmalloc updated.
217
218 2010-01-28  Joel Brobecker  <brobecker@adacore.com>
219
220         Another -Wunused-function error in procfs.c (sparc-solaris)
221         * procfs.c (insert_dbx_link_breakpoint): Delete declaration.  Move up.
222         Only define if SYS_syssgi is defined.
223         (remove_dbx_link_breakpoint): Delete declaration.  Move up.
224         (dbx_link_addr, insert_dbx_link_bpt_in_file)
225         (insert_dbx_link_bpt_in_region): Move up.  Only define if SYS_syssgi
226         is itself defined.
227
228 2010-01-27  Christopher Faylor  <me+cygwin@cgf.cx>
229
230         * windows-nat.c (windows_initialization_done): New variable.
231         (get_windows_debug_event): Issue error when process dies before
232         completely initializing.
233         (do_initial_windows_stuff): Set flag to indicate when we are done with
234         the initial steps of attaching to the child.
235
236 2010-01-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
237
238         * symtab.h (struct symbol <symtab>): New comment on NULL values.
239
240 2010-01-27  Doug Evans  <dje@google.com>
241
242         * solib-svr4.c (solib_break_names): Add __dl_rtld_db_dlactivity.
243
244         * breakpoint.c (bpstat_stop_status): Delete useless code.
245
246 2010-01-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
247
248         * printcmd.c (display_uses_solib_p): Remove variable section.  Access
249         objfile via SYMBOL_SYMTAB.
250
251 2010-01-26  Tom Tromey  <tromey@redhat.com>
252
253         PR exp/7643:
254         * eval.c (evaluate_subexp_for_address) <UNOP_IND>: Call
255         coerce_array on result.
256
257 2010-01-26  Sami Wagiaalla  <swagiaal@redhat.com>
258
259         * cp-namespace.c (cp_lookup_symbol_namespace): Added
260         search_parent argument.
261         (cp_add_using): Initialize 'searched' field.
262         (reset_directive_searched): New function.
263         * cp-support.h: Add 'searched' field to using_direct struct.
264         (cp_lookup_symbol_imports): Ditto.
265         * cp-namespace.c (cp_lookup_symbol_imports): Ditto.
266         Perform recursive search.
267         Implement non parent search.
268         * valops.c (value_maybe_namespace_elt): Updated.
269
270 2010-01-26  Sami Wagiaalla  <swagiaal@redhat.com>
271
272         PR gdb/10929:
273         * dwarf2read.c (read_lexical_block_scope): Create blocks for
274         scopes which contain using directives even if they contain no
275         declarations.
276         * symtab.c (lookup_symbol_aux): Pass lowest level block to
277         la_lookup_symbol_nonlocal.
278         * cp-namespace.c (cp_lookup_symbol_nonlocal): call
279         cp_lookup_symbol_namespace.
280         (cp_lookup_symbol_namespace): Perform an import lookup at every
281         block level.
282         (cp_lookup_symbol_imports): New function.
283         (cp_lookup_symbol_in_namespace): New function.
284
285 2010-01-25  Tom Tromey  <tromey@redhat.com>
286
287         PR gdb/11049:
288         * c-valprint.c (c_val_print): Fix test of extract_unsigned_integer
289         result.
290
291 2010-01-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
292
293         * configure.ac: Only use host_os part when disabling TUI on osf.
294         Use test to check variables, prefix strings with x.
295         * configure: Regenerate.
296
297         * solib-osf.c (osf_current_sos): Initialize tail.
298
299 2010-01-25  gingold  <gingold@adacore.com>
300
301         * windows-nat.c (windows_continue): Use %x to print thread id.
302         (get_windows_debug_event): Ditto.
303
304 2010-01-22  Tom Tromey  <tromey@redhat.com>
305
306         PR symtab/11199:
307         * dwarf2read.c (quirk_gcc_member_function_pointer): Change return
308         type and arguments.  Use smash_to_methodptr_type.
309         (read_structure_type): Call quirk_gcc_member_function_pointer
310         later.
311         * gdbtypes.h (smash_to_methodptr_type): Declare.
312         * gdbtypes.c (smash_to_methodptr_type): New function.
313         (lookup_methodptr_type): Use it.
314
315 2010-01-21  Tom Tromey  <tromey@redhat.com>
316
317         PR symtab/11198:
318         * symtab.h (lookup_minimal_symbol_and_objfile): Declare.
319         * minsyms.c (lookup_minimal_symbol_and_objfile): New function.
320         * glibc-tdep.c (find_minsym_and_objfile): Remove.
321         (glibc_skip_solib_resolver): Use
322         lookup_minimal_symbol_and_objfile.
323
324 2010-01-21  Kai Tietz  <kai.tietz@onevision.com>
325
326         * inflow.c (check_syscall): Guard by #if clause for GO32 and
327         WIN32 targets.
328
329 2010-01-20  Tom Tromey  <tromey@redhat.com>
330
331         PR backtrace/10770:
332         * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and
333         BINOP_GEQ.  Handle BINOP_NOTEQUAL in the signed case.
334         * dwarf2expr.c (new_dwarf_expr_context): Allocate
335         dwarf_stack_values, not CORE_ADDRs.
336         (execute_stack_op): Change DW_OP_div and comparison operators to
337         use signed operands.
338
339 2010-01-20  Vladimir Prus  <vladimir@codesourcery.com>
340
341         Per-inferior args and tty and environment.
342
343         * infcmd.c (inferior_args): Rename to ...
344         (inferior_args_scratch): ... this.
345         (inferior_io_terminal): Rename to ...
346         (inferior_io_terminal_scratch): ... this.
347         (inferior_argc, inferior_argv): Remove.
348         (set_inferior_io_terminal, get_inferior_io_terminal): Store
349         inside current_inferior().
350         (set_inferior_tty_command, show_inferior_tty_command): New.
351         (get_inferior_args, set_inferior_args): Store inside
352         current_inferior().
353         (notice_args_set): Likewise and rename to...
354         (set_args_command): ... this.
355         (set_inferior_args_vector): Likewise.
356         (notice_args_read): Rename to...
357         (show_args_command): ...new.
358         (tty_command): Remove.
359         (run_command_1): Don't free old args, as they are freed by
360         set_inferior_arg now.
361         (run_no_args_command): Likewise.
362         (inferior_environ): Remove.
363         (run_command_1): Use environment of the current inferior.
364         (environment_info, set_environment_command)
365         (unset_environment_command, path_info, path_command): Likewise.
366         (_initialize_infcmd): Adjust for function and variable renames.
367         Do not init inferior_environ.
368         * inferior.h (set_inferior_arg): Adjust prototype.
369         (struct inferior): New fields args, argc, argv, terminal, environment.
370         (inferior_environ): Remove declaration.
371         * inferior.c (free_inferior): Free new fields.
372         (add_inferior_silent): Initialize 'environment' field.
373         * main.c (captured_main): Set arguments only after the initial
374         inferior has been created.  Set set_inferior_io_terminal,
375         not tty_command.
376         * mi/mi-main.c (mi_cmd_env_path): Use environment of the current
377         inferior.
378         (_initialize_mi_cmd_env): Adjust for disappearance of global
379         inferior_environ.
380         * solib.c (solib_find): Use environment of the current inferior.
381
382 2010-01-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
383
384         * varobj.c (varobj_add_child, install_dynamic_child): Wrap into #if
385         HAVE_PYTHON.
386         (instantiate_pretty_printer): Move HAVE_PYTHON outside of the function.
387
388 2010-01-20  Joel Brobecker  <brobecker@adacore.com>
389
390         Get rid of ada-lang.c:function_name_from_pc.
391         * ada-lang.c: Add "stack.h" #include.
392         (function_name_from_pc): Delete.
393         (is_known_support_routine): Replace call to function_name_from_pc
394         by call to find_frame_funname.
395         (ada_unhandled_exception_name_addr_from_raise): Likewise.
396
397 2010-01-19  Tom Tromey  <tromey@redhat.com>
398
399         PR c++/11026:
400         * dwarf2read.c (read_partial_die): Allocate partial DIE's name on
401         objfile obstack.
402
403 2010-01-19  Tom Tromey  <tromey@redhat.com>
404
405         * top.c (stop_sig, float_handler, do_nothing): Remove.
406
407 2010-01-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
408
409         * breakpoint.c (watchpoint_check): Check the call
410         gdbarch_in_function_epilogue_p before calling frame_find_by_id.
411         Extend the comment.
412         * config/djgpp/fnchange.lst: Add translations for 
413         watchpoint-cond-gone.exp, watchpoint-cond-gone.c and
414         watchpoint-cond-gone-stripped.c.
415
416 2010-01-19  Tom Tromey  <tromey@redhat.com>
417
418         PR c++/8000:
419         * dwarf2read.c (partial_die_parent_scope): Put enumeration type
420         into parent scope, and enumerator into grandparent scope.
421
422 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
423
424         * NEWS: Add entry for "set/show ada trust-PAD-over-XVS" commands.
425
426 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
427
428         * configure.host: Make x86_64-*-solaris2.1[0-9]* an alias of
429         i[34567]86-*-solaris2.1[0-9]*.
430         * configure.tgt: Likewise.
431
432 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
433
434         * NEWS: Document the source command enhancement allowing it
435         to load Python scripts. Document the "set/show script-extension"
436         commands.
437
438 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
439
440         Add -Wunused-function to compile flags.
441         * configure.ac: Add -Wunused-function to build_warnings.
442         * configure: Regenerate.
443
444 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
445
446         "delete" ada-lex.c:input function, not used.
447         * ada-lex.l: #define YY_NO_INPUT.
448
449 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
450
451         Delete free_named_symtabs and associated cleanup.
452         * symfile.h (free_named_symtabs): Delete declaration.
453         * symfile.c: Remove some commented out code (clear_symtab_users_once).
454         (cashier_psymtab): Comment function out.
455         Delete declaration.
456         (free_named_symtabs): Delete.
457         * coffread.c (coff_end_symtab): Remove call to free_named_symtabs.
458         * dbxread.c (end_psymtab): Likewise.
459         * dwarf2read.c (process_psymtab_comp_unit): Ditto.
460         * exec.c (exec_close_1): Ditto.
461         * xcoffread.c (xcoff_end_psymtab): Likewise.
462
463 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
464
465         * stack.c (print_block_frame_labels): Comment function out.
466
467 2010-01-19  Joel Brobecker  <brobecker@adacore.com>
468
469         Delete unused or undefined functions.
470         * breakpoint.c (ep_parse_optional_filename): Delete.
471         * dcache.c (dcache_write_line): Remove declaration.
472         * infrun.c (build_infrun): Remove declaration.
473         * tracepoint.c (tracepoint_save_command): Remove declaration.
474         * linux-nat.c (init_lwp_list): Delete. No longer used.
475         * event-loop.c (check_async_signal_handlers): Delete declaration.
476         * infrun.c (init_execution_control_state): Delete.
477         (proceed): Update comment to avoid mentioning
478         init_execution_control_state.
479         * target.c (kill_or_be_killed, nosupport_runtime): Delete.
480         * ada-lang.c (ada_to_static_fixed_value): Delete.
481         * scm-lang.c (evaluate_subexp_scm): Delete declaration.
482         * cp-namespace.c (cp_copy_usings): Delete.
483         * xml-syscall.c (xml_number_of_syscalls): Delete.
484         * progspace.c (find_program_space_by_num): Delete.
485         * inflow.c (handle_sigio): Delete declaration.
486         * hppa-tdep.c (hppa_alignof): Delete.
487         * mipsnbsd-tdep.c (mipsnbsd_sigtramp_offset)
488         (mipsnbsd_core_osabi_sniffer): Delete.
489
490 2010-01-18  Tom Tromey  <tromey@redhat.com>
491
492         PR c++/9680:
493         * c-exp.y (REINTERPRET_CAST, DYNAMIC_CAST, STATIC_CAST)
494         (CONST_CAST): New tokens.
495         (exp): Add new productions.
496         (ident_tokens): Add const_cast, dynamic_cast, static_cast, and
497         reinterpret_cast.
498         (is_cast_operator): New function.
499         (yylex): Handle cast operators specially.
500         * eval.c (evaluate_subexp_standard) <UNOP_DYNAMIC_CAST,
501         UNOP_REINTERPRET_CAST>: New cases.
502         * expprint.c (print_subexp_standard): Likewise.
503         (op_name_standard): Likewise.
504         (dump_subexp_body_standard): Likewise.
505         * parse.c (operator_length_standard): Likewise.
506         * expression.h (enum exp_opcode): New constants UNOP_DYNAMIC_CAST,
507         UNOP_REINTERPRET_CAST.
508         * gdbtypes.c (class_types_same_p): New function.
509         (is_ancestor): Use it.
510         (is_public_ancestor): New function.
511         (is_unique_ancestor_worker): Likewise.
512         (is_unique_ancestor): Likewise.
513         * gdbtypes.h (class_types_same_p, is_public_ancestor)
514         (is_unique_ancestor): Declare.
515         * valops.c (value_reinterpret_cast): New function.
516         (dynamic_cast_check_1): Likewise.
517         (dynamic_cast_check_2): Likewise.
518         (value_dynamic_cast): Likewise.
519         * value.h (value_reinterpret_cast, value_dynamic_cast): Declare.
520
521 2010-01-18  Joel Brobecker  <brobecker@adacore.com>
522
523         Fix build failure when building without Python support.
524         * python/python.c: Always include exceptions.h, even when HAVE_PYTHON
525         is not defined.
526
527 2010-01-18  Joel Brobecker  <brobecker@adacore.com>
528
529         Use XVS field type instead of doing a parallel lookup.
530         * ada-lang.c (ada_get_base_type): Follow the XVS field type
531         if it is a reference type instead of doing a type lookup using
532         the XVS field name.
533
534 2010-01-18  Joel Brobecker  <brobecker@adacore.com>
535
536         Trust PAD types instead of using PAD___XVS.
537         * ada-lang.c (trust_pad_over_xvs): New static variable.
538         (ada_is_aligner_type): If !trust_pad_over_xvs and there is a
539         parallel XVS type, follow the XVS type instead of the PAD type.
540         (unwrap_value): Make sure that there is no parallel XVE type
541         before returning the value as is.
542         (set_ada_list, show_ada_list): New static variables.
543         (set_ada_command, show_ada_command): New functions.
544         (_initialize_ada_language): Add new "set/show ada" prefix commands.
545         Add new "set/show ada trust-PAD-over-XVS" setting.
546
547 2010-01-18  Tom Tromey  <tromey@redhat.com>
548             Thiago Jung Bauermann  <bauerman@br.ibm.com>
549
550         Allow "source" to load python scripts.
551         * exceptions.h (enum errors): Add UNSUPPORTED_ERROR.
552         * python/python.c (source_python_script): New function.
553         * python/python.h (source_python_script): Add declaration.
554         * cli/cli-cmds.c: #include exceptions.h and python/python.h.
555         (script_ext_off, script_ext_soft, script_ext_strict)
556         (script_ext_enums, script_ext_mode): New static constants.
557         (show_script_ext_mode, find_and_open_script): New functions.
558         (source_script): Enhance to handle Python scripts.
559         (init_cli_cmds): Add set/show script-extension commands.
560
561 2010-01-16  Stan Shebs  <stan@codesourcery.com>
562
563         * tracepoint.h (struct trace_status): Use unsigned long long
564         instead of size_t.
565         * tracepoint.c (trace_status_command): Fix printf directive.
566         (trace_save_command): Check fwrite returns, fix printf directive.
567         (trace_filename): New global.
568         (tfile_open): Set it, check read returns.
569         (tfile_close): Free trace_filename.
570         (tfile_get_traceframe_address): Check read returns.
571         (tfile_trace_find): Ditto.
572         (tfile_fetch_registers): Ditto.
573         (tfile_xfer_partial): Ditto.
574         (tfile_get_trace_state_variable_value): Ditto.
575
576 2010-01-15  Stan Shebs  <stan@codesourcery.com>
577
578         Add trace file support.
579         * tracepoint.h (enum trace_stop_reason): New enum.
580         (struct trace_status): New struct.
581         (parse_trace_status): Declare.
582         (struct uploaded_tp): Move here from remote.c,
583         add fields for actions.
584         (struct uploaded_tsv): New struct.
585         * tracepoint.c (tfile_ops): New target vector.
586         (trace_fd): New global.
587         (tfile_open): New function.
588         (tfile_close): New function.
589         (tfile_files_info): New function.
590         (tfile_get_trace_status): New function.
591         (tfile_get_traceframe_address): New function.
592         (tfile_trace_find): New function.
593         (tfile_fetch_registers): New function.
594         (tfile_xfer_partial): New function.
595         (tfile_get_trace_state_variable_value): New function.
596         (init_tfile_ops): New function.
597         (_initialize_tracepoint): Call it, add tfile target.
598         (trace_status): New global.
599         (current_trace_status): New function.
600         (trace_running_p): Remove, change all users to get from
601         current_trace_status()->running.
602         (get_trace_status): Remove.
603         (trace_status_command): Call target_get_trace_status directly,
604         report more detail including tracing stop reasons.
605         (trace_find_command): Always allow tfind on a file.
606         (trace_find_pc_command): Ditto.
607         (trace_find_tracepoint_command): Ditto.
608         (trace_find_line_command): Ditto.
609         (trace_find_range_command): Ditto.
610         (trace_find_outside_command): Ditto.
611         (trace_frames_offset, cur_offset): Declare as off_t.
612         (trace_regblock_size): Rename from reg_size, update users.
613         (parse_trace_status): New function.
614         (tfile_interp_line): New function.
615         (disconnect_or_stop_tracing): Ensure current trace
616         status before asking what to do.
617         (stop_reason_names): New global.
618         (trace_save_command): New command.
619         (get_uploaded_tp): Move here from remote.c.
620         (find_matching_tracepoint): Ditto.
621         (merge_uploaded_tracepoints): New function.
622         (parse_trace_status): Use stop_reason_names.
623         (_initialize_tracepoint): Define tsave command.
624         * target.h (target_ops): New fields to_save_trace_data,
625         to_upload_tracepoints, to_upload_trace_state_variables,
626         to_get_raw_trace_data, change to_get_trace_status
627         to take a pointer to a status struct.
628         (target_save_trace_data): New macro.
629         (target_upload_tracepoints): New macro.
630         (target_upload_trace_state_variables): New macro.
631         (target_get_raw_trace_data): New macro.
632         * target.c (update_current_target): Add new methods, change
633         signature of to_get_trace_status.
634         * remote.c (hex2bin): Make globally visible.
635         (bin2hex): Ditto.
636         (remote_download_trace_state_variable): Download name also.
637         (remote_get_trace_status): Update parameter, use
638         parse_trace_status.
639         (remote_save_trace_data): New function.
640         (remote_upload_tracepoints): New function.
641         (remote_upload_trace_state_variables): New function.
642         (remote_get_raw_trace_data): New function.
643         (remote_start_remote): Use them.
644         (_initialize_remote_ops): Add operations.
645         * ax-gdb.c: Include breakpoint.h.
646         * breakpoint.c (create_tracepoint_from_upload): Use
647         break_command_really, return tracepoint, warn about unimplemented
648         parts.
649         * NEWS: Mention trace file addition.
650
651 2010-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
652
653         Fix compilation warning on gcc-3.4.
654         * exec.c (print_section_info): Move the `displacement' variable
655         initialization to its declaration.
656
657 2010-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
658
659         * gdb-gdb.py (StructMainTypePrettyPrinter): Fix TYPE_CODE_RANGE
660         comparison.
661
662 2010-01-15  Eric Botcazou  <botcazou@adacore.com>
663
664         "info tasks" broken by typedefs in ATCB type definitions.
665         * ada-lang.c (ada_template_to_fixed_record_type_1): Add call to
666         ada_check_typedef before retrieving the length of the type for
667         regular fields.
668
669 2010-01-15  Joel Brobecker  <brobecker@adacore.com>
670
671         Do not use name-based lookup for unconstrained packed arrays.
672         * ada-lang.c (find_parallel_type_by_descriptive_type):
673         Limit the fallback to name-based lookups to the case where
674         the type is a constrained packed array.
675
676 2010-01-15  Joel Brobecker  <brobecker@adacore.com>
677
678         Enhance gdb-gdb.py to handle main_type.type_specific.
679         * gdb-gdb.py: Print the type-specific part of struct main_type.
680
681 2010-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
682
683         * configure.ac (AC_CHECK_FUNCS): Check for setrlimit and getrlimit.
684         * configure: Regenerate.
685         * config.in: Regenerate.
686         * utils.c: Include sys/resource.h.
687         (dump_core, can_dump_core): New.
688         (internal_vproblem): Update the comment.  Check can_dump_core while
689         setting dump_core_p.  Replace two abort calls by dump_core calls.
690
691 2010-01-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
692             Eli Zaretskii  <eliz@gnu.org>
693
694         * NEWS: Document the PIE support.
695
696 2010-01-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
697
698         * linux-tdep.c: Remove includes gdbcore.h, observer.h and elf-bfd.h.
699         (check_is_pie_binary, _initialize_linux_tdep): Remove.
700
701 2010-01-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
702
703         * solib-svr4.c (svr4_exec_displacement): New comment for entry_point.
704         Replace exec_entry_point call by bfd_get_start_address.
705
706 2010-01-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
707
708         Support Valgrind attachments broken by the PIE support.
709         * auxv.c: Include gdbcore.h.
710         (procfs_xfer_auxv): Make static.  Reduce its comment.  Drop its
711         parameters ops, object and annex.  Remove their assertions.
712         (ld_so_xfer_auxv, memory_xfer_auxv): New function.
713         * auxv.h (procfs_xfer_auxv): Remove comment.  Rename to ...
714         (memory_xfer_auxv): ... here.
715         * linux-nat.c (linux_xfer_partial): Rename procfs_xfer_auxv to
716         memory_xfer_auxv.
717         * procfs.c (procfs_xfer_partial): Likewise.
718         * solib-svr4.c (svr4_relocate_main_executable): New prototype.
719         (svr4_special_symbol_handling): Call svr4_relocate_main_executable.
720         (svr4_solib_create_inferior_hook): Conditionalize the
721         svr4_relocate_main_executable call.
722
723 2010-01-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
724
725         * solib-svr4.c (scan_dyntag): Remove variable dyn_addr.  New variable
726         target_section.  Find SECT in current_target_sections, gdb_assert it.
727         (elf_lookup_lib_symbol): Pass the binary file if given symfile_objfile.
728         New variable abfd.
729         * symtab.c (lookup_objfile_from_block): Return the binary file instead
730         of separate debug info file.
731
732 2010-01-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
733
734         Support PIEs with no symfile_objfile.
735         * exec.c (print_section_info <abfd == exec_bfd>): Relocate Entry point.
736         * solib-svr4.c (svr4_relocate_main_executable <exec_bfd>): New block.
737
738 2010-01-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
739
740         * solib-svr4.c (svr4_relocate_main_executable): Move the static exec
741         code part to ...
742         (svr4_static_exec_displacement): ... a new function.
743         (svr4_exec_displacement): New function.
744         (svr4_relocate_main_executable): Call svr4_exec_displacement.  Allocate
745         new_offsets using alloca now.  Remove variable old_chain and changed.
746         Call objfile_relocate unconditionally now.
747
748 2010-01-14  Doug Evans  <dje@google.com>
749
750         * gdbtypes.c (arch_flags_type): Fix comment.
751         * gdbtypes.h (arch_composite_type): Fix comment.
752
753 2009-01-14  Tristan Gingold  <gingold@adacore.com>
754
755         * machoread.c (macho_add_oso_symfile): Add symfile_flags parameter.
756         Call xstrdup for abfd->filename.  Pass symfile_flags and objfile flags
757         to symbol_file_add_from_bfd.  Add OSO as separate objfile.
758         (macho_oso_symfile): Add symfile_flags parameter.  Pass it to
759         macho_add_oso_symfile.
760         (macho_symfile_read): Pass symfile_flags to macho_oso_symfile.
761
762 2010-01-14  Joel Brobecker  <brobecker@adacore.com>
763
764         Tru64: Dead threads are never deleted.
765         * dec-thread.c (dec_thread_ptid_is_alive): New function.
766         (dec_thread_count_gdb_threads): Fix counter increment.
767         (dec_thread_add_gdb_thread): Fix *listp increment.
768         (resync_thread_list): Fix bug in deletion of dead threads that
769         caused all threads to be deleted, instead of just the dead ones.
770
771 2010-01-13  Phil Muldoon  <pmuldoon@redhat.com>
772
773         PR python/10705
774
775         * python/python-internal.h: Add lazy_string_object_type
776         definition.
777         (create_lazy_string_object, gdbpy_initialize_lazy_string)
778         (gdbpy_is_lazystring, gdbpy_extract_lazy_string): Define.
779         * python/py-value.c (valpy_lazy_string): New function.
780         (convert_value_from_python): Add lazy string conversion.
781         * python/py-prettyprint.c (pretty_print_one_value): Check if
782         return is also a lazy string.
783         (print_string_repr): Add lazy string printing branch.
784         (print_children): Likewise.
785         * python/py-lazy-string.c: New file. Implement lazy strings.
786         * python/python.c (_initialize_python): Call
787         gdbpy_initialize_lazy_string.
788         * varobj.c (value_get_print_value): Add lazy string printing
789         branch.  Account for encoding.
790         * c-lang.c (c_printstr): Account for new encoding argument.  If
791         encoding is NULL, find encoding suited for type, otherwise use
792         user encoding.
793         * language.h (language_defn): Add encoding argument.
794         (LA_PRINT_STRING): Likewise.
795         * language.c (unk_lang_printstr): Update to reflect new encoding
796         argument to language_defn.
797         * ada-lang.h (ada_printstr): Likewise.
798         * c-lang.h (c_printstr): Likewise.
799         * p-lang.h (pascal_printstr);
800         * f-lang.c (f_printstr): Likewise.
801         * m2-lang.c (m2_printstr): Likewise.
802         * objc-lang.c (objc_printstr): Likewise.
803         * p-lang.c (pascal_printstr): Likewise.
804         * scm-lang.c (scm_printstr): Likewise.
805         * c-valprint.c (c_val_print): Update LA_PRINT_STRING call for
806         encoding argument.
807         * ada-valprint.c (ada_printstr): Likewise.
808         * f-valprint.c (f_val_print): Likewise
809         * m2-valprint.c (m2_val_print): Likewise.
810         * p-valprint.c (pascal_val_print): Likewise.
811         * expprint.c (print_subexp_standard): Likewise.
812         * valprint.c (val_print_string): Likewise.
813         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-lazy-string.
814         (SUBDIR_PYTHON_SRCS): Likewise.
815         (py-lazy-string.o): New rule.
816
817 2010-01-13  Doug Evans  <dje@google.com>
818
819         * mi/mi-main.c (list_available_thread_groups): Avoid "may be used
820         uninitialized" warning from gcc on local `tree'.
821
822 2010-01-13  Vladimir Prus  <vladimir@codesourcery.com>
823
824         Implement core awareness.
825
826         * bcache.c (compare_ints): Remove
827         (print_percentage): Use compare_positive_ints.
828         * defs.h (compare_positive_ints): Declare.
829         * linux-nat.h (struct lin_lwp): New field core.
830         (linux_nat_core_of_thread_1): Declare.
831         * linux-nat.c (add_lwp): Init the 'core' field.
832         (linux_nat_wait_1): Record the core.
833         (linux_nat_core_of_thread_1, linux_nat_core_of_thread): New.
834         (linux_nat_add_target): Register the above.
835         * linux-thread-db.c (update_thread_core): New.
836         (thread_db_find_new_threads): Update core information for
837         every thread.
838         * remote.c (struct private_thread_info): New.
839         (free_private_thread_info, demand_private_info): New.
840         (PACKET_qXfer_threads, use_osdata_threads): New.
841         (struct thread_item, threads_parsing_context
842         (start_thread, end_thread, thread_attributes)
843         (thread_children, threads_children, threads_elements): New.
844         (remote_threads_info): Try qXfer:threads before anything
845         else.
846         (remote_protocol_packets): Register qXfer:threads.
847         (remote_open_1): Init use_osdata_threads.
848         (struct stop_reply): New field 'core'.
849         (remote_parse_stop_reply): Parse core number.
850         (process_stop_reply): Record core number.
851         (remote_xfer_partial): Handle qXfer:threads.
852         (remote_core_of_thread): New.
853         (init_remote_ops): Register remote_core_of_thread.
854         (_initialize_remote): Register qXfer:read.
855         * target.c (target_core_of_thread): New
856         * target.h (enum target_object): New value TARGET_OBJECT_THREADS.
857         (struct target_ops): New field to_core_of_threads.
858         (target_core_of_thread): Declare.
859         * gdbthread.h (struct thread_info): New field private_dtor.
860         * thread.c (print_thread_info): Report the core.
861         * ui-out.c (MAX_UI_OUT_LEVELS): Increase.
862         * utils.c (compare_positive_ints): New.
863         * features/threads.dtd: New.
864         * mi/mi-interp.c (mi_on_normal_stop): Report the core.
865         * mi/mi-main.c (struct collect_cores_data, collect_cores)
866         (do_nothing, free_vector_of_osdata_items)
867         (splay_tree_int_comparator, free_splay_tree): New.
868         (print_one_inferior_data): Implemented printing of selected
869         inferiors.  Collect and print cores.
870         (output_cores): New.
871         (mi_cmd_list_thread_groups): Support --recurse.  Permit specifying
872         thread groups together with --available.
873
874 2010-01-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
875
876         * configure: Regenerate (for _STRUCTURED_PROC).
877
878 2010-01-12  Joel Brobecker  <brobecker@adacore.com>
879
880         Delete dead function.
881         * ada-lang.c (extract_string): Delete.  No longer used.
882
883 2010-01-12  Joel Brobecker  <brobecker@adacore.com>
884
885         Fix -Wunused warning in dec-thread.c.
886         * dec-thread.c (dec_thread_count_gdb_threads)
887         (dec_thread_add_gdb_thread): Prevent -Wunused warning.
888
889 2010-01-12  Joel Brobecker  <brobecker@adacore.com>
890
891         * ada-valprint.c (ada_print_floating): Remove trailing space.
892
893 2010-01-12  Joel Brobecker  <brobecker@adacore.com>
894
895         Add support for DW_AT_GNAT_descriptive_type.
896         * gdbtypes.h (enum type_specific_kind): New enum.
897         (struct main_type) [type_specific_field]: New component.
898         [type_specific]: Add new component "gnat_stuff".
899         (struct gnat_aux_type): New type.
900         (INIT_CPLUS_SPECIFIC): Also set TYPE_SPECIFIC_FIELD (type).
901         (HAVE_CPLUS_STRUCT): Also check TYPE_SPECIFIC_FIELD (type).
902         (gnat_aux_default, allocate_gnat_aux_type): Add declaration.
903         (INIT_GNAT_SPECIFIC, ALLOCATE_GNAT_AUX_TYPE, HAVE_GNAT_AUX_INFO)
904         (TYPE_SPECIFIC_FIELD): New macros.
905         (TYPE_CPLUS_SPECIFIC): Return cplus_struct_default if the given
906         type does not hold any cplus-specific data.
907         (TYPE_RAW_CPLUS_SPECIFIC): New macro.
908         (TYPE_GNAT_SPECIFIC, TYPE_DESCRIPTIVE_TYPE): New macros.
909         (TYPE_IS_OPAQUE): Use HAVE_CPLUS_STRUCT to check if type has
910         cplus-specific data.
911         * gdbtypes.c (allocate_cplus_struct_type): Minor stylistic rewrite.
912         Set new component TYPE_SPECIFIC_FIELD (type).
913         (gnat_aux_default): New constant.
914         (allocate_gnat_aux_type): New function.
915         (init_type): Add initialization the type-specific stuff for
916         TYPE_CODE_FLT and TYPE_CODE_FUNC types.
917         (print_gnat_stuff): New function.
918         (recursive_dump_type): Use HAVE_CPLUS_STRUCT to check for cplus-
919         specific data.  Adjust code that prints the contents of the
920         type-specific union using the TYPE_SPECIFIC_FIELD value.
921         * dwarf2read.c (dwarf2_attach_fields_to_type): Do not allocate
922         the type cplus stuff for Ada types.
923         (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
924         Error out if these routines are called with an Ada type.
925         (read_structure_type, read_array_type, read_subrange_type):
926         Add call to set_descriptive_type.
927         (set_die_type): Initialize the gnat-specific data if necessary.
928         (need_gnat_info, die_descriptive_type, set_descriptive_type):
929         New functions.
930         * ada-lang.c (decode_constrained_packed_array_type): Use
931         decode_constrained_packed_array_type instead of doing a standard
932         lookup to locate a parallel type.
933         (find_parallel_type_by_descriptive_type): New function.
934         (ada_find_parallel_type_with_name): New function.
935         (ada_find_parallel_type): Reimplement using
936         ada_find_parallel_type_with_name.
937         * ada-valprint.c (print_field_values): Use HAVE_CPLUS_STRUCT
938         to check if type has a cplus stuff.
939         * linespec.c (total_number_of_methods): Likewise.
940         * mdebugread.c (new_type): Likewise.
941
942 2010-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
943
944         * NEWS: Document the 0b binary number prefix parsing.
945
946 2010-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
947
948         * objfiles.c (objfile_relocate1): Change the return type to int.
949         Describe the new return value.  Return non-zero if data changed.
950         (objfile_relocate): New variable changed.  Set it.  Call
951         breakpoint_re_set depending on CHANGED.
952
953 2010-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
954
955         Implement binary numbers parsing.
956         * c-exp.y (parse_number): New case 'b' and 'B'.
957
958 2010-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
959             Tristan Gingold  <gingold@adacore.com>
960
961         * solib.c (info_sharedlibrary_command): Replace
962         objfile_has_partial_symbols and objfile_has_full_symbols calls by
963         objfile_has_symbols.
964
965 2010-01-10  Joel Brobecker  <brobecker@adacore.com>
966
967         * NEWS: Document the improvements made to the mips-irix port.
968
969 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
970
971         Fix the documentation of valprint.c:value_print.
972         * valprint.c (value_print): Update the function description to
973         mention that the syntax of the output follows the current_language,
974         not necessarily C.
975
976 2010-01-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
977
978         Fix displacement of separate debug info files.
979         * objfiles.c (objfile_relocate): Rename to ...
980         (objfile_relocate1): ... here and make it static.  Extend the comment.
981         (objfile_relocate): New function.
982         * solib-spu.c (spu_relocate_main_executable): Explicitly check if
983         SYMFILE_OBJFILE is NULL.  Remove variables objfile and old_chain.
984         Remove following of SEPARATE_DEBUG_OBJFILE.  new_offsets is now
985         allocated using alloca.
986         * symfile.c (copy_section_addr_info): Remove.
987         (build_section_addr_info_from_objfile): Make it global.  New variables
988         addr_bit and mask, use them.
989         * symfile.h (build_section_addr_info_from_objfile): New prototype.
990         (copy_section_addr_info): Remove.
991
992 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
993
994         Signal unwinder for mips-irix N32.
995         * mips-irix-tdep.c: #include mips-tdep.h, trad-frame.h, and
996         tramp-frame.h.
997         (SIGTRAMP_FRAME_SIZE, SIGCONTEXT_PC_OFF, SIGCONTEXT_REGS_OFF)
998         (SIGCONTEXT_FPREGS_OFF, SIGCONTEXT_FPCSR_OFF, SIGCONTEXT_HI_OFF)
999         (SIGCONTEXT_LO_OFF): New macros. 
1000         (mips_irix_n32_tramp_frame_init): New function. 
1001         (mips_irix_n32_tramp_frame): New static constant.
1002         (mips_irix_init_abi): Prepend the mips_irix_n32_tramp_frame unwinder.
1003
1004 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1005
1006         Breakpoint in shared library does not work on mips-irix.
1007         * procfs.c: #include "observer.h".
1008         (procfs_inferior_created): New function, moving here the code
1009         which unsets the syssgi syscall-exit notifications.
1010         (procfs_create_inferior): Remove the code which unsets the syssgi
1011         syscall-exit notifications. It is too early to do this here.
1012         (_initialize_procfs): Attach the procfs_inferior_created observer.
1013
1014 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1015
1016         Wrong return convention for arrays (mips-irix).
1017         * mips-tdep.c (mips_n32n64_return_value): Arrays whose size is
1018         128 bits or smaller are returned the same way as structs
1019         and unions of the the same size.
1020
1021 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1022
1023         Cannot set the PC on mips-irix.
1024         * irix5-nat.c (fill_gregset): Check regno against the raw PC
1025         register number, no the cooked one.
1026
1027 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1028
1029         Error while loading core file on mips-irix.
1030         * solib-irix.c (irix_solib_create_inferior_hook): Do nothing
1031         if debugging from a core file.
1032
1033 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1034
1035         GDB hangs when attaching to process on mips-irix.
1036         * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if
1037         attaching to a process.
1038
1039 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1040
1041         Use the correct breakpoint instruction on mips-irix.
1042         * mips-tdep.c (mips_breakpoint_from_pc): Add new static variable
1043         containing the correct breakpoint instruction to use on mips-irix.
1044         Use it when the osabi is GDB_OSABI_IRIX.
1045
1046 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1047
1048         -Wunused warning in procfs.c (mips-irix only).
1049         * procfs.c (gdb_praddset, gdb_prdelset): New macros.  Use them
1050         throughout instead of using praddset and prdelset respectively.
1051
1052 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1053
1054         GDB crash while stepping into function.
1055         * infrun.c (handle_inferior_event): Refetch the current frame
1056         after handling what.main_action, in case that pointer became
1057         dangling.
1058
1059 2010-01-09  Joel Brobecker  <brobecker@adacore.com>
1060
1061         Fix build failure of solaris-hosted cross debuggers.
1062         * ada-valprint.c, parse.c: Include defs.h before including ctype.h.
1063
1064 2010-01-09  Daniel Gutson  <dgutson@codesourcery.com>
1065
1066         Fix build failure on sparc-solaris.
1067         * procfs.c: (procfs_do_thread_registers) Use elfcore_write_lwpstatus.
1068
1069 2010-01-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
1070
1071         Move some symfile code into subroutines.
1072         * symfile.h (relative_addr_info_to_section_offsets)
1073         (addr_info_make_relative): New prototypes.
1074         * symfile.c (default_symfile_offsets): Move a part to ...
1075         (relative_addr_info_to_section_offsets): ... this new function.
1076         (default_symfile_offsets): Call it.
1077         (syms_from_objfile <!mainline && addrs && addrs->other[0].name>): Move
1078         this part to ...
1079         (addr_info_make_relative): ... this new function.
1080
1081 2010-01-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
1082
1083         Add from_tty to solib_create_inferior_hook.
1084         * infcmd.c (post_create_inferior): Move solib_add after
1085         solib_create_inferior_hook.  Pass from_tty to
1086         solib_create_inferior_hook.  Call solib_add and SOLIB_ADD with
1087         0 from_tty and comment why.
1088         * infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0.
1089         * linux-nat.c (linux_child_follow_fork): Likewise.
1090         * nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise.
1091         * solib-darwin.c (darwin_solib_create_inferior_hook): New parameter
1092         from_tty.
1093         * solib-frv.c (frv_solib_create_inferior_hook): Likewise.
1094         * solib-irix.c (irix_solib_create_inferior_hook): Likewise.
1095         * solib-null.c (null_solib_create_inferior_hook): Likewise.
1096         * solib-osf.c (osf_solib_create_inferior_hook): Likewise.
1097         * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
1098         * solib-som.c (som_solib_create_inferior_hook): Likewise.
1099         * solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty.
1100         Pass it to svr4_so_ops.solib_create_inferior_hook.
1101         * solib-sunos.c (sunos_solib_create_inferior_hook): New parameter
1102         from_tty.
1103         * solib-svr4.c (enable_break): New parameter from_tty.  Pass it to
1104         solib_add.
1105         (svr4_solib_create_inferior_hook): New parameter from_tty.  Pass it to
1106         enable_break.
1107         * solib-target.c (solib_target_solib_create_inferior_hook): New
1108         parameter from_tty.
1109         * solib.c (solib_create_inferior_hook): New parameter from_tty.  Pass
1110         it to ops->solib_create_inferior_hook.
1111         (reload_shared_libraries): Pass from_tty to solib_create_inferior_hook.
1112         Move solib_add after solib_create_inferior_hook, call it now with
1113         from_tty as 0.  New comment there.
1114         * solib.h (solib_create_inferior_hook): New parameter from_tty.
1115         * solist.h (struct target_so_ops <solib_create_inferior_hook>):
1116         Likewise.
1117
1118 2010-01-08  Vladimir Prus  <vladimir@codesourcery.com>
1119
1120         Fix multiexec race.
1121         * infrun.c (handle_inferior_event): Use get_thread_regcache
1122         with events ptid, not get_current_regcache.
1123
1124 2009-01-08  Joel Brobecker  <brobecker@adacore.com>
1125
1126         GDB crash with empty executable name (MinGW).
1127         * source.c (openp): Add assert that parameter string is not NULL.
1128         if parameter string is an empty string, then return with a failure
1129         immediately.
1130
1131 2009-01-08  Joel Brobecker  <brobecker@adacore.com>
1132
1133         Get rid of support for VAX Floats.
1134         * ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix)
1135         (ada_vax_float_print_function): Delete.
1136         * ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix)
1137         (ada_vax_float_print_function): Delete.
1138         * ada-typeprint.c (print_vax_floating_point_type): Delete.
1139         (ada_print_type): Remove support for VAX floats.
1140         * ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
1141
1142 2010-01-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
1143
1144         * stabsread.c (read_args): Handle zero arguments.
1145
1146 2009-01-08  Joel Brobecker  <brobecker@adacore.com>
1147
1148         Cannot find in-tree libiconv.a after reconfigure.
1149         * acinclude.m4 (AM_ICONV): If we find an in-tree libiconv.a
1150         that we can use, then cache the path to this archive.
1151         * configure: Regenerate.
1152
1153 2010-01-07  Stan Shebs  <stan@codesourcery.com>
1154
1155         Make tracepoint operations go through target vector.
1156         * target.h (enum trace_find_type): New enum.
1157         (struct target_ops): New fields to_trace_init,
1158         to_download_tracepoint, to_download_trace_state_variable,
1159         to_trace_set_readonly_regions, to_trace_start, to_get_trace_status,
1160         to_trace_stop, to_trace_find, to_get_trace_state_variable_value,
1161         to_set_disconnected_tracing.
1162         (target_trace_init): New macro.
1163         (target_download_tracepoint): New macro.
1164         (target_download_trace_state_variable): New macro.
1165         (target_trace_start): New macro.
1166         (target_trace_set_readonly_regions): New macro.
1167         (target_get_trace_status): New macro.
1168         (target_trace_stop): New macro.
1169         (target_trace_find): New macro.
1170         (target_get_trace_state_variable_value): New macro.
1171         (target_set_disconnected_tracing): New macro.
1172         * target.c (update_current_target): Inherit and set defaults for
1173         tracepoint operations.
1174         * tracepoint.c (default_collect): Make globally visible.
1175         (target_is_remote): Remove, along with all calls.
1176         (tvariables_info): Call target_get_trace_state_variable_value.
1177         (remote_set_transparent_ranges): Remove.
1178         (trace_start_command): Call target_trace_init,
1179         target_download_tracepoint, etc.
1180         (download_tracepoint): Remove.
1181         (trace_stop_command): Simplify.
1182         (stop_tracing): Call target_trace_stop.
1183         (get_trace_status): Call target_get_trace_status.
1184         (trace_status_command): Add case for targets that cannot trace.
1185         (finish_tfind_command): Change to take numerical arguments, call
1186         target_trace_find.
1187         (trace_find_command): Update call to finish_tfind_command.
1188         (trace_find_pc_command): Ditto.
1189         (trace_find_tracepoint_command): Ditto.
1190         (trace_find_line_command): Ditto.
1191         (trace_find_range_command): Ditto.
1192         (trace_find_outside_command): Ditto.
1193         (set_disconnected_tracing_value): Call
1194         target_set_disconnected_tracing.
1195         * remote.c: Add protocol encoding bits from tracepoint.c.
1196         (trace_error): Move from tracepoint.c.
1197         (remote_get_noisy_reply): Ditto.
1198         (free_actions_list_cleanup_wrapper): Ditto.
1199         (free_actions_list): Ditto.
1200         (remote_trace_init): New function.
1201         (remote_download_tracepoint): New function.
1202         (remote_download_trace_state_variable): New function.
1203         (remote_trace_set_readonly_regions): New function.
1204         (remote_trace_start): New function.
1205         (remote_get_trace_status): New function.
1206         (remote_trace_stop): New function.
1207         (remote_trace_find): New function.
1208         (remote_download_trace_state_variable): New function.
1209         (remote_set_disconnected_tracing): New function.
1210         (init_remote_ops): Add tracepoint operations.
1211
1212         * tracepoint.c (trace_dump_command): Don't decr_pc_after_break.
1213
1214 2010-01-07  Tristan Gingold  <gingold@adacore.com>
1215
1216         * symfile.c (build_section_addr_info_from_objfile): New function.
1217         (symbol_file_add_separate): Don't use offsets from objfile but
1218         built an addr info.
1219
1220 2010-01-06  Stan Shebs  <stan@codesourcery.com>
1221
1222         Support disconnected tracing.
1223         * infcmd.c (detach_command): Ask whether to stop tracing.
1224         * cli/cli-cmds.c (quit_command): Ditto.
1225         * breakpoint.h (struct breakpoint): New field number_on_target.
1226         * breakpoint.c (create_tracepoint_from_upload): New function.
1227         (get_tracepoint_by_number_on_target): New function.
1228         * remote.c (struct remote): New field disconnected_tracing.
1229         (remote_disconnected_tracing_feature): New function.
1230         (remote_protocol_features): Add DisconnectedTracing.
1231         (struct uploaded_tp): New struct.
1232         (uploaded_tps): New global.
1233         (get_uploaded_tp): New function.
1234         (find_matching_tracepoint): New function.
1235         (remote_get_tracing_state): New function.
1236         (remote_start_remote): Call it.
1237         * tracepoint.c (disconnected_tracing): New global.
1238         (trace_start_command): Initialize number_on_target.
1239         (stop_tracing): New function, split out from...
1240         (trace_stop_command): Call stop_tracing.
1241         (get_trace_status): New function, split out from...
1242         (trace_status_command): Call get_trace_status, add info on
1243         disconnection behavior.
1244         (disconnect_or_stop_tracing): New function.
1245         (finish_tfind_command): Translate from number on target.
1246         (trace_find_tracepoint_command): Translate to number on target.
1247         (send_disconnected_tracing_value): New function.
1248         (set_disconnected_tracing): New function.
1249         (_initialize_tracepoint): Add disconnected-tracing variable.
1250         * NEWS: Mention disconnected tracing.
1251
1252 2010-01-06  Tristan Gingold  <gingold@adacore.com>
1253
1254         * symtab.c (lookup_global_symbol_from_objfile): Rename objfile
1255         parameter to main_objfile.  Iterate on all separate debug objfiles.
1256         * symfile.h (symbol_file_add_separate)
1257         (find_separate_debug_file_by_debuglink): Remove parameter names.
1258         * symfile.c (symbol_file_add_separate): Use add_separate_objfile.
1259         (reread_symbols): Use free_objfile_separate_debug.
1260         * objfiles.h (struct objfile): Add separate_debug_objfile_link.
1261         Adjust comment.
1262         (objfile_separate_debug_iterate, add_separate_debug_objfile)
1263         (free_objfile_separate_debug): New prototypes.
1264         * objfiles.c (objfile_separate_debug_iterate): New function.
1265         (add_separate_debug_objfile, free_objfile_separate_debug): New
1266         functions.
1267         (free_objfile): Use free_objfile_separate_debug.  Adjust for
1268         multiple separate debug objfile.
1269         (objfile_has_symbols): Adjust comment.  Iterate on all separate
1270         debug objfiles.
1271         * minsyms.c (lookup_minimal_symbol): Adjust for multiple separate
1272         debug objfile.
1273         (lookup_minimal_symbol_text): Ditto.
1274         (lookup_minimal_symbol_by_pc_name): Ditto.
1275         (lookup_minimal_symbol_solib_trampoline): Ditto.
1276         (lookup_minimal_symbol_by_pc_section_1): Iterate on all separate
1277         debug objfiles.
1278
1279 2010-01-05  Stan Shebs  <stan@codesourcery.com>
1280
1281         Add fast tracepoints.
1282         * arch-utils.h (default_fast_tracepoint_valid_at): Declare.
1283         * arch-utils.c (default_fast_tracepoint_valid_at): New function.
1284         * breakpoint.h (enum bptype): Add bp_fast_tracepoint.
1285         * breakpoint.c (tracepoint_type): New function.
1286         (ALL_TRACEPOINTS): Use it.
1287         (should_be_inserted): Ditto.
1288         (bpstat_check_location): Ditto.
1289         (print_one_breakpoint_location): Ditto.
1290         (user_settable_breakpoint): Ditto.
1291         (set_breakpoint_location_function): Ditto.
1292         (disable_breakpoints_in_shlibs): Ditto.
1293         (delete_trace_command): Ditto.
1294         (print_it_typical): Add bp_fast_tracepoint case.
1295         (bpstat_what): Ditto.
1296         (print_one_breakpoint_location): Ditto.
1297         (allocate_bp_location): Ditto.
1298         (mention): Ditto.
1299         (breakpoint_re_set_one): Ditto.
1300         (disable_command): Ditto.
1301         (enable_command): Ditto.
1302         (check_fast_tracepoint_sals): New function.
1303         (break_command_really): Call it.
1304         (ftrace_command): New function.
1305         (_initialize_breakpoint): Add ftrace command.
1306         * gdbarch.sh (fast_tracepoint_valid_at): New.
1307         * gdbarch.h, gdbarch.c: Regenerate.
1308         * i386-tdep.c (i386_fast_tracepoint_valid_at): New function.
1309         (i386_gdbarch_init): Use it.
1310         * remote.c (struct remote_state): New field fast_tracepoints.
1311         (PACKET_FastTracepoints): New packet config type.
1312         (remote_fast_tracepoint_feature): New function.
1313         (remote_protocol_features): Add FastTracepoints.
1314         (remote_supports_fast_tracepoints): New function.
1315         (_initialize_remote): Add FastTracepoints.
1316         * tracepoint.c (download_tracepoint): Add fast tracepoint option.
1317         * NEWS: Mention fast tracepoints.
1318
1319 2010-01-06  Joel Brobecker  <brobecker@adacore.com>
1320
1321         * gdb-gdb.py: New file.
1322
1323 2010-01-05  Michael Snyder  <msnyder@vmware.com>
1324
1325         * infrun.c (handle_inferior_event): Fix typo in comment.
1326
1327 2010-01-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
1328
1329         * symfile.c (syms_from_objfile): Remove the !MAINLINE conditional.
1330
1331 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
1332
1333         * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
1334         and s390x-linux64.
1335         (s390-linux32-expedite): Define.
1336         (s390-linux64-expedite): Define.
1337         (s390x-linux64-expedite): Define.
1338         * features/s390-acr.xml: New file.
1339         * features/s390-fpr.xml: New file.
1340         * features/s390-core32.xml: New file.
1341         * features/s390-core64.xml: New file.
1342         * features/s390x-core64.xml: New file.
1343         * features/s390-linux32.xml: New file.
1344         * features/s390-linux64.xml: New file.
1345         * features/s390x-linux64.xml: New file.
1346         * features/s390-linux32.c: New generated file.
1347         * features/s390-linux64.c: New generated file.
1348         * features/s390x-linux64.c: New generated file.
1349
1350         * regformats/s390-linux32.dat: New generated file.
1351         * regformats/s390-linux64.dat: New generated file.
1352         * regformats/s390x-linux64.dat: New generated file.
1353         * regformats/reg-s390.dat: Remove.
1354         * regformats/reg-s390x.dat: Remove.
1355
1356         * s390-nat.c: Include "auxv.h" and <elf.h>.
1357         (HWCAP_S390_HIGH_GPRS): Define if undefined.
1358         (s390_target_wordsize): New function.
1359         (s390_auxv_parse): Likewise.
1360         (s390_get_hwcap): Likewise.
1361         (s390_read_description): Likewise.
1362         (_initialize_s390_nat): Install s390_auxv_parse and
1363         s390_read_description.
1364
1365         * s390-tdep.c: Include "features/s390-linux32.c",
1366         "features/s390-linux64.c", and "features/s390x-linux64.c".
1367         (struct gdbarch_tdep): Add gpr_full_regnum, pc_regnum, and cc_regnum.
1368         (s390_register_call_saved): New function.
1369         (s390_register_name): Remove.
1370         (s390_register_type): Remove.
1371         (s390_dwarf_regmap): Add lower half GPR pseudo DWARF CFI regnums.
1372         (s390_dwarf_reg_to_regnum): Remap GPR regnums to full GPRs.
1373         (s390_adjust_frame_regnum): Remap GPR regnums to lower halves for CFI.
1374         (s390_pseudo_register_name): New function.
1375         (s390_pseudo_register_type): New function.
1376         (s390_pseudo_register_read): Handle both 32-bit and 64-bit cases.
1377         Handle full GPR pesudos and varying pseudo register numbers.
1378         (s390_pseudo_register_write): Likewise
1379         (s390x_pseudo_register_read): Remove.
1380         (s390x_pseudo_register_write): Likewise.
1381         (s390_register_group): Remove.
1382         (s390_pseudo_register_group): New function.
1383         (s390_regmap_gregset): Add GPR upper halves.
1384         (s390x_regmap_gregset): Likewise.
1385         (s390_regmap_fpregset): Likewise.
1386         (s390_regmap_upper): New global variable.
1387         (s390_upper_regset): New global variable.
1388         (s390_upper_regset_sections): New global variable.
1389         (s390_regset_from_core_section): Handle GPR upper halves.
1390         (s390_core_read_description): New function.
1391         (s390_prologue_frame_unwind_cache): Set up ABI call-saved/clobbered
1392         register information.  Handle varying pseudo register numbers.
1393         (s390_backchain_frame_unwind_cache): Likewise.
1394         (s390_frame_prev_register): Unwind full GPRs to show lower halves.
1395         (s390_stub_frame_unwind_cache): Handle varying pseudo register numbers.
1396         (s390_sigtramp_frame_unwind_cache): Unwind PSWM and PSWA as well as
1397         PC and CC pseudos.  Unwind upper halves and full GPRs as appropriate.
1398         Handle varying pseudo register numbers.
1399         (s390_unwind_pc): Handle varying pseudo register numbers.
1400         (s390_dwarf2_prev_register): New function.
1401         (s390_dwarf2_frame_init_reg): Set up ABI call-saved/clobbered
1402         register information.  Handle varying pseudo register numbers.
1403         Install s390_dwarf2_prev_register to unwind full GPRs.
1404         (s390_gdbarch_init): Handle target descriptions.  Assign varying
1405         pseudo register numbers.  Install s390_adjust_frame_regnum.
1406         (_initialize_s390_tdep): Initialize target descriptions.
1407
1408         * s390-tdep.h (S390_R0_UPPER_REGNUM .. S390_R15_UPPER_REGNUM): Define.
1409         (S390_NUM_REGS): Redefine to include upper half registers.
1410         (S390_PC_REGNUM, S390_CC_REGNUM): Remove.
1411         (S390_NUM_PSEUDO_REGS, S390_NUM_TOTAL_REGS): Likewise.
1412         (tdesc_s390_linux32): Add declaration.
1413         (tdesc_s390_linux64): Likewise.
1414         (tdesc_s390x_linux64): Likewise.
1415
1416 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
1417
1418         * regset.h (struct core_regset_section): Add HUMAN_NAME.
1419         * i386-linux-tdep.c (i386_linux_regset_sections): Fill in HUMAN_NAME.
1420         * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
1421         (ppc_linux_vmx_regset_sections): Likewise.
1422         (ppc_linux_fp_regset_sections): Likewise.
1423
1424         * corelow.c (get_core_register_section): Constify arguments.
1425         (get_core_registers): Use gdbarch_core_regset_sections instead
1426         of hard-coded platform-specific register section names.
1427
1428 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
1429
1430         * dwarf2loc.c (read_pieced_value): If a piece occupies part of
1431         a register, assume the least-significant part is used.
1432         (write_pieced_value): Likewise.
1433
1434 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
1435
1436         * printcmd.c: Include "arch-utils.h".
1437         (do_one_display): Re-parse expression if current architecture changed.
1438
1439 2010-01-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
1440             Joel Brobecker  <brobecker@adacore.com>
1441
1442         * gdbtypes.c (check_typedef): New comment on type length.
1443         * value.c (allocate_value_lazy): Remove the unused atype variable.  New
1444         comment on type length.
1445         (value_primitive_field): Keep the original TYPE value, new comment.
1446
1447 2010-01-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
1448
1449         * cli/cli-script.c (process_next_line): Rename p1 as p_end and p2 as
1450         p_start.  Change != comparisons to > and < comparisons.
1451
1452 2010-01-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
1453
1454         * cli/cli-script.c (process_next_line): Check P2 overrun.
1455
1456 2009-01-01  Joel Brobecker  <brobecker@adacore.com>
1457
1458         Update the copyright hearder to add year 2010 for most GDB files.
1459
1460 2009-01-01  Joel Brobecker  <brobecker@adacore.com>
1461
1462         Fix build failure in inf-ptrace.c.
1463         * inf-ptrace.c (inf_ptrace_follow_fork): Fix typo.
1464
1465 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
1466
1467         * top.c (print_gdb_version): Update copyright year.
1468
1469 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
1470
1471         Fix break *FUN'address thread NUM.
1472         * ada-lex.l (task): Expand rule to also match the thread keyword.
1473
1474 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
1475
1476         Fix break *FUN'address task NUM.
1477         * ada-lex.l (task): New rule.
1478         * ada-lang.c (valid_task_id): Make sure the Ada task list has
1479         been built before using it.
1480
1481 For older changes see ChangeLog-2009.
1482 \f
1483 Local Variables:
1484 mode: change-log
1485 left-margin: 8
1486 fill-column: 74
1487 version-control: never
1488 coding: utf-8
1489 End: