Commit | Line | Data |
---|---|---|
c86cf029 VP |
1 | 2009-02-18 Vladimir Prus <vladimir@codesourcery.com> |
2 | ||
3 | * mi/mi-interp.c (mi_solib_loaded, mi_solib_unloaded): New. | |
4 | (mi_interpreter_init): Register the above. | |
5 | * solib.c (clear_solib): Notify solib unload. | |
6 | * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Do not | |
7 | disable breakpoints on a.out targets. | |
8 | ||
3ea85240 VP |
9 | 2009-02-17 Vladimir Prus <vladimir@codesourcery.com> |
10 | ||
11 | * observer.c (observer_test_first_notification_function) | |
12 | (observer_test_second_notification_function) | |
13 | (observer_test_third_notification_function): Adjust prototype. | |
14 | ||
4c1d2973 PA |
15 | 2009-02-17 Pedro Alves <pedro@codesourcery.com> |
16 | ||
17 | * Makefile.in (ALL_64_TARGET_OBS): Add amd64-dicos-tdep.o. | |
18 | (ALL_TARGET_OBS): Add dicos-tdep.o. | |
19 | (ALLDEPFILES): Add amd64-dicos-tdep.c and dicos-tdep.c. | |
20 | * configure.tgt (i[34567]86-*-dicos*): Add dicos-tdep.o to | |
21 | gdb_target_obs. | |
22 | (x86_64-*-dicos*): Add dicos-tdep.o and amd64-dicos-tdep.o to | |
23 | gdb_target_obs. | |
24 | * dicos-tdep.h, dicos-tdep.c: New. | |
25 | * amd64-dicos-tdep.c: New. | |
26 | * i386-dicos-tdep.c: Don't include solib.h, solib-target.h or | |
27 | inferior.h. Include dicos-tdep.h. | |
28 | (i386_dicos_init_abi): Call dicos_init_abi. | |
29 | (i386_dicos_bfd_has_symbol_p): Delete. | |
30 | (i386_dicos_osabi_sniffer): Use dicos_load_module_p. | |
31 | ||
32 | * NEWS: Mention x86-64 DICOS target support. | |
33 | ||
1903f0e6 DE |
34 | 2009-02-16 Doug Evans <dje@google.com> |
35 | ||
36 | * amd64-tdep.c (amd64_skip_prefixes): Renamed from skip_prefixes. | |
37 | All callers updated. | |
38 | (amd64_get_insn_details): Handle more 3-byte opcode insns. | |
39 | (amd64_breakpoint_p): Delete. | |
40 | (amd64_displaced_step_fixup): When fixing up after stepping an int3, | |
41 | don't back up pc to the start of the int3. | |
42 | * i386-tdep.c: #include opcode/i386.h. | |
43 | (i386_skip_prefixes): New function. | |
44 | (i386_absolute_jmp_p): Constify argument. | |
45 | (i386_absolute_call_p,i386_ret_p,i386_call_p,i386_syscall_p): Ditto. | |
46 | (i386_breakpoint_p): Delete. | |
47 | (i386_displaced_step_fixup): Handle unnecessary or redundant prefixes. | |
48 | When fixing up after stepping an int3, don't back up pc to the start | |
49 | of the int3. | |
50 | ||
959b8724 PA |
51 | 2009-02-16 Pedro Alves <pedro@codesourcery.com> |
52 | ||
53 | * corelow.c (core_close): Don't hardcode the core's pid. | |
54 | (core_open): Find core threads before calling | |
55 | post_create_inferior. | |
56 | (add_to_thread_list, get_core_register_section): Take into account | |
57 | systems where the regset section names encode the pid of the | |
58 | inferior. | |
59 | ||
60 | * gdbarch.sh (core_reg_section_encodes_pid): New gdbarch setting. | |
61 | * gdbarch.h, gdbarch.c: Regenerate. | |
62 | ||
63 | * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it. | |
64 | * i386-sol2-tdep.c (i386_sol2_init_abi): Set it. | |
65 | * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it. | |
66 | * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it. | |
67 | ||
1d33d6ba VP |
68 | 2009-02-14 Vladimir Prus <vladimir@codesourcery.com> |
69 | ||
70 | Include frame information for *stopped due to CLI commands. | |
71 | ||
72 | * ada-tasks.c (ada_normal_stop_observer): Adjust prototype. | |
73 | * infcmd.c (finish_command_continuation): Pass '1' for | |
74 | 'print_frame' parameter to the observer. | |
75 | * infrun.c (normal_stop): Don't print mi-specific information | |
76 | here. Pass 'stop_print_frame' to the 'print_frame' parameter | |
77 | of the observer. | |
78 | * mi/mi-interp.c (mi_on_normal_stop): Adjust prototype. | |
79 | If we need to print frame, and current uiout is not the MI one, | |
80 | print frame again. | |
81 | ||
2ff5e605 PM |
82 | 2009-02-13 Pierre Muller <muller@ics.u-strasbg.fr> |
83 | ||
84 | * xtensa-tdep.c (call0_analyze_prologue): Delete BSZ macro. | |
85 | Replace BSZ macro uses by XTENSA_ISA_BSZ macro. | |
86 | ||
5d7cb8df JK |
87 | 2009-02-12 Jan Kratochvil <jan.kratochvil@redhat.com> |
88 | ||
89 | PR fortran/9806 | |
90 | * dwarf2read.c (process_die <DW_TAG_module>, read_module) | |
91 | (scan_partial_symbols <DW_TAG_module>, add_partial_module): New. | |
92 | ||
868a0084 PM |
93 | 2009-02-11 Pierre Muller <muller@ics.u-strasbg.fr> |
94 | ||
95 | * dwarf2read.c (read_base_type): Set code to TYPE_CODE_CHAR | |
5d7cb8df | 96 | for DW_ATE_signed_char and DW_ATE_unsigned_char |
868a0084 PM |
97 | for pascal language. |
98 | ||
42e2132c JK |
99 | 2009-02-11 Jim Meyering <meyering@redhat.com> |
100 | Jan Kratochvil <jan.kratochvil@redhat.com> | |
101 | ||
102 | Avoid NULL dereference. | |
103 | * stack.c (return_command): Guard use of SYMBOL_TYPE (thisfun). | |
104 | New variable func_type. | |
105 | ||
315aef0a PA |
106 | 2009-02-11 Pedro Alves <pedro@codesourcery.com> |
107 | ||
108 | * gdbarch.c: Regenerate. | |
109 | ||
58159490 PM |
110 | 2009-02-10 Pierre Muller <muller@ics.u-strasbg.fr> |
111 | ||
112 | * p-lang.c (is_pascal_string_type): Fix comment. | |
113 | Determine exact size of char elements for GPC | |
114 | strings. | |
115 | (pascal_printstr): Handle char width of 2 or 4. | |
116 | * p-valprint.c (pascal_val_print): Handle char | |
117 | of width 2 or 4. | |
118 | ||
d3f36a39 DJ |
119 | 2009-02-07 Daniel Jacobowitz <dan@codesourcery.com> |
120 | ||
121 | * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and highpc | |
122 | inside the loop. Only call addrmap_set_empty if the compilation unit | |
123 | had DW_AT_high_pc and DW_AT_low_pc. Update call to | |
124 | scan_partial_symbols. | |
125 | (scan_partial_symbols): Take NEED_PC argument and pass it along with | |
126 | LOWPC and HIGHPC. | |
127 | (add_partial_namespace): Take NEED_PC argument and pass it through. | |
128 | (add_partial_subprogram): Take NEED_PC argument. Update the addrmap | |
129 | if necessary. | |
130 | ||
47a3467a PA |
131 | 2009-02-07 Pedro Alves <pedro@codesourcery.com> |
132 | ||
133 | * NEWS: Mention inspecting extra signal information, $_siginfo, | |
134 | and the qXfer:siginfo:read and qXfer:siginfo:write packets. | |
135 | ||
1ef18d08 PA |
136 | 2009-02-07 Pedro Alves <pedro@codesourcery.com> |
137 | ||
138 | * linux-nat.c (PTRACE_SETSIGINFO): Define if PTRACE_GETSIGINFO | |
139 | isn't defined. | |
140 | ||
5b009018 PA |
141 | 2009-02-06 Pedro Alves <pedro@codesourcery.com> |
142 | ||
143 | * amd64-linux-nat.c (compat_int_t, compat_uptr_t, compat_time_t) | |
144 | (compat_timer_t, compat_clock_t, struct compat_timeval) | |
145 | (compat_sigval_t, compat_siginfo_t): New types. | |
146 | (cpt_si_pid, cpt_si_uid, cpt_si_timerid, cpt_si_overrun) | |
147 | (cpt_si_status, cpt_si_utime, cpt_si_stime, cpt_si_ptr) | |
148 | (cpt_si_addr, cpt_si_band, cpt_si_fd): New defines. | |
149 | (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo) | |
150 | (amd64_linux_siginfo_fixup): New. | |
151 | * linux-nat.c (linux_nat_siginfo_fixup): New. | |
152 | (siginfo_fixup): New. | |
153 | (linux_xfer_siginfo): Use siginfo_fixup to convert between the | |
154 | siginfo layout expected by ptrace and the siginfo layout of the | |
155 | inferior. | |
156 | (linux_nat_set_siginfo_fixup): New. | |
157 | * linux-nat.h (linux_nat_set_siginfo_fixup): Declare. | |
158 | ||
4aa995e1 PA |
159 | 2009-02-06 Pedro Alves <pedro@codesourcery.com> |
160 | ||
161 | * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO. | |
162 | * infrun.c (siginfo_value_read, siginfo_value_write): New. | |
163 | (siginfo_value_funcs): New. | |
164 | (siginfo_make_value): New. | |
165 | (_initialize_infrun): Create the $_siginfo convenience variable. | |
166 | * gdbtypes.h (append_composite_type_field_aligned): Declare. | |
167 | * gdbtypes.c (append_composite_type_field): Rename to... | |
168 | (append_composite_type_field_aligned): ... this. Add ALIGNMENT | |
169 | argument. Handle it. | |
170 | (append_composite_type_field): Rewrite on top of | |
171 | append_composite_type_field_aligned. | |
172 | * value.h (internalvar_make_value): New typedef. | |
173 | (struct internalvar) <make_value>: New field. | |
174 | (create_internalvar_type_lazy): Declare. | |
175 | * value.c (create_internalvar): Clear make_value. | |
176 | (create_internalvar_type_lazy): New. | |
177 | (value_of_internalvar): If make_value is set use it. | |
178 | (preserve_values): Skip internal variables that don't have a | |
179 | value. | |
180 | * gdbarch.sh (get_siginfo_type): New. | |
181 | * gdbarch.h, gdbarch.c: Regenerate. | |
182 | ||
183 | * linux-tdep.h, linux-tdep.c: New. | |
184 | * amd64-linux-tdep.c: Include "linux-tdep.h". | |
185 | (amd64_linux_init_abi): Register linux_get_siginfo_type and | |
186 | linux_get_siginfo_mapper. | |
187 | * i386-linux-tdep.c: Include "linux-tdep.h". | |
188 | (i386_linux_init_abi): Register linux_get_siginfo_type and | |
189 | linux_get_siginfo_mapper. | |
190 | * arm-linux-tdep.c: Include "linux-tdep.h". | |
191 | (i386_linux_init_abi): Register linux_get_siginfo_type and | |
192 | linux_get_siginfo_mapper. | |
193 | ||
194 | * linux-nat.c (linux_xfer_siginfo): New. | |
195 | (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. | |
196 | * remote.c (PACKET_qXfer_siginfo_read) | |
197 | (PACKET_qXfer_siginfo_write): New. | |
198 | (feature remote_protocol_features): Add "qXfer:siginfo:read" and | |
199 | "qXfer:siginfo:write" features. | |
200 | (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. | |
201 | (_initialize_remote): Add "set/show remote read-siginfo-object" | |
202 | and "set/show remote write-siginfo-object" commands. | |
203 | ||
204 | * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o. | |
205 | (HFILES_NO_SRCDIR): Add linux-tdep.h. | |
206 | (ALLDEPFILES): Add linux-tdep.c. | |
207 | ||
208 | * configure.tgt (arm*-*-linux* | arm*-*-uclinux*) | |
209 | (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to | |
210 | gdb_target_obs. | |
211 | ||
5f5233d4 PA |
212 | 2009-02-06 Jim Blandy <jimb@codesourcery.com> |
213 | Daniel Jacobowitz <dan@codesourcery.com> | |
214 | Vladimir Prus <vladimir@codesourcery.com> | |
215 | Pedro Alves <pedro@codesourcery.com> | |
216 | ||
217 | * defs.h (enum lval_type): New value: lval_computed. | |
218 | * value.h (struct lval_funcs): New type. | |
219 | (allocate_computed_value, value_computed_funcs) | |
220 | (value_computed_closure): New declarations. | |
221 | * value.c (struct value): Add a structure to the location union | |
222 | for computed lvalues, containing 'funcs' and 'closure' members. | |
223 | (allocate_computed_value, value_computed_funcs) | |
224 | (value_computed_closure): New functions. | |
225 | (value_free): For computed lvalues, call the closure's | |
226 | 'free_closure' function before freeing the value itself. | |
227 | (value_copy): If we're copying an lval_computed value, call the | |
228 | closure's 'copy_closure' function. | |
229 | (set_value_component_location): If the original value is a | |
230 | computed lvalue, then call the closure's 'copy_closure' function. | |
231 | (value_of_internalvar): If an internal variable's value is a | |
232 | computed lvalue, make retrieving its value produce an equivalent | |
233 | computed lvalue. | |
234 | * valops.c (value_fetch_lazy): Unlazy computed lvalues by calling | |
235 | their read function. | |
236 | (value_assign): Assign to computed lvalues by calling their write | |
237 | function. | |
238 | ||
117de6a9 PA |
239 | 2009-02-06 Pedro Alves <pedro@codesourcery.com> |
240 | ||
241 | * linux-nat.c (linux_nat_wait): Adjust. | |
242 | (linux_nat_pid_to_str): Adjust. Remove call to thread_db_init. | |
243 | * linux-nat.h (thread_db_init): Delete declaration. | |
244 | * linux-thread-db.c (target_beneath): Delete. | |
245 | (thread_db_init): Delete. | |
246 | (thread_db_detach): Use find_target_beneath. | |
247 | (thread_db_wait): Adjust interface. Use find_target_beneath. | |
248 | (thread_db_mourn_inferior): Use find_target_beneath. | |
249 | (thread_db_can_async_p, thread_db_is_async_p, thread_db_async) | |
250 | (thread_db_async_mask): Delete. | |
251 | (thread_db_pid_to_str): Adjust interface. Use | |
252 | find_target_beneath. | |
253 | (thread_db_get_thread_local_address): Adjust interface. Use | |
254 | find_target_beneath. | |
255 | (init_thread_db_ops): Delete references to delete functions. | |
256 | * target.c (update_current_target): Don't inherit or default | |
257 | to_wait. Don't inherit to_pid_to_str and | |
258 | to_get_thread_local_address. | |
259 | (target_translate_tls_address): Look for a pushed target that | |
260 | implements to_get_thread_local_address, and use it instead of | |
261 | checking for target_get_thread_local_address_p. | |
262 | (target_wait, target_pid_to_str): Reimplement as functions. | |
263 | (dummy_pid_to_str): New. | |
264 | (init_dummy_target): Register it. | |
265 | (debug_to_wait): Delete. | |
266 | * target.h (struct target_ops): Make to_wait, to_pid_to_str and | |
267 | to_get_thread_local_address accept a pointer to struct target_ops. | |
268 | (target_wait): Delete macro, and declare as function. | |
269 | (target_pid_to_str): Likewise. | |
270 | (target_get_thread_local_address) | |
271 | (target_get_thread_local_address_p): Delete. | |
272 | (noprocess): Add NORETURN and ATTR_NORETURN tags. | |
273 | * inf-ptrace.c (inf_ptrace_wait): Adjust. | |
274 | (inf_ptrace_pid_to_str): New. | |
275 | (inf_ptrace_target): Use inf_ptrace_pid_to_str. | |
276 | * aix-thread.c (aix_thread_wait, aix_thread_pid_to_str): Adjust. | |
277 | * bsd-kvm.c (bsd_kvm_pid_to_str): Adjust. | |
278 | * bsd-uthread.c (bsd_uthread_wait, bsd_uthread_pid_to_str): | |
279 | Adjust. | |
280 | * corelow.c (core_pid_to_str): Adjust. | |
281 | * darwin-nat.c (darwin_wait, darwin_pid_to_str): Adjust. | |
282 | * dec-thread.c (dec_thread_wait, dec_thread_pid_to_str): Adjust. | |
283 | * gnu-nat.c (gnu_wait, gnu_pid_to_str): Adjust. | |
284 | * go32-nat.c (go32_wait, go32_pid_to_str): Adjust. | |
285 | * hpux-thread.c (hpux_thread_wait): Adjust. | |
286 | * inf-ttrace.c (inf_ttrace_wait, inf_ttrace_pid_to_str): Adjust. | |
287 | * monitor.c (monitor_wait, monitor_pid_to_str): Adjust. | |
288 | * nto-procfs.c (procfs_wait, procfs_pid_to_str): Adjust. | |
289 | * procfs.c (procfs_pid_to_str): Adjust. | |
290 | * remote-m32r-sdi.c (m32r_wait, m32r_pid_to_str): Adjust. | |
291 | * remote-mips.c (mips_wait): Adjust. | |
292 | * remote-sim.c (gdbsim_wait, gdbsim_pid_to_str): Adjust. | |
293 | * remote.c (remote_wait, remote_pid_to_str) | |
294 | (remote_get_thread_local_address): Adjust. | |
295 | * rs6000-nat.c (rs6000_wait): Adjust. | |
296 | * sol-thread.c (procfs_pid_to_str): Adjust declaration. | |
297 | (sol_thread_wait, solaris_pid_to_str): Adjust. | |
298 | * spu-linux-nat.c (spu_child_wait): Adjust. | |
299 | * windows-nat.c (windows_wait, windows_pid_to_str): Adjust. | |
300 | ||
d8906c6f TJB |
301 | 2009-02-06 Tom Tromey <tromey@redhat.com> |
302 | ||
303 | * Makefile.in (SUBDIR_PYTHON_OBS): Add python-cmd.o. | |
304 | (SUBDIR_PYTHON_SRCS): Add python-cmd.c. | |
305 | (python-cmd.o): New target. | |
306 | * cli/cli-decode.c (set_cmd_completer): Add self parameter to | |
307 | completer prototype. | |
308 | (add_cmd): Initialize destroyer member of cmd_list_element. Use | |
309 | make_symbol_completion_list_fn as completer. | |
310 | (delete_cmd): Call destroyer if one is set. | |
311 | * cli/cli-decode.h (cmd_list_element): Add cmd parameter to | |
312 | completer member. Add destroyer member. | |
313 | (set_cmd_completer): Add self parameter to | |
314 | completer prototype. | |
315 | * command.h (set_cmd_completer): Add cmd parameter to | |
316 | completer prototype. | |
317 | * completer.c (noop_completer, filename_completer, | |
318 | location_completer, expression_completer, command_completer): Adapt | |
319 | to new completer prototype. | |
320 | (complete_line_internal): Pass new parameter to completer function. | |
321 | * completer.h (noop_completer, filename_completer, | |
322 | location_completer, expression_completer, command_completer): Adapt | |
323 | prototypes to new completer prototype. | |
324 | * interps.c (interpreter_completer): Adapt to new completer | |
325 | prototype. | |
326 | * python/python-cmd.c: New file. | |
327 | * python/python-internal.h (gdbpy_initialize_commands): Add | |
328 | prototype. | |
329 | (gdbpy_doc_cst): Add forward declaration. | |
330 | * python/python.c (gdbpy_doc_cst): Declare. | |
331 | (_initialize_python): Call gdbpy_initialize_commands. Initialize | |
332 | gdbpy_doc_cst. | |
333 | * symtab.c (make_symbol_completion_list_fn): New function. | |
334 | * symtab.h (make_symbol_completion_list_fn): Add prototype. | |
335 | ||
739ef7fb PA |
336 | 2009-02-06 Pedro Alves <pedro@codesourcery.com> |
337 | ||
338 | * target.c (target_get_osdata): Check for equal or higher than | |
339 | process_stratum, not dummy_stratum. | |
340 | ||
6d097e65 PA |
341 | 2009-02-06 Pedro Alves <pedro@codesourcery.com> |
342 | ||
343 | * remote.c (extended_remote_can_run): Delete. | |
344 | (init_remote_ops): Don't register it. | |
345 | * target.c (target_get_osdata): Don't check for target_can_run. | |
346 | Instead any target that has already been pushed, otherwise | |
739ef7fb | 347 | fallback to the default run target. |
6d097e65 | 348 | |
947b8855 PA |
349 | 2009-02-06 Pedro Alves <pedro@codesourcery.com> |
350 | ||
351 | * target.c (target_create_inferior, target_detach) | |
352 | (target_mourn_inferior, target_attach, target_close): Do target | |
353 | debug output. | |
354 | (debug_to_attach, debug_to_detach, debug_to_create_inferior) | |
355 | (debug_to_mourn_inferior, debug_to_close): Delete. | |
356 | (setup_target_debug): Adjust. | |
357 | ||
611041af PA |
358 | 2009-02-05 Pedro Alves <pedro@codesourcery.com> |
359 | ||
360 | * target.h (target_stopped_data_address_p): Delete declaration, | |
361 | and don't define as macro. | |
362 | * target.c (target_stopped_data_address_p): Delete. | |
363 | ||
b6cb8e7d TJB |
364 | 2009-02-05 Thiago Jung Bauermann <bauerman@br.ibm.com> |
365 | Tom Tromey <tromey@redhat.com> | |
366 | ||
367 | * python/python-utils.c (target_string_to_unicode): New function. | |
368 | * python/python-internal.h (target_string_to_unicode): New prototype. | |
369 | * python/python-value.c (valpy_string): New function. | |
370 | (value_object_methods): Add `string' entry. | |
371 | ||
54ba13f7 PA |
372 | 2009-02-05 Pedro Alves <pedro@codesourcery.com> |
373 | ||
374 | * target.h (target_tid_to_str): Delete. | |
375 | * thread.c (print_thread_info, thread_apply_all_command) | |
376 | (thread_apply_command, thread_command, do_captured_thread_select): | |
377 | Use target_pid_to_str instead of target_tid_to_str. | |
378 | * linux-fork.c (delete_fork_command): Likewise. | |
379 | ||
9d49bdc2 PA |
380 | 2009-02-05 Pedro Alves <pedro@codesourcery.com> |
381 | ||
382 | * frame.c (has_stack_frames): Make public. | |
383 | (get_prev_frame): Don't allow a NULL this_frame anymore. | |
384 | * frame.h (has_stack_frames): Declare. | |
385 | * varobj.c (find_frame_addr_in_frame_chain): Don't ever pass NULL | |
386 | to get_prev_frame, instead start at get_current_frame. | |
387 | (varobj_create): Check has_stack_frames before getting any frame; | |
388 | eliminate one usage of deprecated_safe_get_selected_frame. | |
389 | ||
12453b93 TJB |
390 | 2009-02-05 Tom Tromey <tromey@redhat.com> |
391 | Thiago Jung Bauermann <bauerman@br.ibm.com> | |
392 | ||
393 | * python/python.c (GdbMethods): Move to bottom of file. | |
394 | (get_parameter, execute_gdb_command, gdbpy_write, | |
395 | gdbpy_flush): Remove forward declarations. | |
396 | (eval_python_from_control_command): Fix error checking of function | |
397 | PyRun_SimpleString. Fix error string. | |
398 | (python_command): Likewise. | |
399 | (execute_gdb_command): Added from_tty argument. | |
400 | ||
ae6a3a4c TJB |
401 | 2009-02-05 Thiago Jung Bauermann <bauerman@br.ibm.com> |
402 | ||
403 | * language.h (language_dfn): Add la_get_string member. | |
404 | (LA_GET_STRING): New macro. | |
405 | (default_get_string): New prototype. | |
406 | * language.c (default_get_string): New function. | |
407 | (unknown_language_defn, auto_language_defn, local_language_defn): Use | |
408 | default_get_string for la_get_string. | |
409 | * c-lang.c (c_get_string): New function. | |
410 | (c_language_defn, cplus_language_defn, asm_language_defn): Use | |
411 | c_get_string for la_get_string. | |
412 | (minimal_language_defn): Likewise | |
413 | * ada-lang.c (ada_language_defn): Likewise. | |
414 | * f-lang.c (f_language_defn): Use default_get_string for | |
415 | la_get_string. | |
416 | * jv-lang.c (java_language_defn): Likewise. | |
417 | * m2-lang.c (m2_language_defn): Likewise. | |
418 | * objc-lang.c (objc_language_defn): Likewise. | |
419 | * p-lang.c (p_language_defn): Likewise. | |
420 | * scm-lang.c (scm_language_defn): Likewise. | |
421 | * typeprint.c (type_to_string): New function. | |
422 | * value.h (type_to_string): New prototype. | |
423 | * valprint.c (val_print_string): Factor out code for reading string | |
424 | from the inferior into its own function. Put 2 spaces after period | |
425 | in comments. | |
426 | (read_string): New function. | |
427 | * valprint.h (read_string): New prototype. | |
428 | ||
fa8a61dc TT |
429 | 2009-01-07 Pierre Muller <muller@ics.u-strasbg.fr> |
430 | Tom Tromey <tromey@redhat.com> | |
431 | ||
432 | PR breakpoints/8079: | |
433 | * breakpoint.c (print_one_breakpoint): Use exp_string field | |
434 | to display expression of watchpoints. | |
435 | (mention): Likewise. | |
436 | (watch_command_1): Remove trailing whitespace from expression. | |
437 | * printcmd.c (struct display) <exp_string>: New field. | |
438 | (display_command): Set exp_string. | |
439 | (free_display): Free exp_string. | |
440 | (clear_displays): Use free_display. | |
441 | (do_one_display): Print exp_string. | |
442 | (display_info): Likewise. | |
443 | ||
08c637de TJB |
444 | 2009-02-04 Tom Tromey <tromey@redhat.com> |
445 | Thiago Jung Bauermann <bauerman@br.ibm.com> | |
446 | Phil Muldoon <pmuldoon@redhat.com> | |
447 | ||
448 | * python/python-internal.h (gdbpy_get_value_from_history): Rename | |
449 | prototype to gdbpy_history. | |
450 | (gdbpy_is_string): Declare. | |
451 | (python_string_to_host_string): Declare. | |
452 | * python/python-utils.c (gdbpy_is_string): New function. | |
453 | (unicode_to_encoded_string): New function. | |
454 | (unicode_to_target_string): Use it. | |
455 | (python_string_to_host_string): New function. | |
456 | * python/python-value.c (valpy_address): New function. | |
457 | (convert_value_from_python): Use gdbpy_is_string. Change to throw | |
458 | Python exception instead of a GDB exception on error. Properly check | |
459 | Python booleans. | |
460 | (valpy_getitem): Convert field name to host string. Handle array | |
461 | accesses. Adapt to new behaviour of convert_value_from_python. | |
462 | (valpy_new): Adapt to new behaviour of convert_value_from_python. | |
463 | (enum valpy_opcode) <VALPY_LSH, VALPY_RSH, VALPY_BITAND, | |
464 | VALPY_BITXOR, VALPY_BITOR>: New constants. | |
465 | (valpy_binop): Update. Adapt to new behaviour of | |
466 | convert_value_from_python. | |
467 | (valpy_invert): New function. | |
468 | (valpy_lsh): Likewise. | |
469 | (valpy_rsh): Likewise. | |
470 | (valpy_and): Likewise. | |
471 | (valpy_or): Likewise. | |
472 | (valpy_xor): Likewise. | |
473 | (valpy_richcompare): Call convert_value_from_python instead of doing | |
474 | conversions itself. | |
475 | (is_intlike, valpy_int, valpy_long, valpy_float): New functions. | |
476 | (gdbpy_get_value_from_history): Rename | |
477 | function to gdbpy_history. | |
478 | (gdbpy_initialize_values): Don't set tp_new. | |
479 | (value_object_type): Add valpy_new. | |
480 | (value_object_methods): Add `address' entry. | |
481 | (value_object_as_number): Update for new methods. | |
482 | * python/python.c (GdbMethods): Rename entry from | |
483 | `get_value_from_history' to `history'. | |
484 | ||
538e13a6 | 485 | 2009-02-04 Jerome Guitton <guitton@adacore.com> |
b5304971 JG |
486 | |
487 | * ada-lang.c (ada_template_to_fixed_record_type_1): Check size | |
488 | of type to guard against a crash. | |
489 | ||
33d502b4 JG |
490 | 2009-02-04 Jerome Guitton <guitton@adacore.com> |
491 | ||
492 | * value.c (value_from_contents_and_address): Always return | |
493 | a lval_memory value, even if address is null. | |
494 | ||
9f08ae4f TG |
495 | 2009-02-04 Tristan Gingold <gingold@adacore.com> |
496 | ||
497 | * i386-darwin-tdep.c (i386_darwin_sigcontext_addr): New function. | |
498 | (amd64_darwin_sigcontext_addr): Ditto. | |
499 | (darwin_dwarf_signal_frame_p): Ditto. | |
500 | (i386_darwin_init_abi): Handle signal frames, use the const for | |
501 | sc_num_regs. | |
502 | (x86_darwin_init_abi_64): Ditto. | |
503 | ||
4bd207ef TG |
504 | 2009-02-04 Tristan Gingold <gingold@adacore.com> |
505 | ||
506 | * i386-tdep.c (i386_sigtramp_p): Make it public. | |
507 | * i386-tdep.h (i386_sigtramp_p): Declare. | |
508 | ||
4aa99a88 TG |
509 | 2009-02-04 Tristan Gingold <gingold@adacore.com> |
510 | ||
511 | * machoread.c (macho_symfile_read): Read minsymtab also from | |
512 | shared libraries. | |
513 | (macho_symfile_read): Try to read dwarf2 frame info from main | |
514 | object file, but not from OSO files. | |
515 | (macho_symfile_offsets): Update section names for latest BFD | |
516 | changes. | |
517 | * i386-darwin-tdep.c (i386_darwin_init_abi): Call set_solib_ops. | |
518 | (x86_darwin_init_abi_64): Ditto. | |
519 | * solib-darwin.c: New file. | |
520 | * solib-darwin.h: New file. | |
521 | * configure.tgt: Add solib.o solib-darwin.o for Darwin. | |
522 | ||
7a848be1 TG |
523 | 2009-02-04 Tristan Gingold <gingold@adacore.com> |
524 | ||
525 | * solist.h (struct target_so_ops): Comment fallback behavior for | |
526 | operation same. | |
527 | ||
b32d97f3 TT |
528 | 2009-02-03 Tom Tromey <tromey@redhat.com> |
529 | ||
530 | * completer.c (add_struct_fields): Check type_name against NULL | |
531 | before use. | |
532 | ||
692263b8 JB |
533 | 2009-02-03 Joel Brobecker <brobecker@adacore.com> |
534 | ||
535 | * MAINTAINERS: Update Elena's email address. | |
536 | ||
bfa149ac JB |
537 | 2009-02-02 Joel Brobecker <brobecker@adacore.com> |
538 | ||
539 | * breakpoint (update_watchpoint): Minor comment adjustment. | |
540 | ||
1c71341a TT |
541 | 2009-02-02 Tom Tromey <tromey@redhat.com> |
542 | ||
52e44b43 | 543 | PR gdb/9594: |
1c71341a TT |
544 | * completer.c (count_struct_fields): Count method names. |
545 | (add_struct_fields): Add matching method names. | |
546 | ||
85541719 DE |
547 | 2009-02-02 Doug Evans <dje@google.com> |
548 | ||
549 | * configure.ac (gdbkt): Check both no_tcl/no_tk first, before | |
550 | doing any further tcl/tk configury. Don't configure gdbtk if | |
551 | tcl or tk check fails. | |
552 | * aclocal.m4: Regenerate. | |
553 | * configure: Regenerate. | |
554 | ||
a4295225 TT |
555 | 2009-02-02 Tom Tromey <tromey@redhat.com> |
556 | ||
557 | PR exp/9059: | |
558 | * valops.c (find_overload_match): Follow typedefs before taking | |
559 | address of object argument. | |
560 | ||
f00150c9 DE |
561 | 2009-02-01 Doug Evans <dje@google.com> |
562 | ||
563 | * target.h (target_waitstatus_to_string): Declare. | |
564 | * target.c (target_waitstatus_to_string): New function. Copied from | |
565 | debug_to_wait. Add missing entries for TARGET_WAITKIND_SYSCALL_ENTRY, | |
566 | TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_IGNORE, | |
567 | TARGET_WAITKIND_NO_HISTORY. | |
568 | (debug_to_wait): Call it. | |
569 | * infrun.c (wait_for_inferior): If debug_infrun, print result of | |
570 | target_wait. | |
571 | (fetch_inferior_event): Ditto. | |
572 | ||
5abdf4bd TT |
573 | 2009-01-30 Tom Tromey <tromey@redhat.com> |
574 | ||
575 | * Makefile.in (HFILES_NO_SRCDIR): Remove i386-cygwin-tdep.h. | |
576 | ||
592375cd VP |
577 | 2009-01-30 Vladimir Prus <vladimir@codesourcery.com> |
578 | ||
579 | PR 8145. | |
580 | * thread.c (do_captured_list_thread_ids): Report the current | |
581 | thread id. | |
582 | ||
41447f92 VP |
583 | 2009-01-30 Vladimir Prus <vladimir@codesourcery.com> |
584 | ||
585 | * breakpoint.c (create_breakpoint, create_breakpoints) | |
586 | (break_command_really, set_breakpoint): New parameter enabled. | |
587 | (create_breakpoint, break_command_really): Make breakpoint | |
588 | disabled if so requested. | |
589 | * breakpoint.h (set_breakpoint): New parameter enabled. | |
590 | * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle the -d option. | |
591 | ||
35669430 DE |
592 | 2009-01-28 Doug Evans <dje@google.com> |
593 | ||
594 | * amd64-tdep.h (amd64_displaced_step_copy_insn): Declare. | |
595 | (amd64_displaced_step_fixup): Declare. | |
596 | * amd64-tdep.c: #include opcode/i386.h, dis-asm.h. | |
597 | (amd64_arch_regmap): Move out of amd64_analyze_stack_align | |
598 | and make static global. | |
599 | (amd64_arch_regmap_len): New static global. | |
600 | (amd64_arch_reg_to_regnum): New function. | |
601 | (struct amd64_insn): New struct. | |
602 | (struct displaced_step_closure): New struct. | |
603 | (onebyte_has_modrm,twobyte_has_modrm): New static globals. | |
604 | (rex_prefix_p,skip_prefixes) | |
605 | (amd64_insn_length_fprintf,amd64_insn_length_init_dis) | |
606 | (amd64_insn_length,amd64_get_unused_input_int_reg) | |
607 | (amd64_get_insn_details,fixup_riprel,fixup_displaced_copy) | |
608 | (amd64_displaced_step_copy_insn) | |
609 | (amd64_absolute_jmp_p,amd64_absolute_call_p,amd64_ret_p) | |
610 | (amd64_call_p,amd64_breakpoint_p,amd64_syscall_p) | |
611 | (amd64_displaced_step_fixup): New functions. | |
612 | * amd64-linux-tdep.c: #include arch-utils.h. | |
613 | (amd64_linux_init_abi): Install displaced stepping support. | |
614 | ||
4eb7c016 JG |
615 | 2009-01-28 Daniel Jacobowitz <dan@codesourcery.com> |
616 | Jerome Guitton <guitton@adacore.com> | |
617 | ||
618 | * configure, config.in: Regenerated. | |
619 | * configure.ac: Add --with-system-gdbinit. | |
620 | * main.c (get_init_files): New. | |
621 | (captured_main): Use get_init_files. Load system gdbinit before | |
622 | $HOME/.gdbinit. | |
623 | (print_gdb_help): Print location of init files. | |
624 | ||
7df3ce47 PA |
625 | 2009-01-28 Pedro Alves <pedro@codesourcery.com> |
626 | ||
627 | * corefile.c (generic_search): Delete disabled code. | |
628 | * gdbcore.h (generic_search): Delete declaration. | |
629 | ||
77435e4c PA |
630 | 2009-01-26 Pedro Alves <pedro@codesourcery.com> |
631 | ||
632 | * linux-nat.c (linux_child_follow_fork): Copy attach_flag from the | |
633 | parent to the child. | |
634 | * inf-ttrace.c (inf_ttrace_follow_fork): Likewise. | |
635 | * inf-ptrace.c (inf_ptrace_follow_fork): Likewise. Use | |
636 | remove_breakpoints to remove breakpoints from the parent. | |
637 | ||
1e275f79 PA |
638 | 2009-01-26 Pedro Alves <pedro@codesourcery.com> |
639 | ||
7488432f | 640 | PR backtrace/9458, PR backtrace/8864: |
1e275f79 PA |
641 | * frame.c (create_new_frame): Update the frame's cached PC before |
642 | finding its unwinder. Use frame_id_build to build the new frame's | |
643 | id. | |
644 | * stack.c (parse_frame_specification_1): Correct setting ``addrs'' | |
645 | array values from the ``args'' array values. | |
646 | ||
1deafd4e PA |
647 | 2009-01-26 Pedro Alves <pedro@codesourcery.com> |
648 | ||
649 | * gdbtypes.c (alloc_type, alloc_type_instance, create_range_type) | |
650 | (create_array_type, create_set_type, init_flags_type) | |
651 | (copy_type_recursive): Replace pairs of calls to XALLOC and memset | |
652 | with a call to XZALLOC or XCALLOC, and pairs of calls to | |
653 | obstack_alloc and memset with a call to OBSTACK_ZALLOC. | |
654 | ||
3c16cced PA |
655 | 2009-01-26 Pedro Alves <pedro@codesourcery.com> |
656 | ||
657 | Add "maint set|show internal-error|internal-warning quit|corefile | |
658 | ask|yes|no" commands. | |
659 | ||
660 | PR gdb/7580: | |
661 | * utils.c (internal_problem_ask, internal_problem_yes) | |
662 | (internal_problem_no, internal_problem_modes): New. | |
663 | (struct internal_problem): Remove FIXME. Make should_quit and | |
664 | should_dump_core types to char *. | |
665 | (internal_vproblem, internal_error_problem) | |
666 | (internal_warning_problem): Adjust. | |
667 | (set_internal_problem_cmd, show_internal_problem_cmd): New dummy | |
668 | functions. | |
669 | (add_internal_problem_command): New. | |
670 | (_initialize_utils): New. | |
671 | ||
616d7dd2 PA |
672 | 2009-01-25 Pedro Alves <pedro@codesourcery.com> |
673 | ||
674 | * infcmd.c (program_info): Use paddress instead of casting stop_pc | |
675 | to unsigned long. | |
676 | ||
0516318b PA |
677 | 2009-01-24 Pedro Alves <pedro@codesourcery.com> |
678 | ||
679 | * infrun.c (normal_stop): Don't call | |
680 | deprecated_update_frame_pc_hack. | |
681 | * frame.c (deprecated_update_frame_pc_hack) | |
682 | (deprecated_update_frame_base_hack): Delete, and ... | |
683 | (create_new_frame): ... inline here. | |
684 | * frame.h (deprecated_update_frame_pc_hack) | |
685 | (deprecated_update_frame_base_hack): Delete declarations. | |
686 | ||
1e8fb976 PA |
687 | 2009-01-23 Pedro Alves <pedro@codesourcery.com> |
688 | ||
689 | * cli/cli-decode.c (add_setshow_zuinteger_cmd): New. | |
690 | * cli/cli-setshow.c (do_setshow_command): Handle it. | |
691 | * command.h (enum var_types): Add var_zuinteger. | |
692 | (add_setshow_zuinteger_cmd): Declare. | |
693 | ||
694 | * valprint.c (_initialize_valprint): Change the set input-radix | |
695 | and set output-radix commands to zuinteger type. | |
696 | ||
dd7e2d2b PA |
697 | 2009-01-23 Pedro Alves <pedro@codesourcery.com> |
698 | ||
699 | PR gdb/9664: | |
700 | * infrun.c (normal_stop): Tag threads as stopped, and run the | |
701 | hook-stop before printing the stack frame. | |
702 | ||
392452f6 PA |
703 | 2009-01-22 Pedro Alves <pedro@codesourcery.com> |
704 | ||
705 | PR c++/9631: | |
706 | * gnu-v3-abi.c (gnuv3_baseclass_offset): Call check_typedef on | |
707 | vbasetype. | |
708 | ||
f6a96b83 KH |
709 | 2009-01-20 Kazu Hirata <kazu@codesourcery.com> |
710 | ||
711 | * gdb/procfs.c (info_mappings_callback): Cast map->pr_size to | |
712 | unsigned long. | |
713 | ||
5d277928 | 714 | 2009-01-20 Daniel Jacobowitz <dan@codesourcery.com> |
a12cc160 DJ |
715 | |
716 | PR gdb/9346 | |
717 | * infcmd.c (signal_command): Do not specify a resume PC. | |
718 | ||
b89667eb DE |
719 | 2009-01-19 Doug Evans <dje@google.com> |
720 | ||
721 | * dummy-frame.c (dummy_frame): Replace regcache member with | |
722 | caller_state. | |
723 | (dummy_frame_push): Replace caller_regcache arg with caller_state. | |
724 | All callers updated. | |
725 | (remove_dummy_frame,pop_dummy_frame,lookup_dummy_frame): New fns. | |
726 | (dummy_frame_pop): Rewrite. Verify requested frame is in the | |
727 | dummy frame stack. Restore program state. | |
728 | (cleanup_dummy_frames): Rewrite. | |
729 | (dummy_frame_sniffer): Update. Make static. | |
730 | * dummy-frame.h (regcache,frame_info): Delete forward decls. | |
731 | (inferior_thread_state): New forward decl. | |
732 | (dummy_frame_push): Update prototype. | |
733 | * frame.c (frame_pop): dummy_frame_pop now does all the work for | |
734 | DUMMY_FRAMEs. | |
735 | * infcall.c (breakpoint_auto_delete_contents): Delete. | |
736 | (get_function_name,run_inferior_call): New fns. | |
737 | (call_function_by_hand): Simplify by moving some code to | |
738 | get_function_name, run_inferior_call. Inferior function call wrapped | |
739 | in TRY_CATCH so there's less need for cleanups and all exits from | |
740 | proceed are handled similarily. Detect program exit. | |
741 | Detect program stopping in a different thread. | |
742 | Make error messages more consistent. | |
743 | * inferior.h (inferior_thread_state): Declare (opaque type). | |
744 | (save_inferior_thread_state,restore_inferior_thread_state, | |
745 | make_cleanup_restore_inferior_thread_state, | |
746 | discard_inferior_thread_state, get_inferior_thread_state_regcache): | |
747 | Declare. | |
748 | (save_inferior_status): Update prototype. | |
749 | * infrun.c: (normal_stop): When stopped for the completion of an | |
750 | inferior function call, verify the expected stack frame kind. | |
751 | (inferior_thread_state): New struct. | |
752 | (save_inferior_thread_state,restore_inferior_thread_state, | |
753 | do_restore_inferior_thread_state_cleanup, | |
754 | make_cleanup_restore_inferior_thread_state, | |
755 | discard_inferior_thread_state, | |
756 | get_inferior_thread_state_regcache): New functions. | |
757 | (inferior_status): Move stop_signal, stop_pc, registers to | |
758 | inferior_thread_state. Remove restore_stack_info. | |
759 | (save_inferior_status): Remove arg restore_stack_info. | |
760 | All callers updated. Remove saving of state now saved by | |
761 | save_inferior_thread_state. | |
762 | (restore_inferior_status): Remove restoration of state now done by | |
763 | restore_inferior_thread_state. | |
764 | (discard_inferior_status): Remove freeing of registers, now done by | |
765 | discard_inferior_thread_state. | |
766 | ||
aefc7064 PA |
767 | 2009-01-18 Pedro Alves <pedro@codesourcery.com> |
768 | ||
769 | * tui/tui-disasm.c (tui_vertical_disassem_scroll): Scroll one line | |
770 | at a time, times NUM_TO_SCROLL. | |
771 | * tui/tui-winsource.c (tui_horizontal_source_scroll): Don't try to | |
772 | fetch the selected frame if there is no stack. | |
773 | ||
29f49a6a PA |
774 | 2009-01-18 Pedro Alves <pedro@codesourcery.com> |
775 | ||
776 | PR gdb/9747: | |
777 | * gdbthread.h (finish_thread_state, finish_thread_state_cleanup): | |
778 | Declare. | |
779 | * thread.c (finish_thread_state, finish_thread_state_cleanup): New. | |
780 | * infrun.c (wait_for_inferior, fetch_inferior_event): If an error | |
781 | is thrown while handling an event, finish the thread state. | |
782 | (normal_stop): Use finish_thread_state cleanup. | |
783 | * infcmd.c (run_command_1): If an error is thrown while starting | |
784 | the inferior, finish the thread state. | |
785 | ||
e7243d73 PA |
786 | 2009-01-18 Pedro Alves <pedro@codesourcery.com> |
787 | ||
788 | * tui/tui-winsource.c (tui_update_breakpoint_info): In asm layout, | |
789 | skip breakpoints without a location (pending breakpoints). | |
790 | ||
e74994b5 PA |
791 | 2009-01-18 Pedro Alves <pedro@codesourcery.com> |
792 | ||
793 | PR build/9186: | |
794 | * hppa-hpux-tdep.c (hppa_hpux_write_pc): Remove 'return'. | |
795 | ||
8405c36e NR |
796 | 2009-01-18 Nick Roberts <nickrob@snap.net.nz> |
797 | ||
798 | * thread.c (thread_command): Move call to annotate_thread_changed | |
799 | to... | |
800 | (do_captured_thread_select): ... here, to avoid printing an | |
801 | annotation if the thread change generates an exception. | |
802 | ||
b8bfd3ed JB |
803 | 2009-01-16 Joel Brobecker <brobecker@adacore.com> |
804 | ||
805 | * NEWS: Document x86_64/MinGW as a new native configuration. | |
806 | ||
2dde91e9 JB |
807 | 2009-01-16 Joel Brobecker <brobecker@adacore.com> |
808 | ||
809 | * NEWS: Move the documentation of "info os processes" to | |
810 | the appropriate section (documenting the new commands). | |
811 | ||
54363045 DE |
812 | 2009-01-15 Doug Evans <dje@google.com> |
813 | ||
814 | * target.h (target_signal_to_string): Make return type const char *. | |
815 | (target_signal_to_name): Ditto. | |
816 | (target_signal_from_name): Make arg const char *. | |
54363045 | 817 | * infrun.c (sig_print_info): Update. |
54363045 DE |
818 | * signals/signals.c (signals): Make array and struct members const. |
819 | (target_signal_to_string): Make return type const char *. | |
820 | (target_signal_to_name): Ditto. | |
821 | (target_signal_from_name): Make arg const char *. | |
822 | ||
572d275c UW |
823 | 2009-01-15 Ulrich Weigand <uweigand@de.ibm.com> |
824 | Tristan Gingold <gingold@adacore.com> | |
825 | ||
826 | * solist.h (struct target_so_ops): New member bfd_open. | |
827 | (solib_find): Add prototype. | |
828 | (solib_bfd_fopen): Add prototype. | |
829 | * solib.c (solib_find, solib_bfd_fopen): New functions, extracted | |
830 | from solib_bfd_open. | |
831 | (solib_bfd_open): Use ops->bfd_open override if present. Call | |
832 | solib_find and solib_bfd_open otherwise. | |
833 | ||
834 | * objfiles.h (OBJF_KEEPBFD): New define. | |
835 | * objfiles.c (free_objfile): Do not close BFD if OBJF_KEEPBFD | |
836 | objfile flag is set. | |
837 | * solib.c (symbol_add_stub): Do not allocate second BFD for | |
838 | shared library; use OBJF_KEEPBFD flag on solib objfile. | |
839 | ||
0701b271 UW |
840 | 2009-01-15 Ulrich Weigand <uweigand@de.ibm.com> |
841 | ||
842 | * frame.c (get_frame_arch): Abort if called with NULL this_frame. | |
843 | ||
61212c0f UW |
844 | 2009-01-15 Ulrich Weigand <uweigand@de.ibm.com> |
845 | ||
846 | * value.h (address_of_variable): Add prototype. | |
847 | (locate_var_value): Remove prototype. | |
848 | ||
849 | * findvar.c (read_var_value): Do not attempt to default frame | |
850 | to selected frame. | |
851 | (locate_var_value): Remove function. | |
852 | * valops.c (value_of_variable): Retrieve selected frame for | |
853 | symbols that require a frame when called with NULL block. | |
854 | * valops.c (address_of_variable): New function. | |
855 | ||
856 | * eval.c (evaluate_subexp_for_address): Call address_of_variable | |
857 | instead of calling locate_var_value. | |
858 | (evaluate_subexp_with_coercion): Likewise. | |
859 | ||
adb483fe DJ |
860 | 2009-01-14 Daniel Jacobowitz <dan@codesourcery.com> |
861 | ||
862 | * NEWS: Document "define" for prefixed commands. | |
863 | * cli/cli-cmds.c (show_user): Update calls to show_user_1. Call | |
864 | show_user_1 for prefix commands. | |
865 | * cli/cli-decode.c (help_cmd_list): Recurse for "help user-defined". | |
866 | * cli/cli-script.c (validate_comname): Rewrite to handle prefix | |
867 | commands. Return the containing command list. | |
868 | (define_command, document_command): Update to handle prefix commands. | |
869 | (show_user_1): Add prefix and name arguments. Handle prefix | |
870 | commands. | |
871 | * cli/cli-script.h (show_user_1): Update prototype. | |
872 | ||
a32d7317 KT |
873 | 2009-01-14 Kai Tietz <kai.tietz@onevision.com> |
874 | ||
875 | * mingw-ser.c (console_select_thread): Add return to make | |
876 | compiler happy. | |
877 | (pipe_select_thread): Likewise. | |
878 | (file_select_thread): Likewise. | |
879 | ||
041d0fd7 PA |
880 | 2009-01-14 Pedro Alves <pedro@codesourcery.com> |
881 | ||
882 | * mi/mi-main.c (mi_cmd_execute): Clean up parenthesis mess from | |
883 | previous change. | |
884 | ||
dc1981d7 PA |
885 | 2009-01-14 Pedro Alves <pedro@codesourcery.com> |
886 | ||
887 | * remote.c (extended_remote_mourn_1): Invalidate our notion of | |
888 | current general thread. | |
889 | ||
244bf9ae PA |
890 | 2009-01-14 Pedro Alves <pedro@codesourcery.com> |
891 | ||
892 | * mi/mi-main.c (mi_cmd_execute): Also allow -list-thread-groups | |
893 | without a live selected thread. | |
894 | ||
e4d013fc JB |
895 | 2009-01-14 Joel Brobecker <brobecker@adacore.com> |
896 | ||
897 | Update the copyright notice of some of the files I missed | |
898 | in the previous copyright update. | |
899 | ||
a588db63 JB |
900 | 2009-01-14 Joel Brobecker <brobecker@adacore.com> |
901 | ||
902 | * windows-nat.c (handle_unload_dll): Use %p to print the DLL | |
903 | base address instead of casting it to DWORD. | |
904 | ||
77a732d9 UW |
905 | 2009-01-13 Ulrich Weigand <uweigand@de.ibm.com> |
906 | ||
907 | * dwarf2loc.c (dwarf2_evaluate_loc_desc): Do not call get_frame_arch | |
908 | for NULL frame pointers. | |
909 | ||
773698b5 JB |
910 | 2009-01-13 Mark Kettenis <kettenis@gnu.org> |
911 | ||
912 | * utils.c (host_address_to_string): Reimplement in a way that | |
913 | avoids the cast of the address to long. | |
914 | ||
9918cab9 JB |
915 | 2009-01-13 Joel Brobecker <brobecker@adacore.com> |
916 | ||
917 | * mdebugread.c (parse_symbol): Save the symbol private data | |
918 | using SYMBOL_VALUE_BYTES instead of SYMBOL_VALUE. | |
919 | (psymtab_to_symtab_1): Likewise. | |
920 | (parse_procedure): Declare variable "e" only in the scope | |
921 | where it is used. Extract the symbol private data using | |
922 | SYMBOL_VALUE_BYTES. | |
923 | ||
74bcbdf3 PA |
924 | 2009-01-13 Jim Blandy <jimb@codesourcery.com> |
925 | ||
926 | Abstract out common code for copying value locations. | |
927 | ||
928 | * value.h (set_value_component_location): New declaration. | |
929 | * value.c (set_value_component_location): New function. | |
930 | (value_primitive_field): Use it. | |
931 | * valarith.c (value_subscript, value_subscripted_rvalue): Same. | |
932 | * valops.c (search_struct_field, value_slice): Same. | |
933 | * ada-lang.c (coerce_unspec_val_to_type) | |
934 | (ada_value_primitive_packed_val): Same. | |
935 | ||
d7dc3873 JB |
936 | 2009-01-13 Joel Brobecker <brobecker@adacore.com> |
937 | ||
938 | * MAINTAINERS (GLOBAL MAINTAINERS): Add Tom Tromey. | |
939 | ||
dc05df57 CF |
940 | 2009-01-12 Christopher Faylor <me+cygwin@cgf.cx> |
941 | ||
942 | * amd64-windows-nat.c Rename gdb-specific win32_* to windows_* | |
943 | throughout. | |
944 | * i386-cygwin-tdep.c: Ditto. | |
945 | * i386-windows-nat.c: Ditto. | |
946 | * windows-nat.h: Ditto. | |
947 | * windows-tdep.c: Ditto. | |
948 | * windows-tdep.h: Ditto. | |
949 | * windows-nat.c: Ditto. | |
950 | (cygwin_load_start): Redefine as CORE_ADDR. | |
951 | (cygwin_load_end): Ditto. | |
b8511eeb | 952 | (windows_make_so): Coerce result of address arithmetic to uintptr_t |
dc05df57 CF |
953 | before coercing to CORE_ADDR to avoid a compiler warning. |
954 | (handle_exception): Define addr as CORE_ADDR and coerce | |
955 | ExceptionAddress to uintptr_t before assigining to avoid a compiler | |
956 | warning. | |
957 | * config/djgpp/fnchange.lst: Add mappings for recently renamed windows | |
958 | files. | |
959 | ||
31b060a2 CF |
960 | 2009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com> |
961 | ||
962 | Fix linking with --enable-targets=all: | |
963 | * Makefile.in (ALL_TARGET_OBS): Add windows-tdep.o. | |
964 | (HFILES_NO_SRCDIR): Add windows-tdep.h. | |
965 | (ALLDEPFILES): Add windows-tdep.c. | |
966 | ||
967 | 2009-01-11 Christ Faylor <me.gdb@cgf.cx> | |
968 | ||
969 | * win32-nat.h: Delete. | |
970 | * windows-nat.h: Rename from win32-nat.h. | |
971 | * win32-nat.c: Delete. | |
972 | * windows-nat.c: Rename from win32-nat.c. | |
973 | * win32-termcap.c: Delete. | |
974 | * windows-termcap.c: Rename from win32-termcap.c. | |
975 | * amd64-windows-nat.c: Handle rename from win32-nat.h -> windows-nat.h. | |
976 | * configure.ac: Handle rename from win32-termcap.c -> | |
977 | windows-termcap.c. | |
978 | * configure: Regenerate. | |
979 | * gdb_curses.h: Change comment to reflect rename from win32-termcap.c | |
980 | -> windows-termcap.c. | |
981 | * i386-cygwin-tdep.c: Handle rename from win32-tdep.h -> | |
982 | windows-tdep.h. | |
983 | * i386-windows-nat.c: Refect rename from win32-nat.h -> windows-nat.h. | |
984 | * windows-nat.c: Ditto. Also reflect rename from from win32-tdep.h -> | |
985 | windows-tdep.h. | |
986 | (win32_make_so): Handle cygwin compiler warning due to change of | |
987 | load_addr from DWORD to LPVOID. | |
988 | (handle_load_dll): Use %p in format string to properly print address | |
989 | and avoid a compiler warning. | |
990 | (DEBUG_EXCEPTION_SIMPLE): Ditto. | |
991 | (handle_exception): Ditto. | |
992 | * windows-tdep.c: Handle rename from win32-tdep.h -> windows-tdep.h. | |
993 | * config/i386/cygwin.mh: Handle rename from win32-nat.o -> | |
994 | windows-nat.o. | |
995 | * config/i386/mingw.mh: Ditto. | |
996 | * config/i386/mingw64.mh: Ditto. | |
997 | ||
0311118f JK |
998 | 2009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com> |
999 | ||
1000 | * f-typeprint.c (f_type_print_varspec_suffix): Convert the autovariable | |
1001 | arrayprint_recurse_level to a parameter. Update all the callers. New | |
1002 | comment at autovariables. | |
1003 | ||
5f61c20e JK |
1004 | 2009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com> |
1005 | ||
1006 | * gdbtypes.c (make_qualified_type, replace_type): Reformat to the GNU | |
1007 | coding style. | |
1008 | ||
1009 | 2009-01-11 Joel Brobecker <brobecker@adacore.com> | |
53b71562 JB |
1010 | |
1011 | * target.c (target_xfer_partial): Use host_address_to_string to | |
1012 | print the address of readbuf and writebuf. Cast the address of | |
1013 | elements inside the myaddr buffer into intptr_t. | |
1014 | (deprecated_debug_xfer_memory): Use paddress to print memaddr. | |
1015 | Cast the address of elements inside the myaddr buffer into | |
1016 | intptr_t. | |
1017 | ||
5f61c20e | 1018 | 2009-01-11 Joel Brobecker <brobecker@adacore.com> |
d0761299 JB |
1019 | |
1020 | * amd64-windows-nat.c, amd64-windows-tdep.c: New files. | |
1021 | * config/i386/mingw64.mh, config/i386/nm-cygwin64.h: New files. | |
1022 | * configure.host, configure.tgt: Add handling for x86_64/windows. | |
1023 | * config/djgpp/fnchange.lst: Add entries for amd64-windows-nat.c | |
1024 | and amd64-windows-tdep.c. | |
1025 | ||
5f61c20e | 1026 | 2009-01-11 Joel Brobecker <brobecker@adacore.com> |
bfb87e33 JB |
1027 | |
1028 | * win32-tdep.h, win32-tdep.c: New files. | |
1029 | * i386-cygwin-tdep.h: Delete. | |
1030 | * i386-cygwin-tdep.c: Include win32-tdep.h instead of | |
1031 | i386-cygwin-tdep.h. | |
1032 | (win32_xfer_shared_library): Delete. Moved to win32-tdep.c. | |
1033 | * win32-nat.c: Likewise. | |
1034 | * configure.tgt: Add win32-tdep.o to the list of target object | |
1035 | files for i386-cygwin and i386-mingw targets. | |
1036 | ||
5f61c20e | 1037 | 2009-01-11 Joel Brobecker <brobecker@adacore.com> |
7e63b4e4 JB |
1038 | |
1039 | * win32-nat.h: New file. | |
1040 | * win32-nat.c (mappings): Initialize to NULL. | |
1041 | (win32_set_context_register_offsets): New function. | |
1042 | * i386-windows-nat.c: New file. | |
1043 | (mappings): Moved here from win32-nat.c. | |
1044 | (_initialize_i386_windows_nat): New function. | |
1045 | * config/i386/mingw.mh (NATDEPFILES): Add i386-windows-nat.o. | |
1046 | * config/i386/cygwin.mh (NATDEPFILES): Likewise. | |
1047 | ||
25fc6591 AS |
1048 | 2009-01-09 Andreas Schwab <schwab@suse.de> |
1049 | ||
1050 | * Makefile.in (init.c): Set LANG/LC_ALL to C, not c. | |
1051 | ||
87f70781 PA |
1052 | 2009-01-09 Daniel Jacobowitz <dan@codesourcery.com> |
1053 | ||
1054 | * gdbtypes.c (append_composite_type_field): Correct the location of | |
1055 | appended fields. | |
1056 | ||
58d4abe1 PA |
1057 | 2009-01-09 Pedro Alves <pedro@codesourcery.com> |
1058 | ||
1059 | * defs.h (deprecated_error_hook): Delete declaration. | |
1060 | * interps.c (clear_interpreter_hooks): Adjust. | |
1061 | * remote-sim.c (gdb_os_error): Don't try to call | |
1062 | deprecated_error_hook. No need to call exit anymore. | |
1063 | * top.c (deprecated_error_hook): Delete. | |
1064 | ||
e3cb3832 JB |
1065 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1066 | ||
1067 | * arch-utils.c (gdbarch_update_p): Use host_address_to_string | |
1068 | to print the address of the gdbarch pointer. | |
1069 | ||
30737ed9 JB |
1070 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1071 | ||
1072 | * gdbarch.sh: Fix all the compilation errors on amd64-windows | |
1073 | due to casting a pointer to a long when printing a function | |
1074 | address. Instead, use host_address_to_string to convert our | |
1075 | address to a string. | |
1076 | * gdbarch.c: Regenerate. | |
1077 | ||
ec4dfccf JB |
1078 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1079 | ||
1080 | * event-top.c (async_disconnect, async_stop_sig): use "raise" | |
1081 | instead of "kill" to raise a signal. | |
1082 | ||
d3653bf6 JB |
1083 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1084 | ||
1085 | * win32-nat.c (get_module_name): Change the type of parameter | |
1086 | "base_address" to LPVOID. Remove unnecessary cast. | |
1087 | (struct lm_info): Change type of load_addr to LPVOID. | |
1088 | (win32_make_so): Change the type of parameter "load_addr" | |
1089 | to LPVOID. Remove some unnecessary casts. | |
1090 | (handle_unload_dll): Change the type of "lpBaseOfDll" to LPVOID. | |
1091 | (win32_xfer_shared_libraries): Add missing cast. | |
1092 | ||
308a8808 JB |
1093 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1094 | ||
1095 | * win32-nat.c (has_detach_ability, set_process_privilege): | |
1096 | Cast the result of GetProcAddress to (void *) to avoid | |
1097 | a compilation warning. | |
1098 | ||
5851ab76 JB |
1099 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1100 | ||
1101 | * win32-nat.c (CONTEXT_EXTENDED_REGISTERS): Define to 0 if not | |
1102 | already defined. | |
1103 | ||
5732a500 JB |
1104 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1105 | ||
1106 | * win32-nat.c (get_image_name, win32_xfer_memory): Fix type | |
1107 | definition of local variable "done". | |
1108 | (info_w32_command, handle_exception): Remove unnecessary cast. | |
1109 | ||
def4de3a JB |
1110 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1111 | ||
1112 | * win32-nat.c (kernel32_DebugSetProcessKillOnExit): Renames | |
1113 | DebugSetProcessKillOnExit. Update all uses in this file. | |
1114 | (kernel32_DebugActiveProcessStop): Renames DebugActiveProcessStop. | |
1115 | Update all uses in this file. | |
1116 | ||
1117 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> | |
0795be10 JB |
1118 | |
1119 | * win32-nat.c (do_initial_win32_stuff): Add new ops parameter, | |
1120 | and use it when pushing the target. | |
1121 | (win32_attach, win32_create_inferior): Update call to | |
1122 | do_initial_win32_stuff. | |
1123 | (win32_detach, win32_mourn_inferior): Use our ops parameter | |
1124 | instead of the global win32_ops to unpush the target. | |
1125 | ||
1be7fe8d JB |
1126 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1127 | ||
1128 | * ser-mingw.c (ser_windows_open): Use proper type when casting | |
1129 | in call to _open_osfhandle. | |
1130 | ||
1dac1b47 KT |
1131 | 2009-01-09 Kai Tietz <kai.tietz@onevision.com> |
1132 | ||
1133 | * coff-pe-read.c (read_pe_exported_syms): Fix typo. | |
1134 | ||
ecf180db JB |
1135 | 2009-01-09 Joel Brobecker <brobecker@adacore.com> |
1136 | ||
1137 | * CONTRIBUTE: Minor reformatting. | |
1138 | ||
8234eceb KT |
1139 | 2009-01-08 Kai Tietz <kai.tietz@onevision.com> |
1140 | ||
1141 | * MAINTAINERS: Add myself to Write After Approval. | |
a68ddad5 KT |
1142 | * coff-pe-read.c (read_pe_exported_syms): Enable read of PE+ |
1143 | export directory. | |
8234eceb | 1144 | |
72ee8797 NF |
1145 | 2009-01-08 Nathan Froyd <froydnj@codesourcery.com> |
1146 | ||
1147 | * remote-sim.c (gdb_os_error): Mark as a noreturn function. | |
1148 | Call exit to make it obvious to GCC. | |
1149 | ||
f7545552 TT |
1150 | 2009-01-08 Tom Tromey <tromey@redhat.com> |
1151 | ||
1152 | PR breakpoints/9350: | |
1153 | * varobj.c (varobj_invalidate): Unconditionally free | |
1154 | all_rootvarobj. | |
1155 | * symfile.c (syms_from_objfile): Free local_addr when returning | |
1156 | normally. | |
1157 | * exec.c (exec_file_attach): Do cleanups before returning. | |
1158 | (exec_file_command): Likewise. | |
1159 | * corefile.c (reopen_exec_file): Do cleanups before returning. | |
1160 | * breakpoint.c (insert_breakpoint_locations): Do cleanups before | |
1161 | returning. | |
1162 | (do_vec_free): New function. | |
1163 | (update_global_location_list): Make a cleanup for old_locations. | |
1164 | Do cleanups before returning. Remove unused variable 'e'. | |
1165 | (find_condition_and_thread): Free result of parsing the | |
1166 | expression. | |
1167 | (print_it_typical): Do cleanups before returning. | |
1168 | (breakpoint_re_set_one): Always free sals.sals. | |
1169 | ||
dde02812 ES |
1170 | 2009-01-08 Joel Brobecker <brobecker@adacore.com> |
1171 | Emi Suzuki <emi-suzuki@tjsys.co.jp> | |
1172 | ||
1173 | * breakpoint.c (do_enable_breakpoint): Use update_watchpoint for | |
1174 | watchpoints. | |
1175 | ||
69bcc6bc DE |
1176 | 2009-01-07 Doug Evans <dje@google.com> |
1177 | ||
1178 | * top.c (gdb_prompt_string): Delete, unused. | |
1179 | ||
fa3a767f PA |
1180 | 2009-01-07 Pedro Alves <pedro@codesourcery.com> |
1181 | ||
1182 | Delete ONE_PROCESS_WRITETEXT leftovers. | |
1183 | ||
1184 | * breakpoint.c (insert_bp_location): Delete process_warning | |
1185 | argument. Adjust. | |
1186 | (insert_breakpoint_locations): Adjust. | |
1187 | (reattach_breakpoints): Adjust. | |
1188 | * infrun.c (normal_stop): Drop "It might be running in another | |
1189 | process" notice. | |
1190 | ||
7b93f36d SS |
1191 | 2009-01-07 Stan Shebs <stan@codesourcery.com> |
1192 | ||
1193 | * config/pa/linux.mh (XDEPFILES): Remove. | |
1194 | ||
0380c18b DE |
1195 | 2009-01-07 Doug Evans <dje@google.com> |
1196 | ||
1197 | * cli/cli-cmds.c (set_debug): Fix cut-n-paste error. | |
1198 | ||
60023297 JK |
1199 | 2009-01-07 Jan Kratochvil <jan.kratochvil@redhat.com> |
1200 | ||
1201 | * f-typeprint.c (f_type_print_base <TYPE_CODE_STRUCT>): Fix output | |
1202 | spacing, a regression from 2008-04-22. | |
1203 | ||
ea8992ce JB |
1204 | 2009-01-07 Joel Brobecker <brobecker@adacore.com> |
1205 | ||
1206 | * utils.c (gdb_print_host_address): Adjust implementation to | |
1207 | reuse host_address_to_string. Move comment explaining the conversion | |
1208 | from host address to string from here... | |
1209 | (host_address_to_string): ... to there. | |
1210 | ||
301d2c47 ES |
1211 | 2009-01-07 Emi Suzuki <emi-suzuki@tjsys.co.jp> |
1212 | ||
1213 | * MAINTAINERS: Add myself for write after approval privileges. | |
1214 | ||
170ce852 TT |
1215 | 2009-01-06 Tom Tromey <tromey@redhat.com> |
1216 | ||
1217 | * value.c (set_internalvar): Use value_free, not xfree. | |
1218 | ||
fdb7262a JB |
1219 | 2009-01-06 Jim Blandy <jimb@red-bean.com> |
1220 | ||
bf1d7d9c JB |
1221 | Check return values of functions declared with warn_unused_result |
1222 | attribute in GLIBC 2.8. | |
1223 | * cli/cli-cmds.c (pwd_command): Check return value from getcwd. | |
1224 | * inflow.c (check_syscall): New function. | |
1225 | (new_tty): Use check_syscall to check return values from open and dup. | |
1226 | * linux-nat.c (linux_nat_info_proc_cmd): Check return value from fgets. | |
1227 | * main.c (captured_main): Call cwd after setting up gdb_stderr; | |
1228 | check for errors from getcwd. | |
1229 | * mi/mi-cmd-env.c (mi_cmd_env_pwd): Check return value from getcwd. | |
1230 | * ui-file.c (stdio_file_write): Ignore return value from fwrite. | |
1231 | (stdio_file_fputs): Same. | |
1232 | * utils.c (internal_vproblem): abort if last-ditch error message | |
1233 | write fails. | |
1234 | ||
fdb7262a JB |
1235 | * top.c (gdb_init): Don't set the current directory here; that's |
1236 | already been done in captured_main. | |
1237 | ||
84603566 SL |
1238 | 2009-01-06 Sandra Loosemore <sandra@codesourcery.com> |
1239 | ||
1240 | * ser-tcp.c: Adjust includes. | |
1241 | (tcp_set_cmdlist, tcp_show_cmdlist): Declare. | |
1242 | (tcp_auto_retry, tcp_retry_limit): Declare. | |
1243 | (TIMEOUT): Remove, in favor of tcp_retry_limit. | |
1244 | (POLL_INTERVAL): Increase to 5, in favor of backoff logic. | |
1245 | (wait_for_connect): New function. | |
1246 | (net_open): Use it. Add auto-retry logic. | |
1247 | (set_tcp_cmd, show_tcp_cmd): New functions. | |
1248 | (_initialize_ser_tcp): Initialize new "set/show tcp auto-retry" | |
1249 | and "set/show tcp connect-timeout" commands. | |
1250 | * NEWS: Document new commands. | |
1251 | ||
5171e6b3 TT |
1252 | 2009-01-05 Tom Tromey <tromey@redhat.com> |
1253 | ||
1254 | * python/python-internal.h (Py_ssize_t): Define as int. | |
1255 | ||
a367a1f2 JB |
1256 | 2009-01-05 Jim Blandy <jimb@red-bean.com> |
1257 | ||
1258 | * MAINTAINERS: Fix my e-mail address as steering committee member. | |
1259 | ||
0fb0cc75 JB |
1260 | 2009-01-03 Joel Brobecker <brobecker@adacore.com> |
1261 | ||
1262 | Updated copyright notices for most files. | |
1263 | ||
c9fc347d JB |
1264 | 2009-01-03 Joel Brobecker <brobecker@adacore.com> |
1265 | ||
1266 | * top.c (print_gdb_version): Update copyright year. | |
1267 | ||
a85d99b4 JB |
1268 | 2009-01-03 Joel Brobecker <brobecker@adacore.com> |
1269 | ||
1270 | * config/djgpp/fnchange.lst: Add entry for ChangeLog-2008. | |
1271 | ||
4d78a120 JB |
1272 | 2009-01-01 Pedro Alves <pedro@codesourcery.com> |
1273 | ||
1274 | PR breakpoints/9681: | |
1275 | * exceptions.h (enum errors): New error type, MEMORY_ERROR. | |
1276 | * corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR. | |
1277 | * breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but | |
1278 | retrow all other exceptions. | |
1279 | ||
67de2a4c | 1280 | For older changes see ChangeLog-2008. |
c906108c SS |
1281 | \f |
1282 | Local Variables: | |
1283 | mode: change-log | |
1284 | left-margin: 8 | |
1285 | fill-column: 74 | |
1286 | version-control: never | |
57da7796 | 1287 | coding: utf-8 |
c906108c | 1288 | End: |