Darwin: fix SIGTRAP when debugging
[external/binutils.git] / gdb / ChangeLog
1 2018-09-11  Xavier Roirand  <roirand@adacore.com>
2
3         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
4         inf_port, msg_state>: Initialize.
5         (struct darwin_thread_info) <signaled, single_step>: Change
6         type and initialize.
7         (struct darwin_thread_info) <event>: Initialize.
8
9 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
10
11         PR gdb/23555
12         PR gdb/23558
13         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
14         guesses.
15
16 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
17
18         Revert:
19         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
20
21         PR gdb/23555
22         PR gdb/23558
23         * gnulib/aclocal.m4: Regenerate.
24         * gnulib/config.in: Regenerate.
25         * gnulib/configure: Regenerate.
26         * gnulib/import/Makefile.am: Update.
27         * gnulib/import/Makefile.in: Update.
28         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
29         * gnulib/import/_Noreturn.h: ... this.
30         * gnulib/import/alloca.in.h: Update.
31         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
32         * gnulib/import/arg-nonnull.h: ... this.
33         * gnulib/import/assure.h: Update.
34         * gnulib/import/at-func.c: Update.
35         * gnulib/import/basename-lgpl.c: Update.
36         * gnulib/import/extra/snippet/c++defs.h: Rename to...
37         * gnulib/import/c++defs.h: ... this.
38         * gnulib/import/canonicalize-lgpl.c: Update.
39         * gnulib/import/cdefs.h: Update.
40         * gnulib/import/chdir-long.c: Update.
41         * gnulib/import/chdir-long.h: Update.
42         * gnulib/import/cloexec.c: Update.
43         * gnulib/import/cloexec.h: Update.
44         * gnulib/import/close.c: Update.
45         * gnulib/import/closedir.c: Update.
46         * gnulib/import/config.charset: Update.
47         * gnulib/import/dirent-private.h: Update.
48         * gnulib/import/dirent.in.h: Update.
49         * gnulib/import/dirfd.c: Update.
50         * gnulib/import/dirname-lgpl.c: Update.
51         * gnulib/import/dirname.h: Update.
52         * gnulib/import/dosname.h: Update.
53         * gnulib/import/dup-safer-flag.c: Update.
54         * gnulib/import/dup-safer.c: Update.
55         * gnulib/import/dup.c: Update.
56         * gnulib/import/dup2.c: Update.
57         * gnulib/import/errno.in.h: Update.
58         * gnulib/import/error.c: Update.
59         * gnulib/import/error.h: Update.
60         * gnulib/import/exitfail.c: Update.
61         * gnulib/import/exitfail.h: Update.
62         * gnulib/import/extra/update-copyright: Update.
63         * gnulib/import/fchdir.c: Update.
64         * gnulib/import/fcntl.c: Update.
65         * gnulib/import/fcntl.in.h: Update.
66         * gnulib/import/fd-hook.c: Update.
67         * gnulib/import/fd-hook.h: Update.
68         * gnulib/import/fd-safer-flag.c: Update.
69         * gnulib/import/fd-safer.c: Update.
70         * gnulib/import/fdopendir.c: Update.
71         * gnulib/import/filename.h: Update.
72         * gnulib/import/filenamecat-lgpl.c: Update.
73         * gnulib/import/filenamecat.h: Update.
74         * gnulib/import/flexmember.h: Update.
75         * gnulib/import/float+.h: Update.
76         * gnulib/import/float.c: Update.
77         * gnulib/import/float.in.h: Update.
78         * gnulib/import/fnmatch.c: Update.
79         * gnulib/import/fnmatch.in.h: Update.
80         * gnulib/import/fnmatch_loop.c: Update.
81         * gnulib/import/fpucw.h: Update.
82         * gnulib/import/frexp.c: Update.
83         * gnulib/import/frexpl.c: Update.
84         * gnulib/import/fstat.c: Update.
85         * gnulib/import/fstatat.c: Update.
86         * gnulib/import/getcwd-lgpl.c: Update.
87         * gnulib/import/getcwd.c: Update.
88         * gnulib/import/getdtablesize.c: Update.
89         * gnulib/import/getlogin_r.c: Update.
90         * gnulib/import/getprogname.c: Update.
91         * gnulib/import/getprogname.h: Update.
92         * gnulib/import/gettext.h: Update.
93         * gnulib/import/gettimeofday.c: Update.
94         * gnulib/import/glob-libc.h: Update.
95         * gnulib/import/glob.c: Update.
96         * gnulib/import/glob.in.h: Update.
97         * gnulib/import/glob_internal.h: Update.
98         * gnulib/import/glob_pattern_p.c: Update.
99         * gnulib/import/globfree.c: Update.
100         * gnulib/import/hard-locale.c: Update.
101         * gnulib/import/hard-locale.h: Update.
102         * gnulib/import/intprops.h: Update.
103         * gnulib/import/inttypes.in.h: Update.
104         * gnulib/import/isnan.c: Update.
105         * gnulib/import/isnand-nolibm.h: Update.
106         * gnulib/import/isnand.c: Update.
107         * gnulib/import/isnanl-nolibm.h: Update.
108         * gnulib/import/isnanl.c: Update.
109         * gnulib/import/itold.c: Update.
110         * gnulib/import/libc-config.h: Update.
111         * gnulib/import/limits.in.h: Update.
112         * gnulib/import/localcharset.c: Update.
113         * gnulib/import/localcharset.h: Update.
114         * gnulib/import/localtime-buffer.c: Update.
115         * gnulib/import/localtime-buffer.h: Update.
116         * gnulib/import/lstat.c: Update.
117         * gnulib/import/m4/00gnulib.m4: Update.
118         * gnulib/import/m4/__inline.m4: Update.
119         * gnulib/import/m4/absolute-header.m4: Update.
120         * gnulib/import/m4/alloca.m4: Update.
121         * gnulib/import/m4/builtin-expect.m4: Update.
122         * gnulib/import/m4/canonicalize.m4: Update.
123         * gnulib/import/m4/chdir-long.m4: Update.
124         * gnulib/import/m4/close.m4: Update.
125         * gnulib/import/m4/closedir.m4: Update.
126         * gnulib/import/m4/configmake.m4: Update.
127         * gnulib/import/m4/d-ino.m4: Update.
128         * gnulib/import/m4/d-type.m4: Update.
129         * gnulib/import/m4/dirent_h.m4: Update.
130         * gnulib/import/m4/dirfd.m4: Update.
131         * gnulib/import/m4/dirname.m4: Update.
132         * gnulib/import/m4/double-slash-root.m4: Update.
133         * gnulib/import/m4/dup.m4: Update.
134         * gnulib/import/m4/dup2.m4: Update.
135         * gnulib/import/m4/eealloc.m4: Update.
136         * gnulib/import/m4/environ.m4: Update.
137         * gnulib/import/m4/errno_h.m4: Update.
138         * gnulib/import/m4/error.m4: Update.
139         * gnulib/import/m4/exponentd.m4: Update.
140         * gnulib/import/m4/exponentl.m4: Update.
141         * gnulib/import/m4/extensions.m4: Update.
142         * gnulib/import/m4/extern-inline.m4: Update.
143         * gnulib/import/m4/fchdir.m4: Update.
144         * gnulib/import/m4/fcntl-o.m4: Update.
145         * gnulib/import/m4/fcntl.m4: Update.
146         * gnulib/import/m4/fcntl_h.m4: Update.
147         * gnulib/import/m4/fdopendir.m4: Update.
148         * gnulib/import/m4/filenamecat.m4: Update.
149         * gnulib/import/m4/flexmember.m4: Update.
150         * gnulib/import/m4/float_h.m4: Update.
151         * gnulib/import/m4/fnmatch.m4: Update.
152         * gnulib/import/m4/fnmatch_h.m4: Update.
153         * gnulib/import/m4/fpieee.m4: Update.
154         * gnulib/import/m4/frexp.m4: Update.
155         * gnulib/import/m4/frexpl.m4: Update.
156         * gnulib/import/m4/fstat.m4: Update.
157         * gnulib/import/m4/fstatat.m4: Update.
158         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
159         * gnulib/import/m4/getcwd-path-max.m4: Update.
160         * gnulib/import/m4/getcwd.m4: Update.
161         * gnulib/import/m4/getdtablesize.m4: Update.
162         * gnulib/import/m4/getlogin.m4: Update.
163         * gnulib/import/m4/getlogin_r.m4: Update.
164         * gnulib/import/m4/getpagesize.m4: Update.
165         * gnulib/import/m4/getprogname.m4: Update.
166         * gnulib/import/m4/gettimeofday.m4: Update.
167         * gnulib/import/m4/glibc21.m4: Update.
168         * gnulib/import/m4/glob.m4: Update.
169         * gnulib/import/m4/glob_h.m4: Update.
170         * gnulib/import/m4/gnulib-cache.m4: Update.
171         * gnulib/import/m4/gnulib-common.m4: Update.
172         * gnulib/import/m4/gnulib-comp.m4: Update.
173         * gnulib/import/m4/gnulib-tool.m4: Update.
174         * gnulib/import/m4/hard-locale.m4: Update.
175         * gnulib/import/m4/include_next.m4: Update.
176         * gnulib/import/m4/inttypes-pri.m4: Update.
177         * gnulib/import/m4/inttypes.m4: Update.
178         * gnulib/import/m4/isnand.m4: Update.
179         * gnulib/import/m4/isnanl.m4: Update.
180         * gnulib/import/m4/largefile.m4: Update.
181         * gnulib/import/m4/limits-h.m4: Update.
182         * gnulib/import/m4/localcharset.m4: Update.
183         * gnulib/import/m4/locale-fr.m4: Update.
184         * gnulib/import/m4/locale-ja.m4: Update.
185         * gnulib/import/m4/locale-zh.m4: Update.
186         * gnulib/import/m4/localtime-buffer.m4: Update.
187         * gnulib/import/m4/longlong.m4: Update.
188         * gnulib/import/m4/lstat.m4: Update.
189         * gnulib/import/m4/malloc.m4: Update.
190         * gnulib/import/m4/malloca.m4: Update.
191         * gnulib/import/m4/math_h.m4: Update.
192         * gnulib/import/m4/mbrtowc.m4: Update.
193         * gnulib/import/m4/mbsinit.m4: Update.
194         * gnulib/import/m4/mbsrtowcs.m4: Update.
195         * gnulib/import/m4/mbstate_t.m4: Update.
196         * gnulib/import/m4/memchr.m4: Update.
197         * gnulib/import/m4/memmem.m4: Update.
198         * gnulib/import/m4/mempcpy.m4: Update.
199         * gnulib/import/m4/memrchr.m4: Update.
200         * gnulib/import/m4/mkdir.m4: Update.
201         * gnulib/import/m4/mkstemp.m4: Update.
202         * gnulib/import/m4/mmap-anon.m4: Update.
203         * gnulib/import/m4/mode_t.m4: Update.
204         * gnulib/import/m4/msvc-inval.m4: Update.
205         * gnulib/import/m4/msvc-nothrow.m4: Update.
206         * gnulib/import/m4/multiarch.m4: Update.
207         * gnulib/import/m4/nocrash.m4: Update.
208         * gnulib/import/m4/off_t.m4: Update.
209         * gnulib/import/m4/onceonly.m4: Update.
210         * gnulib/import/m4/open-cloexec.m4: Update.
211         * gnulib/import/m4/open.m4: Update.
212         * gnulib/import/m4/openat.m4: Update.
213         * gnulib/import/m4/opendir.m4: Update.
214         * gnulib/import/m4/pathmax.m4: Update.
215         * gnulib/import/m4/rawmemchr.m4: Update.
216         * gnulib/import/m4/readdir.m4: Update.
217         * gnulib/import/m4/readlink.m4: Update.
218         * gnulib/import/m4/realloc.m4: Update.
219         * gnulib/import/m4/rename.m4: Update.
220         * gnulib/import/m4/rewinddir.m4: Update.
221         * gnulib/import/m4/rmdir.m4: Update.
222         * gnulib/import/m4/save-cwd.m4: Update.
223         * gnulib/import/m4/secure_getenv.m4: Update.
224         * gnulib/import/m4/setenv.m4: Update.
225         * gnulib/import/m4/signal_h.m4: Update.
226         * gnulib/import/m4/ssize_t.m4: Update.
227         * gnulib/import/m4/stat-time.m4: Update.
228         * gnulib/import/m4/stat.m4: Update.
229         * gnulib/import/m4/std-gnu11.m4: Update.
230         * gnulib/import/m4/stdbool.m4: Update.
231         * gnulib/import/m4/stddef_h.m4: Update.
232         * gnulib/import/m4/stdint.m4: Update.
233         * gnulib/import/m4/stdio_h.m4: Update.
234         * gnulib/import/m4/stdlib_h.m4: Update.
235         * gnulib/import/m4/strchrnul.m4: Update.
236         * gnulib/import/m4/strdup.m4: Update.
237         * gnulib/import/m4/strerror.m4: Update.
238         * gnulib/import/m4/string_h.m4: Update.
239         * gnulib/import/m4/strstr.m4: Update.
240         * gnulib/import/m4/strtok_r.m4: Update.
241         * gnulib/import/m4/sys_socket_h.m4: Update.
242         * gnulib/import/m4/sys_stat_h.m4: Update.
243         * gnulib/import/m4/sys_time_h.m4: Update.
244         * gnulib/import/m4/sys_types_h.m4: Update.
245         * gnulib/import/m4/tempname.m4: Update.
246         * gnulib/import/m4/time_h.m4: Update.
247         * gnulib/import/m4/unistd-safer.m4: Update.
248         * gnulib/import/m4/unistd_h.m4: Update.
249         * gnulib/import/m4/warn-on-use.m4: Update.
250         * gnulib/import/m4/wchar_h.m4: Update.
251         * gnulib/import/m4/wchar_t.m4: Update.
252         * gnulib/import/m4/wctype_h.m4: Update.
253         * gnulib/import/m4/wint_t.m4: Update.
254         * gnulib/import/malloc.c: Update.
255         * gnulib/import/malloc/scratch_buffer.h: Update.
256         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
257         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
258         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
259         * gnulib/import/malloca.c: Update.
260         * gnulib/import/malloca.h: Update.
261         * gnulib/import/malloca.valgrind: Update.
262         * gnulib/import/math.in.h: Update.
263         * gnulib/import/mbrtowc.c: Update.
264         * gnulib/import/mbsinit.c: Update.
265         * gnulib/import/mbsrtowcs-impl.h: Update.
266         * gnulib/import/mbsrtowcs-state.c: Update.
267         * gnulib/import/mbsrtowcs.c: Update.
268         * gnulib/import/memchr.c: Update.
269         * gnulib/import/memmem.c: Update.
270         * gnulib/import/mempcpy.c: Update.
271         * gnulib/import/memrchr.c: Update.
272         * gnulib/import/mkdir.c: Update.
273         * gnulib/import/mkstemp.c: Update.
274         * gnulib/import/msvc-inval.c: Update.
275         * gnulib/import/msvc-inval.h: Update.
276         * gnulib/import/msvc-nothrow.c: Update.
277         * gnulib/import/msvc-nothrow.h: Update.
278         * gnulib/import/open.c: Update.
279         * gnulib/import/openat-die.c: Update.
280         * gnulib/import/openat-priv.h: Update.
281         * gnulib/import/openat-proc.c: Update.
282         * gnulib/import/openat.c: Update.
283         * gnulib/import/openat.h: Update.
284         * gnulib/import/opendir.c: Update.
285         * gnulib/import/pathmax.h: Update.
286         * gnulib/import/pipe-safer.c: Update.
287         * gnulib/import/rawmemchr.c: Update.
288         * gnulib/import/readdir.c: Update.
289         * gnulib/import/readlink.c: Update.
290         * gnulib/import/realloc.c: Update.
291         * gnulib/import/ref-add.sin: Update.
292         * gnulib/import/ref-del.sin: Update.
293         * gnulib/import/rename.c: Update.
294         * gnulib/import/rewinddir.c: Update.
295         * gnulib/import/rmdir.c: Update.
296         * gnulib/import/same-inode.h: Update.
297         * gnulib/import/save-cwd.c: Update.
298         * gnulib/import/save-cwd.h: Update.
299         * gnulib/import/scratch_buffer.h: Update.
300         * gnulib/import/secure_getenv.c: Update.
301         * gnulib/import/setenv.c: Update.
302         * gnulib/import/signal.in.h: Update.
303         * gnulib/import/stat-time.c: Update.
304         * gnulib/import/stat-time.h: Update.
305         * gnulib/import/stat-w32.c: Update.
306         * gnulib/import/stat-w32.h: Update.
307         * gnulib/import/stat.c: Update.
308         * gnulib/import/stdbool.in.h: Update.
309         * gnulib/import/stddef.in.h: Update.
310         * gnulib/import/stdint.in.h: Update.
311         * gnulib/import/stdio.in.h: Update.
312         * gnulib/import/stdlib.in.h: Update.
313         * gnulib/import/str-two-way.h: Update.
314         * gnulib/import/strchrnul.c: Update.
315         * gnulib/import/strdup.c: Update.
316         * gnulib/import/streq.h: Update.
317         * gnulib/import/strerror-override.c: Update.
318         * gnulib/import/strerror-override.h: Update.
319         * gnulib/import/strerror.c: Update.
320         * gnulib/import/string.in.h: Update.
321         * gnulib/import/stripslash.c: Update.
322         * gnulib/import/strnlen1.c: Update.
323         * gnulib/import/strnlen1.h: Update.
324         * gnulib/import/strstr.c: Update.
325         * gnulib/import/strtok_r.c: Update.
326         * gnulib/import/sys_stat.in.h: Update.
327         * gnulib/import/sys_time.in.h: Update.
328         * gnulib/import/sys_types.in.h: Update.
329         * gnulib/import/tempname.c: Update.
330         * gnulib/import/tempname.h: Update.
331         * gnulib/import/time.in.h: Update.
332         * gnulib/import/unistd--.h: Update.
333         * gnulib/import/unistd-safer.h: Update.
334         * gnulib/import/unistd.in.h: Update.
335         * gnulib/import/unsetenv.c: Update.
336         * gnulib/import/verify.h: Update.
337         * gnulib/import/extra/snippet/warn-on-use.h: Update.
338         * gnulib/import/wchar.in.h: Update.
339         * gnulib/import/wctype.in.h: Update.
340         * gnulib/import/xalloc-oversized.h: Update.
341         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
342         "53e2c179f26a890fa6685af4b6c1397ee370433b".
343
344 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
345
346         * record-btrace.c (get_thread_current_frame): Remove
347         old_inferior_ptid.
348
349 2018-09-10  Jerome Guitton  <guitton@adacore.com>
350
351         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
352         with check_tag to 1 if and only if the type is tagged and the
353         component being searched cannot been found in the current
354         view. Otherwise, always call ada_to_fixed_type with
355         check_tag to 0.
356
357 2018-09-10  Xavier Roirand  <roirand@adacore.com>
358
359         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
360         declaration.
361         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
362         * ada-varobj.c (ada_varobj_get_number_of_children,
363         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
364
365 2018-09-10  Xavier Roirand  <roirand@adacore.com>
366
367         * ada-valprint.c (ada_value_print): Use type instead of
368         enclosing type.
369
370 2018-09-10  Xavier Roirand  <roirand@adacore.com>
371
372         * ada-lang.c (ada_value_subscript): Handle case when parameter is
373         an array of access to unconstrained array.
374
375 2018-09-10  Xavier Roirand  <roirand@adacore.com>
376
377         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
378         (ada_check_typedef): Use it.
379
380 2018-09-10  Xavier Roirand  <roirand@adacore.com>
381
382         * ada-varobj.c (ada_varobj_describe_struct_child)
383         (ada_varobj_describe_child): Handle union case like struct one.
384
385 2018-09-10  Tom Tromey  <tom@tromey.com>
386
387         PR python/18380:
388         * python/python.c (_initialize_python): Make example in "python"
389         help work in Python 3.
390
391 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
392
393         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
394         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
395         $(EXEEXT) to the script, as it is not a program.
396
397 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
398
399         * python/py-prettyprint.c (pretty_print_one_value): Return
400         gdbpy_ref<>.
401         (print_string_repr): Adjust.
402         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
403         * python/python-internal.h (apply_varobj_pretty_printer): Return
404         gdbpy_ref<>.
405         * varobj.c (varobj_value_get_print_value): Adjust.
406
407 2018-09-08  Tom Tromey  <tom@tromey.com>
408
409         PR python/16047:
410         * python/py-prettyprint.c (pretty_print_one_value): Check for
411         to_string method.
412
413 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
414
415         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
416         replace_operator_with_call.
417
418 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
419
420         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
421
422 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
423
424         * ada-typeprint.c (print_range): Print the bounds using TYPE
425         rather than its TYPE_TARGET_TYPE.
426
427 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
428
429         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
430         call to ada_to_fixed_value_create.
431
432 2018-09-08  Jerome Guitton  <guitton@adacore.com>
433
434         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
435
436 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
437
438         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
439         by calls to error.
440
441 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
442
443         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
444         Move update of loop variable "fi".
445
446 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
447
448         * ada-lang.c (value_assign_to_component): In the case of
449         big-endian targets, extract the bits of the given VAL
450         using an src_offset of zero if container is not a scalar.
451
452 2018-09-06  Simon Ser  <contact@emersion.fr>
453
454         PR gdb/23105
455         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
456         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
457         * fbsd-tdep.c (fbsd_make_note_desc): New.
458         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
459         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
460         * target.h (enum target_object) Add FreeBSD-specific
461         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
462
463 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
464
465         * compile/compile-c.h (generate_c_for_variable_locations):
466         Change reference to pointer.
467         * compile/compile-c-support.c (compile_program) <compute>:
468         Likewise.
469         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
470         (generate_c_for_for_one_variable): Likewise
471         (generate_c_for_variable_locations): Likewise
472         * compile/compile-c-types.c (compile_c_instance::convert_type):
473         Likewise
474         * compile/compile-cplus-symbols.c (convert_one_symbol):
475         std::move the scope passed to enter_scope.
476         * compile/compile-cplus-types.c
477         (compile_cplus_instance::enter_scope): Make parameter
478         rvalue-reference.
479         (compile_cplus_instance::new_scope): Change reference to
480         pointer.
481         (compile_cplus_instance::convert_type): Likewise
482         (compile_cplus_convert_typedef): std::move the scope passed to
483         enter_scope.
484         (compile_cplus_convert_struct_or_union): Likewise.
485         (compile_cplus_convert_enum): Likewise.
486         (compile_cplus_convert_namespace): Likewise.
487         * compile/compile-cplus.h (compile_cplus_instance)
488         <enter_scope>: Make parameter rvalue-reference.
489         * compile/compile-internal.h (compile_instance)
490         <get_cached_type>: Likewise
491         * compile/compile-loc2c.c (push): Likewise
492         (pushf): Likewise
493         (unary): Likewise
494         (binary): Likewise
495         (print_label): Likewise
496         (pushf_register_address): Likewise
497         (pushf_register): Likewise
498         (do_compile_dwarf_expr_to_c): Likewise
499         (compile_dwarf_expr_to_c): Likewise
500         (compile_dwarf_bounds_to_c): Likewise
501         * compile/compile.c (compile_instance::get_cached_type):
502         Likewise
503         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
504         (compile_dwarf_bounds_to_c): Likewise
505         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
506         (dwarf2_compile_property_to_c): Likewise
507         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
508         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
509         Likewise
510
511 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
512
513         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
514         * tui/tui-data.c (init_content_element): Don't initialize it.
515
516 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
517
518         * tui/tui-data.h (struct tui_win_info)
519         <detail::opaque>: Remove.
520         * tui/tui-data.c (init_win_info): Remove assignment.
521
522 2018-09-05  Tom Tromey  <tom@tromey.com>
523
524         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
525         -Wformat-nonliteral.
526         * target-float.c (host_float_ops<T>::to_string)
527         (host_float_ops<T>::from_string): Use
528         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
529         * configure: Rebuild.
530
531 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
532
533         * printcmd.c (printf_c_string): Use
534         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
535         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
536
537 2018-09-05  Tom Tromey  <tom@tromey.com>
538
539         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
540
541 2018-09-05  Tom de Vries  <tdevries@suse.de>
542
543         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
544         with resolve_abstract_p == true.
545         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
546         defaulting to false. Propagate resolve_abstract_p to
547         dwarf2_fetch_die_loc_sect_off.
548         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
549         parameter, defaulting to false.
550         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
551         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
552         parameter.
553         * dwarf2read.h (struct die_info): Forward-declare.
554         (die_info_ptr): New typedef.
555         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
556
557 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
558
559         GDB 8.2 released.
560
561 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
562             Pedro Alves  <palves@redhat.com>
563
564         * gnulib/Makefile.in (aclocal_m4_deps): Move to
565         "aclocal-m4-deps.mk".  Include file here.
566         $(srcdir)/aclocal.m4: Add "configure.ac".
567         * gnulib/aclocal-m4-deps.mk: New file.
568         * gnulib/update-gnulib.sh: Automatically update
569         "aclocal-m4-deps.mk".
570
571 2018-09-04  Tom Tromey  <tom@tromey.com>
572
573         * configure: Rebuild.
574         * configure.ac: Remove multi-ice code.
575
576 2018-09-04  Tom Tromey  <tom@tromey.com>
577
578         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
579         (ada-exp.o): Update.
580
581 2018-09-04  Tom Tromey  <tom@tromey.com>
582
583         * Makefile.in (printcmd.o, target-float.o): Remove.
584         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
585
586 2018-09-04  Tom Tromey  <tom@tromey.com>
587
588         * gnulib/Makefile.in: Remove obsolete comment.
589         * Makefile.in: Remove obsolete comment.
590
591 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
592
593         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
594         line with '+'.
595
596 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
597
598         * riscv-tdep.c: Add 'prologue-value.h' include.
599         (struct riscv_unwind_cache): New struct.
600         (riscv_debug_unwinder): New global.
601         (riscv_scan_prologue): Update arguments, capture register details
602         from prologue scan.
603         (riscv_skip_prologue): Reformat arguments line, move end of
604         prologue calculation into riscv_scan_prologue.
605         (riscv_frame_cache): Update return type, create
606         riscv_unwind_cache, scan the prologue, and fill in remaining cache
607         details.
608         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
609         (riscv_frame_prev_register): Use the trad_frame within the
610         riscv_unwind_cache.
611         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
612         flag.
613
614 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
615
616         * trad-frame.h (trad_frame_set_realreg): Declare.
617         (trad_frame_set_addr): Declare.
618         * trad-frame.c (trad_frame_set_realreg): Define new function.
619         (trad_frame_set_addr): Define new function.
620         (trad_frame_set_reg_realreg): Use new function.
621         (trad_frame_set_reg_addr): Use new function.
622
623 2018-09-01  Keith Seitz  <keiths@redhat.com>
624
625         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
626         pulongest instead of "%lld".
627         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
628         ATTRIBUTE_UNUSED.
629
630 2018-08-31  Tom Tromey  <tom@tromey.com>
631
632         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
633         variant part type.
634
635 2018-08-31  Pedro Alves  <palves@redhat.com>
636
637         * gdbarch.h: Regenerate.
638
639 2018-08-31  Pedro Alves  <palves@redhat.com>
640
641         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
642         * target.h (Hardware watchpoint interfaces): Describe
643         continuable/steppable/non-steppable watchpoints.
644         * gdbarch.h, gdbarch.c: Regenerate.
645
646 2018-08-31  Pedro Alves  <palves@redhat.com>
647
648         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
649         Delete.
650         * s390-linux-nat.c
651         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
652         * target.h (target_ops::have_continuable_watchpoint): Delete.
653         (target_have_continuable_watchpoint): Delete.
654         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
655         * target-delegates.c: Regenerate.
656
657 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
658
659         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
660         the files present in "gnulib/import/m4/".
661
662 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
663
664         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
665         c.sw, c.swsp, and c.sdsp.
666
667 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
668
669         * riscv-tdep.c (struct riscv_inferior_data): Delete.
670         (riscv_read_misa_reg): Don't cache value read into inferior data.
671         (riscv_new_inferior_data): Delete.
672         (riscv_inferior_data_cleanup): Delete.
673         (riscv_inferior_data): Delete.
674         (riscv_invalidate_inferior_data): Delete.
675         (_initialize_riscv_tdep): Remove initialisation of inferior data.
676
677 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
678
679         * compile/compile-cplus-types.c
680         (compile_cplus_instance::leave_scope): Take the address of scope
681         object.
682         (compile_cplus_instance::convert_qualified_base): Compare quals
683         to 0.
684
685 2018-08-30  Keith Seitz  <keiths@redhat.com>
686
687         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
688         Use "%s" and host_address_to_string instead of "%p" in printf.
689
690 2018-08-29  Keith Seitz  <keiths@redhat.com>
691
692         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
693         and compile-cplus-types.c.
694         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
695         * c-lang.c (cplus_language_defn): Set C++ compile functions.
696         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
697         Declare.
698         * compile/compile-c-support.c: Include compile-cplus.h.
699         (load_libcompile): Templatize.
700         (get_compile_context): "New" function.
701         (c_get_compile_context): Use get_compile_context.
702         (cplus_get_compile_context): New function.
703         (cplus_push_user_expression, cplus_pop_user_expression)
704         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
705         (cplus_compute_program): Define new structs/functions.
706         * compile/compile-cplus-symmbols.c: New file.
707         * compile/compile-cplus-types.c: New file.
708         * compile/compile-cplus.h: New file.
709         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
710         Declare.
711         * compile/compile-object-load.c (get_out_value_type): Use
712         strncmp_iw when comparing symbol names.
713         (compile_object_load): Add mst_bss and mst_data.
714         * compile/compile.c (_initialize_compile): Remove
715         -Wno-implicit-function-declaration from `compile_args'.
716         * compile/gcc-cp-plugin.h: New file.
717         * NEWS: Mention C++ compile support and new debug options.
718
719 2018-08-29  Keith Seitz  <keiths@redhat.com>
720
721         * linespec.c (collect_info::add_symbol): Make virtual.
722         (struct symbol_searcher_collect_info): New struct.
723         (symbol_searcher::find_all_symbols): New method.
724         * symtab.h (class symbol_searcher): New class.
725
726 2018-08-29  Keith Seitz  <keiths@redhat.com>
727
728         * linespec.c (struct linespec) <function_symbols, label_symbols>:
729         Change to vector of block_symbol.  Update all users.
730         (struct collect_info) <symbols>: Likewise.
731         (collect_info::add_symbol): Take block_symbol as argument.
732         Update all callers.
733         (decode_compound_collector) <m_symbols>: Change type to vector
734         of block_symbol.  Update all users.
735         (decode_compound_collector::operator ()): Change parameter type
736         to block_symbol.
737         (find_method, find_function_symbols, find_linespec_symbols)
738         (find_label_symbols_in_block, find_label_symbols): Change symbol
739         vectors to block_symbol vectors.
740         * symtab.h (symbol_found_callback_ftype): Change parameter type to
741         block_symbol.
742
743 2018-08-29  Keith Seitz  <keiths@redhat.com>
744
745         * linespec.c (symbolp): Remove typedef and VEC definitions.
746         (bound_minimal_symbol_d): Likewise.
747
748 2018-08-29  Keith Seitz  <keiths@redhat.com>
749
750         * linespec.c (decode_compound_collector::decode_compound_collector):
751         Remove initialization for `m_symtabs'.
752         (decode_compound_collector::release_symbols): Change return type
753         to std::vector.  Update all callers.
754         (class decode_compound_collector) <m_symbols>: Change type to
755         std::vector.
756         (lookup_prefix_sym): Change return type to std::vector.  Update all
757         callers.
758         (compare_symbols): Remove.
759         (std_compare_symbols): Rename to `compare_symbols'.
760         (find_method): Change `sym_classes' parameter to std::vector.
761         Update all callers.  Use std::sort to sort sym_classes.
762         (find_linespec_symbols): Remove cleanup.
763
764 2018-08-29  Keith Seitz  <keiths@redhat.com>
765
766         * linespec.c (struct linespec) <minimal_symbols>: Change type to
767         std::vector.  Update all users.
768         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
769         (struct collect_info) <minimal_symbols>: Likewise.
770         (compare_msymbols): Return bool.  Change parameters to const
771         bound_minimal_symbol references.
772         (find_method, find_function_symbols, find_linespec_symbols): Change
773         `minsyms' parameter to std::vector.  Update all callers.
774
775 2018-08-29  Keith Seitz  <keiths@redhat.com>
776
777         * linespec.c (struct linespec) <label_symbols>: Change type to
778         std::vector.  Update all users.
779         (find_label_symbols_in_block): Change `result' parameter to
780         std::vector.  Update all callers.
781         (find_label_symbols): Return std::vector.  Update all callers.
782
783 2018-08-29  Keith Seitz  <keiths@redhat.com>
784
785         * linespec.c (struct linespec) <function_symbols>: Change type to
786         std::vector.  Update all users.
787         (struct collect_info) <function_symbols>: Likewise.
788         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
789         (std_compare_symbols): New function.
790         (find_method, find_function_symbols, find_linespec_symbols)
791         (find_label_symbols_in_block): Change `symbols' parameter to
792         std::vector.  Update all callers.
793         (find_label_symbols): Likewise for `function_symbols' and
794         `label_funcs_ret'.
795
796 2018-08-29  Keith Seitz  <keiths@redhat.com>
797
798         * linespec.c (symtab_vector_up): Define.
799         (struct linespec) <file_symtabs>: Change type to std::vector *.
800         Update all uses.
801         (struct collect_info) <file_symtabs>: Likewise.
802         (collect_symtabs_from_filename): Return symtab_vector_up.
803         Update all callers.
804         (decode_objc): Remove cleanup.
805         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
806         (symtab_collector::release_symtabs): Return symtab_vector_up.
807         Update all callers.
808         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
809         Update all users.
810         (collect_symtabs_from_filename, symtabs_from_filename): Return
811         symtab_vector_up.  Update all callers.
812
813 2018-08-29  Tom Tromey  <tom@tromey.com>
814
815         * csky-tdep.c (csky_analyze_prologue): Use
816         core_addr_to_string_nz.
817
818 2018-08-29  Tom Tromey  <tom@tromey.com>
819
820         * windows-nat.c (struct xlate_exception) <them>: Change type to
821         DWORD.
822         (xlate): Fix formatting.  Remove last entry.
823         (struct xlate_exception, xlate): Comment out.
824         (windows_nat_target::resume): Use ranged for.
825
826 2018-08-29  Jim Wilson  <jimw@sifive.com>
827
828         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
829         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
830         of NT_PRFPREG.
831         (riscv_linux_nat_target::store_registers): Likewise.
832
833 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
834
835         PR gdb/23555
836         PR gdb/23558
837         * gnulib/aclocal.m4: Regenerate.
838         * gnulib/config.in: Regenerate.
839         * gnulib/configure: Regenerate.
840         * gnulib/import/Makefile.am: Update.
841         * gnulib/import/Makefile.in: Update.
842         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
843         * gnulib/import/_Noreturn.h: ... this.
844         * gnulib/import/alloca.in.h: Update.
845         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
846         * gnulib/import/arg-nonnull.h: ... this.
847         * gnulib/import/assure.h: Update.
848         * gnulib/import/at-func.c: Update.
849         * gnulib/import/basename-lgpl.c: Update.
850         * gnulib/import/extra/snippet/c++defs.h: Rename to...
851         * gnulib/import/c++defs.h: ... this.
852         * gnulib/import/canonicalize-lgpl.c: Update.
853         * gnulib/import/cdefs.h: Update.
854         * gnulib/import/chdir-long.c: Update.
855         * gnulib/import/chdir-long.h: Update.
856         * gnulib/import/cloexec.c: Update.
857         * gnulib/import/cloexec.h: Update.
858         * gnulib/import/close.c: Update.
859         * gnulib/import/closedir.c: Update.
860         * gnulib/import/config.charset: Update.
861         * gnulib/import/dirent-private.h: Update.
862         * gnulib/import/dirent.in.h: Update.
863         * gnulib/import/dirfd.c: Update.
864         * gnulib/import/dirname-lgpl.c: Update.
865         * gnulib/import/dirname.h: Update.
866         * gnulib/import/dosname.h: Update.
867         * gnulib/import/dup-safer-flag.c: Update.
868         * gnulib/import/dup-safer.c: Update.
869         * gnulib/import/dup.c: Update.
870         * gnulib/import/dup2.c: Update.
871         * gnulib/import/errno.in.h: Update.
872         * gnulib/import/error.c: Update.
873         * gnulib/import/error.h: Update.
874         * gnulib/import/exitfail.c: Update.
875         * gnulib/import/exitfail.h: Update.
876         * gnulib/import/extra/update-copyright: Update.
877         * gnulib/import/fchdir.c: Update.
878         * gnulib/import/fcntl.c: Update.
879         * gnulib/import/fcntl.in.h: Update.
880         * gnulib/import/fd-hook.c: Update.
881         * gnulib/import/fd-hook.h: Update.
882         * gnulib/import/fd-safer-flag.c: Update.
883         * gnulib/import/fd-safer.c: Update.
884         * gnulib/import/fdopendir.c: Update.
885         * gnulib/import/filename.h: Update.
886         * gnulib/import/filenamecat-lgpl.c: Update.
887         * gnulib/import/filenamecat.h: Update.
888         * gnulib/import/flexmember.h: Update.
889         * gnulib/import/float+.h: Update.
890         * gnulib/import/float.c: Update.
891         * gnulib/import/float.in.h: Update.
892         * gnulib/import/fnmatch.c: Update.
893         * gnulib/import/fnmatch.in.h: Update.
894         * gnulib/import/fnmatch_loop.c: Update.
895         * gnulib/import/fpucw.h: Update.
896         * gnulib/import/frexp.c: Update.
897         * gnulib/import/frexpl.c: Update.
898         * gnulib/import/fstat.c: Update.
899         * gnulib/import/fstatat.c: Update.
900         * gnulib/import/getcwd-lgpl.c: Update.
901         * gnulib/import/getcwd.c: Update.
902         * gnulib/import/getdtablesize.c: Update.
903         * gnulib/import/getlogin_r.c: Update.
904         * gnulib/import/getprogname.c: Update.
905         * gnulib/import/getprogname.h: Update.
906         * gnulib/import/gettext.h: Update.
907         * gnulib/import/gettimeofday.c: Update.
908         * gnulib/import/glob-libc.h: Update.
909         * gnulib/import/glob.c: Update.
910         * gnulib/import/glob.in.h: Update.
911         * gnulib/import/glob_internal.h: Update.
912         * gnulib/import/glob_pattern_p.c: Update.
913         * gnulib/import/globfree.c: Update.
914         * gnulib/import/hard-locale.c: Update.
915         * gnulib/import/hard-locale.h: Update.
916         * gnulib/import/intprops.h: Update.
917         * gnulib/import/inttypes.in.h: Update.
918         * gnulib/import/isnan.c: Update.
919         * gnulib/import/isnand-nolibm.h: Update.
920         * gnulib/import/isnand.c: Update.
921         * gnulib/import/isnanl-nolibm.h: Update.
922         * gnulib/import/isnanl.c: Update.
923         * gnulib/import/itold.c: Update.
924         * gnulib/import/libc-config.h: Update.
925         * gnulib/import/limits.in.h: Update.
926         * gnulib/import/localcharset.c: Update.
927         * gnulib/import/localcharset.h: Update.
928         * gnulib/import/localtime-buffer.c: Update.
929         * gnulib/import/localtime-buffer.h: Update.
930         * gnulib/import/lstat.c: Update.
931         * gnulib/import/m4/00gnulib.m4: Update.
932         * gnulib/import/m4/__inline.m4: Update.
933         * gnulib/import/m4/absolute-header.m4: Update.
934         * gnulib/import/m4/alloca.m4: Update.
935         * gnulib/import/m4/builtin-expect.m4: Update.
936         * gnulib/import/m4/canonicalize.m4: Update.
937         * gnulib/import/m4/chdir-long.m4: Update.
938         * gnulib/import/m4/close.m4: Update.
939         * gnulib/import/m4/closedir.m4: Update.
940         * gnulib/import/m4/configmake.m4: Update.
941         * gnulib/import/m4/d-ino.m4: Update.
942         * gnulib/import/m4/d-type.m4: Update.
943         * gnulib/import/m4/dirent_h.m4: Update.
944         * gnulib/import/m4/dirfd.m4: Update.
945         * gnulib/import/m4/dirname.m4: Update.
946         * gnulib/import/m4/double-slash-root.m4: Update.
947         * gnulib/import/m4/dup.m4: Update.
948         * gnulib/import/m4/dup2.m4: Update.
949         * gnulib/import/m4/eealloc.m4: Update.
950         * gnulib/import/m4/environ.m4: Update.
951         * gnulib/import/m4/errno_h.m4: Update.
952         * gnulib/import/m4/error.m4: Update.
953         * gnulib/import/m4/exponentd.m4: Update.
954         * gnulib/import/m4/exponentl.m4: Update.
955         * gnulib/import/m4/extensions.m4: Update.
956         * gnulib/import/m4/extern-inline.m4: Update.
957         * gnulib/import/m4/fchdir.m4: Update.
958         * gnulib/import/m4/fcntl-o.m4: Update.
959         * gnulib/import/m4/fcntl.m4: Update.
960         * gnulib/import/m4/fcntl_h.m4: Update.
961         * gnulib/import/m4/fdopendir.m4: Update.
962         * gnulib/import/m4/filenamecat.m4: Update.
963         * gnulib/import/m4/flexmember.m4: Update.
964         * gnulib/import/m4/float_h.m4: Update.
965         * gnulib/import/m4/fnmatch.m4: Update.
966         * gnulib/import/m4/fnmatch_h.m4: Update.
967         * gnulib/import/m4/fpieee.m4: Update.
968         * gnulib/import/m4/frexp.m4: Update.
969         * gnulib/import/m4/frexpl.m4: Update.
970         * gnulib/import/m4/fstat.m4: Update.
971         * gnulib/import/m4/fstatat.m4: Update.
972         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
973         * gnulib/import/m4/getcwd-path-max.m4: Update.
974         * gnulib/import/m4/getcwd.m4: Update.
975         * gnulib/import/m4/getdtablesize.m4: Update.
976         * gnulib/import/m4/getlogin.m4: Update.
977         * gnulib/import/m4/getlogin_r.m4: Update.
978         * gnulib/import/m4/getpagesize.m4: Update.
979         * gnulib/import/m4/getprogname.m4: Update.
980         * gnulib/import/m4/gettimeofday.m4: Update.
981         * gnulib/import/m4/glibc21.m4: Update.
982         * gnulib/import/m4/glob.m4: Update.
983         * gnulib/import/m4/glob_h.m4: Update.
984         * gnulib/import/m4/gnulib-cache.m4: Update.
985         * gnulib/import/m4/gnulib-common.m4: Update.
986         * gnulib/import/m4/gnulib-comp.m4: Update.
987         * gnulib/import/m4/gnulib-tool.m4: Update.
988         * gnulib/import/m4/hard-locale.m4: Update.
989         * gnulib/import/m4/include_next.m4: Update.
990         * gnulib/import/m4/inttypes-pri.m4: Update.
991         * gnulib/import/m4/inttypes.m4: Update.
992         * gnulib/import/m4/isnand.m4: Update.
993         * gnulib/import/m4/isnanl.m4: Update.
994         * gnulib/import/m4/largefile.m4: Update.
995         * gnulib/import/m4/limits-h.m4: Update.
996         * gnulib/import/m4/localcharset.m4: Update.
997         * gnulib/import/m4/locale-fr.m4: Update.
998         * gnulib/import/m4/locale-ja.m4: Update.
999         * gnulib/import/m4/locale-zh.m4: Update.
1000         * gnulib/import/m4/localtime-buffer.m4: Update.
1001         * gnulib/import/m4/longlong.m4: Update.
1002         * gnulib/import/m4/lstat.m4: Update.
1003         * gnulib/import/m4/malloc.m4: Update.
1004         * gnulib/import/m4/malloca.m4: Update.
1005         * gnulib/import/m4/math_h.m4: Update.
1006         * gnulib/import/m4/mbrtowc.m4: Update.
1007         * gnulib/import/m4/mbsinit.m4: Update.
1008         * gnulib/import/m4/mbsrtowcs.m4: Update.
1009         * gnulib/import/m4/mbstate_t.m4: Update.
1010         * gnulib/import/m4/memchr.m4: Update.
1011         * gnulib/import/m4/memmem.m4: Update.
1012         * gnulib/import/m4/mempcpy.m4: Update.
1013         * gnulib/import/m4/memrchr.m4: Update.
1014         * gnulib/import/m4/mkdir.m4: Update.
1015         * gnulib/import/m4/mkstemp.m4: Update.
1016         * gnulib/import/m4/mmap-anon.m4: Update.
1017         * gnulib/import/m4/mode_t.m4: Update.
1018         * gnulib/import/m4/msvc-inval.m4: Update.
1019         * gnulib/import/m4/msvc-nothrow.m4: Update.
1020         * gnulib/import/m4/multiarch.m4: Update.
1021         * gnulib/import/m4/nocrash.m4: Update.
1022         * gnulib/import/m4/off_t.m4: Update.
1023         * gnulib/import/m4/onceonly.m4: Update.
1024         * gnulib/import/m4/open-cloexec.m4: Update.
1025         * gnulib/import/m4/open.m4: Update.
1026         * gnulib/import/m4/openat.m4: Update.
1027         * gnulib/import/m4/opendir.m4: Update.
1028         * gnulib/import/m4/pathmax.m4: Update.
1029         * gnulib/import/m4/rawmemchr.m4: Update.
1030         * gnulib/import/m4/readdir.m4: Update.
1031         * gnulib/import/m4/readlink.m4: Update.
1032         * gnulib/import/m4/realloc.m4: Update.
1033         * gnulib/import/m4/rename.m4: Update.
1034         * gnulib/import/m4/rewinddir.m4: Update.
1035         * gnulib/import/m4/rmdir.m4: Update.
1036         * gnulib/import/m4/save-cwd.m4: Update.
1037         * gnulib/import/m4/secure_getenv.m4: Update.
1038         * gnulib/import/m4/setenv.m4: Update.
1039         * gnulib/import/m4/signal_h.m4: Update.
1040         * gnulib/import/m4/ssize_t.m4: Update.
1041         * gnulib/import/m4/stat-time.m4: Update.
1042         * gnulib/import/m4/stat.m4: Update.
1043         * gnulib/import/m4/std-gnu11.m4: Update.
1044         * gnulib/import/m4/stdbool.m4: Update.
1045         * gnulib/import/m4/stddef_h.m4: Update.
1046         * gnulib/import/m4/stdint.m4: Update.
1047         * gnulib/import/m4/stdio_h.m4: Update.
1048         * gnulib/import/m4/stdlib_h.m4: Update.
1049         * gnulib/import/m4/strchrnul.m4: Update.
1050         * gnulib/import/m4/strdup.m4: Update.
1051         * gnulib/import/m4/strerror.m4: Update.
1052         * gnulib/import/m4/string_h.m4: Update.
1053         * gnulib/import/m4/strstr.m4: Update.
1054         * gnulib/import/m4/strtok_r.m4: Update.
1055         * gnulib/import/m4/sys_socket_h.m4: Update.
1056         * gnulib/import/m4/sys_stat_h.m4: Update.
1057         * gnulib/import/m4/sys_time_h.m4: Update.
1058         * gnulib/import/m4/sys_types_h.m4: Update.
1059         * gnulib/import/m4/tempname.m4: Update.
1060         * gnulib/import/m4/time_h.m4: Update.
1061         * gnulib/import/m4/unistd-safer.m4: Update.
1062         * gnulib/import/m4/unistd_h.m4: Update.
1063         * gnulib/import/m4/warn-on-use.m4: Update.
1064         * gnulib/import/m4/wchar_h.m4: Update.
1065         * gnulib/import/m4/wchar_t.m4: Update.
1066         * gnulib/import/m4/wctype_h.m4: Update.
1067         * gnulib/import/m4/wint_t.m4: Update.
1068         * gnulib/import/malloc.c: Update.
1069         * gnulib/import/malloc/scratch_buffer.h: Update.
1070         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1071         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1072         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1073         * gnulib/import/malloca.c: Update.
1074         * gnulib/import/malloca.h: Update.
1075         * gnulib/import/malloca.valgrind: Update.
1076         * gnulib/import/math.in.h: Update.
1077         * gnulib/import/mbrtowc.c: Update.
1078         * gnulib/import/mbsinit.c: Update.
1079         * gnulib/import/mbsrtowcs-impl.h: Update.
1080         * gnulib/import/mbsrtowcs-state.c: Update.
1081         * gnulib/import/mbsrtowcs.c: Update.
1082         * gnulib/import/memchr.c: Update.
1083         * gnulib/import/memmem.c: Update.
1084         * gnulib/import/mempcpy.c: Update.
1085         * gnulib/import/memrchr.c: Update.
1086         * gnulib/import/mkdir.c: Update.
1087         * gnulib/import/mkstemp.c: Update.
1088         * gnulib/import/msvc-inval.c: Update.
1089         * gnulib/import/msvc-inval.h: Update.
1090         * gnulib/import/msvc-nothrow.c: Update.
1091         * gnulib/import/msvc-nothrow.h: Update.
1092         * gnulib/import/open.c: Update.
1093         * gnulib/import/openat-die.c: Update.
1094         * gnulib/import/openat-priv.h: Update.
1095         * gnulib/import/openat-proc.c: Update.
1096         * gnulib/import/openat.c: Update.
1097         * gnulib/import/openat.h: Update.
1098         * gnulib/import/opendir.c: Update.
1099         * gnulib/import/pathmax.h: Update.
1100         * gnulib/import/pipe-safer.c: Update.
1101         * gnulib/import/rawmemchr.c: Update.
1102         * gnulib/import/readdir.c: Update.
1103         * gnulib/import/readlink.c: Update.
1104         * gnulib/import/realloc.c: Update.
1105         * gnulib/import/ref-add.sin: Update.
1106         * gnulib/import/ref-del.sin: Update.
1107         * gnulib/import/rename.c: Update.
1108         * gnulib/import/rewinddir.c: Update.
1109         * gnulib/import/rmdir.c: Update.
1110         * gnulib/import/same-inode.h: Update.
1111         * gnulib/import/save-cwd.c: Update.
1112         * gnulib/import/save-cwd.h: Update.
1113         * gnulib/import/scratch_buffer.h: Update.
1114         * gnulib/import/secure_getenv.c: Update.
1115         * gnulib/import/setenv.c: Update.
1116         * gnulib/import/signal.in.h: Update.
1117         * gnulib/import/stat-time.c: Update.
1118         * gnulib/import/stat-time.h: Update.
1119         * gnulib/import/stat-w32.c: Update.
1120         * gnulib/import/stat-w32.h: Update.
1121         * gnulib/import/stat.c: Update.
1122         * gnulib/import/stdbool.in.h: Update.
1123         * gnulib/import/stddef.in.h: Update.
1124         * gnulib/import/stdint.in.h: Update.
1125         * gnulib/import/stdio.in.h: Update.
1126         * gnulib/import/stdlib.in.h: Update.
1127         * gnulib/import/str-two-way.h: Update.
1128         * gnulib/import/strchrnul.c: Update.
1129         * gnulib/import/strdup.c: Update.
1130         * gnulib/import/streq.h: Update.
1131         * gnulib/import/strerror-override.c: Update.
1132         * gnulib/import/strerror-override.h: Update.
1133         * gnulib/import/strerror.c: Update.
1134         * gnulib/import/string.in.h: Update.
1135         * gnulib/import/stripslash.c: Update.
1136         * gnulib/import/strnlen1.c: Update.
1137         * gnulib/import/strnlen1.h: Update.
1138         * gnulib/import/strstr.c: Update.
1139         * gnulib/import/strtok_r.c: Update.
1140         * gnulib/import/sys_stat.in.h: Update.
1141         * gnulib/import/sys_time.in.h: Update.
1142         * gnulib/import/sys_types.in.h: Update.
1143         * gnulib/import/tempname.c: Update.
1144         * gnulib/import/tempname.h: Update.
1145         * gnulib/import/time.in.h: Update.
1146         * gnulib/import/unistd--.h: Update.
1147         * gnulib/import/unistd-safer.h: Update.
1148         * gnulib/import/unistd.in.h: Update.
1149         * gnulib/import/unsetenv.c: Update.
1150         * gnulib/import/verify.h: Update.
1151         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1152         * gnulib/import/wchar.in.h: Update.
1153         * gnulib/import/wctype.in.h: Update.
1154         * gnulib/import/xalloc-oversized.h: Update.
1155         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1156         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1157
1158 2018-08-16  Gary Benson <gbenson@redhat.com>
1159
1160         PR gdb/13000:
1161         * gdb/main.c (captured_main_1): Exit with nonzero status
1162         in batch mode if the last command to be executed failed.
1163         * NEWS: Mention the above.
1164
1165 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
1166
1167         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
1168         end of warning message.
1169
1170 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1171
1172         PR gdb/22943:
1173         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
1174         (aarch64_extract_return_value): Use
1175         aapcs_is_vfp_call_or_return_candidate.
1176         (aarch64_return_in_memory): Likewise.
1177         (aarch64_store_return_value): Likewise.
1178
1179 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1180
1181         * aarch64-tdep.c
1182         (aapcs_is_vfp_call_or_return_candidate): Make static
1183         (pass_in_v_or_stack): Remove function.
1184         (pass_in_v_vfp_candidate): New function.
1185         (aarch64_push_dummy_call): Check for float register candidates.
1186
1187 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1188
1189         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
1190         (aapcs_is_vfp_call_or_return_candidate_1): New function.
1191         (aapcs_is_vfp_call_or_return_candidate): Likewise.
1192
1193 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
1194
1195         PR build/23399
1196         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
1197         (struct ipa_sym_addresses): Rename to...
1198         (struct ipa_sym_addresses_common): ... this.
1199         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
1200
1201 2018-08-28  Tom Tromey  <tom@tromey.com>
1202
1203         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1204         (token_fifo): Now a std::vector.
1205         (yylex, c_parse): Update.
1206         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1207         (token_fifo): Now a std::vector.
1208         (yylex, d_parse): Update.
1209         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1210         (token_fifo): Now a std::vector.
1211         (yylex, go_parse): Update.
1212
1213 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
1214
1215         * parser-defs.h (struct type_stack) <elements>: Change type to
1216         std::vector<union type_stack_elt>.
1217         <depth, size>: Remove.
1218         * parse.c (parse_exp_in_context_1): Adjust.
1219         (type_stack_reserve): Remove.
1220         (check_type_stack_depth): Remove.
1221         (insert_into_type_stack): Adjust to std::vector.
1222         (insert_type): Likewise.
1223         (push_type): Likewise.
1224         (push_type_int): Likewise.
1225         (insert_type_address_space): Likewise.
1226         (pop_type): Likewise.
1227         (pop_type_int): Likewise.
1228         (pop_typelist): Likewise.
1229         (pop_type_stack): Likewise.
1230         (append_type_stack): Likewise.
1231         (push_type_stack): Likewise.
1232         (get_type_stack): Likewise.
1233         (type_stack_cleanup): Likewise.
1234         (push_typelist): Likewise.
1235         (follow_types): Likewise.
1236         (_initialize_parse): Likewise.
1237
1238 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
1239
1240         * NEWS: Mention csky target.
1241
1242 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
1243             Hafiz Abid Qadeer  <abidh@codesourcery.com>
1244             Don Breazeal  <donb@codesourcery.com>
1245
1246         * csky-linux-tdep.c: New file.
1247         * csky-tdep.c: Likewise.
1248         * csky-tdep.h: Likewise.
1249         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
1250         csky-tdep.o.
1251         (HFILES_NO_SRCDIR): Add csky-tdep.h.
1252         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
1253         * configure.tgt: Add csky support.
1254
1255 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
1256
1257         * python/py-framefilter.c (py_print_frame): Print frame architecture
1258         when printing on an MI output.
1259
1260 2018-08-27  Tom Tromey  <tom@tromey.com>
1261
1262         PR build/23087:
1263         * configure: Rebuild.
1264         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
1265
1266 2018-08-27  Tom Tromey  <tom@tromey.com>
1267
1268         * aarch64-linux-tdep.c
1269         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
1270         casts to int.
1271
1272 2018-08-27  Tom Tromey  <tom@tromey.com>
1273
1274         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
1275         unsigned.
1276         (ppc64_standard_linkage1, ppc64_standard_linkage2)
1277         (ppc64_standard_linkage3, ppc64_standard_linkage4)
1278         (ppc64_standard_linkage5, ppc64_standard_linkage6)
1279         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
1280         unsigned.
1281
1282 2018-08-27  Tom Tromey  <tom@tromey.com>
1283
1284         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
1285         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
1286
1287 2018-08-27  Tom Tromey  <tom@tromey.com>
1288
1289         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
1290         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
1291         ULONGEST_MAX.
1292         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
1293         ULONGEST_MAX.
1294         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
1295         ULONGEST_MAX.
1296         * sparc-linux-tdep.c (sparc32_linux_sigframe)
1297         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
1298         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
1299         ULONGEST_MAX.
1300         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
1301         (ppc64_linux_sigaction_tramp_frame)
1302         (ppc32_linux_sighandler_tramp_frame)
1303         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
1304         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
1305         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
1306         * mn10300-linux-tdep.c (am33_linux_sigframe)
1307         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
1308         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
1309         * mips-linux-tdep.c (mips_linux_o32_sigframe)
1310         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
1311         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
1312         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
1313         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
1314         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
1315         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
1316         * microblaze-linux-tdep.c
1317         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
1318         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
1319         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
1320         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
1321         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
1322         * common/common-types.h (ULONGEST_MAX): New define.
1323         (CORE_ADDR_MAX): Fix formatting.
1324         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
1325         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
1326         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
1327         (arm_linux_rt_sigreturn_tramp_frame)
1328         (arm_eabi_linux_sigreturn_tramp_frame)
1329         (arm_eabi_linux_rt_sigreturn_tramp_frame)
1330         (thumb2_eabi_linux_sigreturn_tramp_frame)
1331         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
1332         (arm_linux_restart_syscall_tramp_frame)
1333         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
1334         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
1335         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
1336         ULONGEST_MAX.
1337         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
1338
1339 2018-08-27  Tom Tromey  <tom@tromey.com>
1340
1341         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
1342         CORE_ADDR_MAX.
1343         * mips-tdep.c (mips_deal_with_atomic_sequence)
1344         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
1345         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
1346         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
1347         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
1348         CORE_ADDR_MAX.
1349         * aarch64-tdep.c (aarch64_software_single_step): Use
1350         CORE_ADDR_MAX.
1351
1352 2018-08-27  Tom Tromey  <tom@tromey.com>
1353
1354         * linespec.c (complete_linespec_component): Add cast to "char".
1355         * completer.c (completion_tracker::build_completion_result): Add
1356         cast to "char".
1357
1358 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1359
1360         * solist.h (struct solist, struct target_so_ops): Fix
1361         indentation.
1362
1363 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1364
1365         * ada-tasks.c (ada_task_info_s): Remove typedef.
1366         (DEF_VEC_O(ada_task_info_s)): Remove.
1367         (struct ada_tasks_inferior_data): Initialize fields.
1368         <task_list>: Make an std::vector.
1369         (get_ada_tasks_inferior_data): Allocate with new.
1370         (ada_get_task_number): Adjust.
1371         (get_task_number_from_id): Likewise.
1372         (valid_task_id): Likewise.
1373         (ada_get_task_info_from_ptid): Likewise.
1374         (iterate_over_live_ada_tasks): Likewise.
1375         (add_ada_task): Likewise.
1376         (read_known_tasks): Likewise.
1377         (ada_build_task_list): Likewise.
1378         (print_ada_task_info): Likewise.
1379         (info_task): Likewise.
1380         (task_command_1): Likewise.
1381
1382 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1383
1384         * ada-lang.c (add_angle_brackets): Return std::string.
1385
1386 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
1387
1388         * python/py-threadevent.c (py_get_event_thread): Initialize
1389         pythread.
1390
1391 2018-08-24  Pedro Alves  <palves@redhat.com>
1392
1393         * python/py-bpevent.c (create_breakpoint_event_object): Use
1394         copy-initialization.
1395         * python/py-continueevent.c (emit_continue_event): Use
1396         copy-initialization.
1397         * python/py-exitedevent.c (create_exited_event_object): Return a
1398         gdbpy_ref<>.
1399         (emit_exited_event): Use copy-initialization.
1400         * python/py-inferior.c (python_new_inferior)
1401         (python_inferior_deleted, add_thread_object): Use
1402         copy-initialization.
1403         * python/py-infevents.c (create_inferior_call_event_object)
1404         (create_register_changed_event_object)
1405         (create_memory_changed_event_object): Return a gdbpy_ref<>.
1406         (emit_inferior_call_event, emit_memory_changed_event)
1407         (emit_register_changed_event): Use copy-initialization.
1408         * python/py-newobjfileevent.c (create_new_objfile_event_object):
1409         Return a gdbpy_ref<>.
1410         (emit_new_objfile_event): Use copy-initialization.
1411         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
1412         (emit_clear_objfiles_event): Use copy-initialization.
1413         * python/py-signalevent.c (create_signal_event_object): Use
1414         copy-initialization.
1415         * python/py-threadevent.c (create_thread_event_object): Use
1416         copy-initialization.
1417
1418 2018-08-24  Pedro Alves  <palves@redhat.com>
1419             Simon Marchi  <simon.marchi@ericsson.com>
1420
1421         PR gdb/23379
1422         * python/py-continueevent.c: Include "gdbthread.h".
1423         (create_continue_event_object): Add intro comment.  Add 'ptid'
1424         parameter.  Use it to find thread to pass to
1425         create_thread_event_object.
1426         (emit_continue_event): Pass PTID down to
1427         create_continue_event_object.
1428         * python/py-event.h (py_get_event_thread): Declare.
1429         (create_thread_event_object): Remove default from 'thread'
1430         parameter.
1431         * python/py-stopevent.c (create_stop_event_object): Use
1432         py_get_event_thread.
1433         * python/py-threadevent.c (get_event_thread): Rename to ...
1434         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
1435         and use it to find the thread.
1436         (create_thread_event_object): Assert that THREAD isn't null.
1437         Don't find the event thread here.
1438
1439 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
1440
1441         * block.h (blockrange, blockranges): New struct declarations.
1442         (struct block): Add new field named `ranges'.
1443         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
1444         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
1445         macros for accessing ranges in struct block.
1446         (make_blockranges): New declaration.
1447         block.c (make_blockranges): New function.
1448         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
1449         for block.
1450         * symtab.h (find_pc_partial_function): Add new parameter `block'.
1451         * blockframe.c (cache_pc_function_block): New static global.
1452         (clear_pc_function_cache): Clear cache_pc_function_block.
1453         (find_pc_partial_function): Move comment to symtab.h.  Add
1454         support for non-contiguous blocks.
1455         * cli/cli-cmds.c (block.h): Include.
1456         (print_disassembly): Handle printing of non-contiguous blocks.
1457         (disassemble_current_function): Likewise.
1458         (disassemble_command): Likewise.
1459
1460         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
1461         BLOCK_START.
1462         * blockframe.c (get_pc_function_start): Likewise.
1463         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
1464         (gcc_symbol_address): Likewise.
1465         * compile/compile-object-run.c (compile_object_run): Likewise.
1466         * compile/compile.c (get_expr_block_and_pc): Likewise.
1467         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
1468         (func_addr_to_tail_call_list): Likewise.
1469         * findvar.c (default_read_var_value): Likewise.
1470         * inline-frame.c (inline_frame_this_id): Likewise.
1471         (skip-inline_frames): Likewise.
1472         * infcmd.c (until_next_command): Likewise.
1473         * linespec.c (convert_linespec_to_sals): Likewise.
1474         * parse.c (parse_exp_in_context_1): Likewise.
1475         * printcmd.c (build_address_symbolic): likewise.
1476         (info_address_command): Likewise.
1477         symtab.c (find_function_start_sal): Likewise.
1478         (skip_prologue_sal): Likewise.
1479         (find_function_alias_target): Likewise.
1480         (find_gnu_ifunc): Likewise.
1481         * stack.c (find_frame_funname): Likewise.
1482         * symtab.c (fixup_symbol_section): Likewise.
1483         (find_function_start_sal): Likewise.
1484         (skip_prologue_sal): Likewsie.
1485         (find_function_alias_target): Likewise.
1486         (find_gnu_ifunc): Likewise.
1487         * tracepoint.c (info_scope_command): Likewise.
1488         * value.c (value_fn_field): Likewise.
1489
1490         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
1491         in place of find_pc_partial_function.
1492         * blockframe.c (find_function_entry_range_from_pc): New function.
1493         * symtab.h (find_function_entry_range_from_pc): Declare and document.
1494         * objfiles.c (objfile_relocate1): Relocate start and end addresses
1495         for each range in a block.
1496
1497
1498 2018-08-23  Xavier Roirand  <roirand@adacore.com>
1499
1500         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
1501         incrementation.
1502
1503 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1504
1505         * solib-svr4.c (read_program_headers_from_bfd): Return
1506         gdb::optional<gdb::byte_vector>.
1507         (svr4_exec_displacement): Adjust.
1508
1509 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1510
1511         * solib-svr4.c (read_program_header): Return
1512         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
1513         (find_program_interpreter): Return
1514         gdb::optional<gdb::byte_vector>.
1515         (scan_dyntag_auxv): Adjust.
1516         (enable_break): Adjust.
1517         (svr4_exec_displacement): Adjust.
1518
1519 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1520
1521         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
1522         * inf-child.c (inf_child_target::terminal_save_inferior): New.
1523
1524 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1525
1526         * guile/scm-string.c (gdbscm_scm_from_printf): Use
1527         string_vprintf.
1528         * guile/scm-utils.c (gdbscm_printf): Likewise.
1529         * serial.c (serial_printf): Likewise.
1530         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
1531
1532 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
1533
1534         * stack.c (print_frame): Print frame architecture when printing on
1535         an MI output.
1536         * NEWS: Mention new "arch" attribute in frame output.
1537
1538 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1539
1540         * arch/aarch64.h (aarch64_regnum): Update comment.
1541
1542 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1543
1544         * NEWS: Add SVE to 8.2 section.
1545
1546 2018-08-21  Pedro Alves  <palves@redhat.com>
1547
1548         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
1549         out from gdbscm_parse_function_args.
1550         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
1551         gdbscm_parse_function_args_1.
1552
1553 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
1554
1555         PR gdb/17816
1556         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
1557         operator.
1558
1559 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
1560
1561         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
1562
1563 2018-08-19  Michael Spang  <spang@google.com>
1564
1565         PR gdb/11786
1566         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
1567         for PT_TLS segments.
1568
1569 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
1570
1571         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
1572         dwarf_variable_value.
1573         * dwarf2-frame.c (class dwarf_expr_executor):
1574         Add override for dwarf_variable_value.
1575         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
1576         (class symbol_needs_eval_context): Likewise.
1577         (indirect_synthetic_pointer): Add forward declaration.
1578         (sect_variable_value): New function.
1579         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
1580         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
1581         for DW_OP_GNU_variable_value.
1582
1583 2018-08-16  Tom Tromey  <tom@tromey.com>
1584
1585         * top.c (read_command_file): Update.
1586         (command_line_input): Remove "repeat" argument.
1587         * ada-lang.c (get_selections): Update.
1588         * linespec.c (decode_line_2): Update.
1589         * defs.h (command_line_input): Remove argument.
1590         * cli/cli-script.c (read_next_line): Update.
1591         * python/py-gdb-readline.c: Update.
1592
1593 2018-08-17  Tom Tromey  <tom@tromey.com>
1594
1595         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
1596         command_line_input.
1597
1598 2018-08-15  Tom Tromey  <tom@tromey.com>
1599
1600         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
1601
1602 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
1603
1604         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
1605         If used, use find_pc_partial_function to find address range
1606         to disassemble.
1607         * mi/mi-main.c (mi_cmd_list_features): Report
1608         "data-disassemble-a-option" feature.
1609         * NEWS: Mention new -data-disassemble option -a.
1610
1611 2018-08-13  Tom Tromey  <tom@tromey.com>
1612
1613         * common/common-defs.h (_FORTIFY_SOURCE): Define.
1614
1615 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1616
1617         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
1618         (aarch64_linux_collect_sve_regset): Likewise.
1619         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
1620         * regcache.h (regcache_map_entry_size): New function.
1621
1622 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1623
1624         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
1625         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
1626         (SVE_HEADER_VL_LENGTH): Likewise.
1627         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
1628         (SVE_HEADER_FLAGS_LENGTH): Likewise.
1629         (SVE_HEADER_RESERVED_LENGTH): Likewise.
1630         (SVE_HEADER_SIZE_OFFSET): Likewise.
1631         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
1632         (SVE_HEADER_VL_OFFSET): Likewise.
1633         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
1634         (SVE_HEADER_FLAGS_OFFSET): Likewise.
1635         (SVE_HEADER_RESERVED_OFFSET): Likewise.
1636         (SVE_HEADER_SIZE): Likewise.
1637         (aarch64_linux_core_read_vq): Add function.
1638         (aarch64_linux_core_read_description): Check for SVE section.
1639
1640 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1641
1642         * aarch64-fbsd-tdep.c
1643         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
1644         collect_size.
1645         * aarch64-linux-tdep.c
1646         (aarch64_linux_iterate_over_regset_sections): Likewise.
1647         * alpha-linux-tdep.c
1648         (alpha_linux_iterate_over_regset_sections):
1649         * alpha-nbsd-tdep.c
1650         (alphanbsd_iterate_over_regset_sections): Likewise.
1651         * amd64-fbsd-tdep.c
1652         (amd64fbsd_iterate_over_regset_sections): Likewise.
1653         * amd64-linux-tdep.c
1654         (amd64_linux_iterate_over_regset_sections): Likewise.
1655         * arm-bsd-tdep.c
1656         (armbsd_iterate_over_regset_sections): Likewise.
1657         * arm-fbsd-tdep.c
1658         (arm_fbsd_iterate_over_regset_sections): Likewise.
1659         * arm-linux-tdep.c
1660         (arm_linux_iterate_over_regset_sections): Likewise.
1661         * corelow.c (get_core_registers_cb): Likewise.
1662         (core_target::fetch_registers): Likewise.
1663         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
1664         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
1665         * gdbarch.h (void): Regenerate.
1666         * gdbarch.sh: Add supply_size and collect_size.
1667         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
1668         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
1669         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
1670         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
1671         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
1672         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
1673         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
1674         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
1675         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
1676         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
1677         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
1678         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
1679         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
1680         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
1681         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
1682         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
1683         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
1684         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
1685         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
1686         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
1687         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
1688         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
1689         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
1690         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
1691         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
1692         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
1693         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
1694         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
1695         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
1696         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
1697
1698 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
1699
1700         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
1701         with string_printf.
1702
1703 2018-08-10  Keith Seitz  <keiths@redhat.com>
1704
1705         * compile/compile-c-support.c (add_code_header, add_code_footer):
1706         Move into policy class.
1707         (c_push_user_expression, pop_user_expression_nop)
1708         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
1709         (compile_program): New host class.
1710         (c_compile_program): New typedef.
1711         (c_compute_porgram): Use c_compile_program.
1712
1713 2018-08-10  Keith Seitz  <keiths@redhat.com>
1714
1715         * compile/compile-internal.h (compile_instance::~compile_instance):
1716         Remove calls to htab_delete.
1717         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
1718         * compile.c (compile_instance::compile_instance): Initialize
1719         htab unique pointers.
1720         (compile_instance::get_cached_type, compile_instance::insert_type)
1721         (compile_instance::error_symbol_once): Update for unique_ptr.
1722
1723 2018-08-10  Keith Seitz  <keiths@redhat.com>
1724
1725         * compile/compile-c-symbols.c (struct symbol_error)
1726         (hash_symbol_error, eq_symbol_error, del_symbol_error)
1727         (compile_instance::insert_symbol_error)
1728         (compile_instance::error_symbol_once): Move to ...
1729         * compile/compile.c: ... here.
1730
1731 2018-08-10  Keith Seitz  <keiths@redhat.com>
1732
1733         * compile/compile-c-support.c (c_get_compile_context): Use `new'
1734         instead of `new_compile_instance'.
1735         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
1736         Update description.
1737         If the symbol error map is not initialized, create it.
1738         (generate_c_for_for_one_symbol): Do not check/initialize
1739         the symbol error map.
1740         * compile/compile-c-types.c (compile_c_instance): Make a class.
1741         Update all callers.
1742         (compile_instance::compile_instance): Initialize the type cache.
1743         (get_cached_type): New function.
1744         (insert_type): Update description.
1745         (compile_c_instance::m_default_cflags): Define.
1746         (convert_type): Update description.  Use get_cached_type.
1747         (delete_instance): Moved to destructor.
1748         (new_compile_instance): Moved to constructor.
1749         * compile/compile-c.h (compile_c_instance): Make class inheriting
1750         from compile_instance.
1751         <base>: Remove field.
1752         <type_map, symbol_err_map>: Move to base class.
1753         <c_plugin>: Rename to `m_plugin' and remove pointer type.
1754         * compile/compile-internal.h (compile_instance): Make class.
1755         <type_map_t, symbol_err_map_t>: Define.
1756         <fe>: Rename to `m_gcc_fe'.
1757         <scope, block, gcc_target_options>: Add `m_' prefix.
1758         <m_type_map, m_symbol_err_map>: New fields, moved from
1759         compile_c_instance.
1760         <destroy>: Remove.
1761         (convert_type, new_compile_instance): Remove.
1762         * compile/compile.c (cleanup_compile_instance): Remove.
1763         (compile_to_object): Use unique_ptr to eliminate cleanups.
1764         (compile_instance::set_print_callback, compile_instance::version)
1765         (compile_instance::set_verbose)
1766         (compile_instance::set_driver_filename)
1767         (compile_instance::set_triplet_regexp)
1768         (compile_instance::set_arguments)
1769         (compile_instance::set_source_file)
1770         (compile_instance::compile): Define.
1771
1772 2018-08-10  Keith Seitz  <keiths@redhat.com>
1773
1774         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
1775         * compile/compile-c-types.c: Define GCC_METHODN macros and include
1776         gcc-c-fe.def to define C plugin.
1777         (delete_instance): Delete `c_plugin'.
1778         (new_compile_instance): Initialize `c_plugin'.
1779         * compile/compile-c.h: Include gcc_c_plugin.h.
1780         (struct compile_c_instance) <c_plugin>: New member.
1781         * gcc-c-plugin.h: New file.
1782         Update all callers with API change.
1783
1784 2018-08-10  Keith Seitz  <keiths@redhat.com>
1785
1786         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
1787         (HFILES_NO_SRCDIR): ... to here.
1788         Add compile-internal.h and compile-c.h.
1789         * compile/compile-c-support.c: Include compile-c.h.
1790         * compile/compile-c-symbols.c: Include compile-c.h.
1791         (generate_c_for_variable_locations): Update comment.
1792         * compile/compile-c-types.c: Include compile-c.h.
1793         * compile/compile-c.h: New file -- moved C language declarations
1794         from other files here.
1795         * compile/compile-internal.h: Do not include hashtab.h or
1796         common/enum-flags.h.
1797         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
1798         (gcc_convert_symbol, gcc_symbol_address)
1799         (generate_c_for_variable_locations, c_get_mode_for_size)
1800         (c_get_range_decl_name): Definitions moved to compile-c.h.
1801         * compile/compile-loc2c.c: Include compile-c.h.
1802
1803 2018-08-10  Keith Seitz  <keiths@redhat.com>
1804
1805         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
1806         (c_symbol_substitution_name): ... this.
1807         Update all callers.
1808
1809 2018-08-10  Keith Seitz  <keiths@redhat.com>
1810
1811         * compile/compile-c-support.c (c_compute_program): Use
1812         unique_xmalloc_ptr to eliminate cleanup.
1813         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
1814         Return a unique_xmalloc_ptr and eliminate cleanup.
1815         * compile/compile-internal.h (generate_c_for_variable_locations):
1816         Return unique_xmalloc_ptr and update description.
1817
1818 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
1819
1820         * corelow.c (core_target::get_core_register_section): Rename
1821         min_size to section_min_size.
1822
1823 2018-08-09  Jim Wilson  <jimw@sifive.com>
1824
1825         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
1826         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
1827         * NEWS: Mention new GNU/Linux RISC-V target.
1828         * configure.host: Add riscv*-*-linux*.
1829         * configure.nat: Add riscv*.
1830         * configure.tgt: Add riscv*-*-linux*.
1831         * riscv-linux-nat.c: New file.
1832         * riscv-linux-tdep.c: New file.
1833
1834 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1835
1836         * infrun.c (resume): Make static, add forward declaration.
1837         (proceed): Update header comment.
1838         * infrun.h (resume): Delete declaration.
1839
1840 2018-08-09  Tom Tromey  <tom@tromey.com>
1841
1842         * riscv-tdep.h: Minor formatting fixes.
1843
1844 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
1845
1846         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
1847         * dwarf-index-cache.c (create_dir_and_check): Likewise.
1848         (test_mkdir_recursive): Likewise.
1849         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
1850
1851 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1852
1853         * valarith.c (value_subscripted_rvalue): If an array is not in
1854         memory, and we don't know the upper bound, then we can't know that
1855         the requested element exists or not.
1856
1857 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
1858
1859         * target.c (str_comma_list_concat_elem): Fix typo in comment.
1860         (target_options_to_string): Add comment.
1861
1862 2018-08-08  Tom Tromey  <tom@tromey.com>
1863
1864         * unittests/scoped_mmap-selftests.c: Check result of "write".
1865
1866 2018-08-08  Jim Wilson  <jimw@sifive.com>
1867
1868         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
1869         (decode_register_index_short): New.
1870         (decode_j_type_insn, decode_cj_type_insn): New.
1871         (decode_b_type_insn, decode_cb_type_insn): New.
1872         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
1873         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
1874         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
1875         is_c_sw_insn instead of is_sw_insn.
1876         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
1877         (riscv_software_single_step): New.
1878         * riscv-tdep.h (riscv_software_single_step): Declare.
1879
1880         * riscv-tdep.c (riscv_isa_xlen): Drop static.
1881         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
1882
1883 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
1884
1885         PR gdb/18050:
1886         * target.c (dispose_inferior): Don't dispose of inferiors that are
1887         already killed.
1888
1889 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1890
1891         * remote.c (remote_target::download_tracepoint): Change char* to
1892         const char*.
1893
1894 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
1895
1896         * target.h (target_options_to_string): Return an std::string.
1897         * target.c (str_comma_list_concat_elem): Return void, use
1898         std::string.
1899         (do_option): Likewise.
1900         (target_options_to_string): Return an std::string.
1901         * linux-nat.c (linux_nat_target::wait): Adjust.
1902         * target-debug.h (target_debug_print_options): Adjust.
1903
1904 2018-08-07  Tom Tromey  <tom@tromey.com>
1905
1906         * Makefile.in (CPPFLAGS): New variable.
1907         (INTERNAL_CPPFLAGS): Use it.
1908
1909 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1910
1911         * NEWS: Mention the index cache.
1912
1913 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1914
1915         * common/pathstuff.h (get_standard_cache_dir): New.
1916         * common/pathstuff.c (get_standard_cache_dir): New.
1917         * build-id.h (build_id_to_string): New.
1918         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
1919         DEBUG_STR_SUFFIX): Move to here.
1920         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
1921         DEBUG_STR_SUFFIX): Move from there.
1922         (write_psymtabs_to_index): Make non-static, add basename
1923         parameter.  Write to temporary files, rename when done.
1924         (save_gdb_index_command): Adjust call to
1925         write_psymtabs_to_index.
1926         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
1927         field.
1928         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
1929         (get_gdb_index_contents_from_cache): New.
1930         (get_gdb_index_contents_from_cache_dwz): New.
1931         (dwarf2_initialize_objfile): Read index from cache.
1932         (dwarf2_build_psymtabs): Save to index.
1933         * dwarf-index-cache.h: New file.
1934         * dwarf-index-cache.c: New file.
1935         * dwarf-index-write.h: New file.
1936
1937 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1938
1939         * gnulib/aclocal.m4: Re-generate.
1940         * gnulib/config.in: Re-generate.
1941         * gnulib/configure: Re-generate.
1942         * gnulib/import/Makefile.am: Re-generate.
1943         * gnulib/import/Makefile.in: Re-generate.
1944         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1945         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1946         * gnulib/import/m4/mkdir.m4: New file.
1947         * gnulib/import/mkdir.c: New file.
1948         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
1949         module.
1950
1951 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1952
1953         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
1954         * common/scoped_mmap.c: New file.
1955         * common/scoped_mmap.h (destroy): New method.
1956         (~scoped_mmap, reset): Use destroy.
1957         (scoped_mmap): New move constructor.
1958         (mmap_file): New declaration.
1959         * unittests/scoped_mmap-selftests.c (test_normal,
1960         test_invalid_filename, run_tests): New functions.
1961         (_initialize_scoped_mmap_selftests): Register selftest.
1962
1963 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1964
1965         * dwarf2read.c (read_gdb_index_from_section): Rename to...
1966         (read_gdb_index_from_buffer): ... this.  Remove section
1967         parameter, add buffer parameter.
1968         (get_gdb_index_contents_ftype,
1969         get_gdb_index_contents_dwz_ftype): New typedefs.
1970         (dwarf2_read_gdb_index): Add callback parameters to get the
1971         index contents.
1972         (get_gdb_index_contents_from_section): New.
1973         (dwarf2_initialize_objfile): Update call to
1974         dwarf2_read_gdb_index.
1975
1976 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1977
1978         * common/filestuff.h (gdb_fopen_cloexec): New overload.
1979         (gdb_open_cloexec): Likewise.
1980         * nat/linux-osdata.c (command_from_pid): Use string_printf.
1981         (commandline_from_pid): Likewise.
1982         (linux_xfer_osdata_threads): Likewise.
1983         (linux_xfer_osdata_fds): Likewise.
1984         * ada-lang.c (is_package_name): Likewise.
1985         * auxv.c (procfs_xfer_auxv): Likewise.
1986         * breakpoint.c (print_one_breakpoint_location): Use
1987         uiout::field_fmt.
1988         (print_one_catch_solib): Use string_printf.
1989         * coff-pe-read.c (add_pe_exported_sym): Likewise.
1990         (add_pe_forwarded_sym): Likewise.
1991         * dwarf2read.c (create_type_unit_group): Likewise.
1992         (build_error_marker_type): Likewise.
1993         * infcall.c (get_function_name): Likewise.
1994         * valprint.c (print_converted_chars_to_obstack): Likewise.
1995         * xtensa-tdep.c (xtensa_register_type): Likewise.
1996
1997 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
1998
1999         * remote.c (remote_target::download_tracepoint): Fix format
2000         string errors.
2001
2002 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2003
2004         * tracefile.c: Include common/byte-vector.h.
2005         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
2006         with trace_regblock_size if needed.  Update uses of buf.
2007
2008 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2009
2010         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
2011         std::vector<unsigned char>.
2012         * tracepoint.c (collection_list::collection_list): Remove
2013         m_regs_mask initializer from initializer list.  Resize
2014         m_regs_mask using the largest remote register number.
2015         (collection_list::add_remote_register): Remove size check on
2016         m_regs_mask.  Use at to access element.
2017         (collection_list::stringify): Change type of temp_buf to
2018         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
2019         stringify the register mask.  Use pack_hex_byte for the register
2020         mask.
2021
2022 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2023
2024         * tracepoint.h (class collection_list) <add_register>: Remove.
2025         <add_remote_register, add_ax_registers, add_local_register>:
2026         Declare.
2027         <add_memrange>: Add scope parameter.
2028         * tracepoint.c (encode_actions_1): Likewise.
2029         (collection_list::add_register): Rename to ...
2030         (collection_list::add_remote_register): ... this.  Update
2031         comment.
2032         (collection_list::add_ax_registers, add_local_register): New
2033         methods.
2034         (collection_list::add_memrange): Add scope parameter.  Call
2035         add_local_register instead of add_register.
2036         (finalize_tracepoint_aexpr): New function.
2037         (collection_list::collect_symbol): Update calls to add_memrange.
2038         Call add_local_register instead of add_register.  Call
2039         add_ax_registers.  Call finalize_tracepoint_aexpr.
2040         (encode_actions_1): Get remote regnos for $reg action.  Call
2041         add_remote_register, add_ax_registers, and add_local_register.
2042         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
2043         (validate_actionline): Call finalize_tracepoint_aexpr.
2044
2045 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2046
2047         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
2048         Replace array buf with gdb::char_vector buf, of size
2049         get_remote_packet_size ().  Replace references to buf and
2050         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
2051         and xsnprintf with snprintf.  Raise errors if the buffer is too
2052         small.
2053
2054 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2055
2056         * remote.c (remote_target::download_tracepoint): Fix the has_more
2057         predicate in the QTDP action list iteration.
2058
2059 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2060
2061         * remote.c (remote_target::download_tracepoint): Fix indentation
2062         in for block.
2063
2064 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2065
2066         * proc-api.c (_initialize_proc_api): Remove c, unused.
2067         * procfs.c (procfs_init_inferior): Remove signals, unused.
2068         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
2069         unused.
2070
2071 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
2072             Andrew Burgess  <andrew.burgess@embecosm.com>
2073
2074         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
2075         'W_STOPCODE (0)' as this could be ambiguous.
2076
2077 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
2078
2079         * ser-tcp.c (net_open): Fix thinko when deciding whether to
2080         disable TCP's Nagle algorithm (use "ai_protocol" instead of
2081         "ai_socktype").
2082
2083 2018-08-02  Tom Tromey  <tom@tromey.com>
2084
2085         PR symtab/16842.
2086         * dwarf2read.c (read_func_scope): Set symtab on template parameter
2087         symbols.
2088         (process_structure_scope): Likewise.
2089
2090 2018-08-02  Xavier Roirand  <roirand@adacore.com>
2091
2092         PR gdb/22629:
2093         * darwin-nat.c (darwin_kill_inferior): Fix handling of
2094         kill inferior.
2095
2096 2018-08-02  Tom Tromey  <tom@tromey.com>
2097
2098         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
2099         (darwin_suspend_inferior, darwin_resume_inferior)
2100         (darwin_decode_notify_message, darwin_resume_inferior_threads)
2101         (darwin_check_new_threads): Check result of get_darwin_inferior.
2102
2103 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
2104
2105         GDB 8.1.1 released.
2106
2107 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
2108
2109         * varobj.c (varobj_get_path_expr_parent): Report an error if
2110         parent is a dynamic varobj.
2111
2112 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2113
2114         * gnulib/aclocal.m4: Re-generate.
2115         * gnulib/config.in: Re-generate.
2116         * gnulib/configure: Re-generate.
2117         * gnulib/import/Makefile.in: Re-generate.
2118         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2119         * gnulib/import/m4/onceonly.m4: Re-generate.
2120
2121 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2122
2123         * target-descriptions.c (struct xml_test_tdesc): New.
2124         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
2125         (record_xml_tdesc): Update.
2126         (maintenance_check_xml_descriptions): Update.
2127         * target-descriptions.h (record_xml_tdesc): Update comment.
2128
2129 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2130
2131         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
2132         checking array bounds are defined.
2133
2134 2018-07-30  Tom Tromey  <tom@tromey.com>
2135
2136         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
2137         irreflexivity violation.
2138
2139 2018-07-30  Tom Tromey  <tom@tromey.com>
2140
2141         * cli/cli-decode.c (lookup_cmd): Remove lint code.
2142         * value.c (unpack_long): Remove lint code.
2143         * valops.c (value_ind): Remove lint code.
2144         * valarith.c (value_x_binop, value_x_unop, value_equal)
2145         (value_pos): Remove lint code.
2146
2147 2018-07-28  Tom de Vries  <tdevries@suse.de>
2148
2149         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
2150         with undefined upper bound as <optimized out>.
2151
2152 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
2153
2154         * gcore.in: Rename variable "name" to "prefix".  Expand
2155         "usage" text.
2156
2157 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
2158
2159         * windows-nat.c (windows_nat_target::create_inferior): Update to
2160         call close() in global namespace.
2161
2162 2018-07-26  Tom Tromey  <tom@tromey.com>
2163
2164         * dwarf-index-write.c (add_address_entry): Don't add objfile
2165         offsets.
2166         * dbxread.c (find_stab_function): Rename from
2167         find_stab_function_addr.  Return a bound_minimal_symbol.
2168         (read_dbx_symtab): Use raw_text_low, raw_text_high.
2169         Don't add objfile offsets.
2170         (end_psymtab): Use raw_text_low, raw_text_high,
2171         MSYMBOL_VALUE_RAW_ADDRESS.
2172         (read_ofile_symtab): Update.
2173         (process_one_symbol): Update.
2174         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
2175         offsets.
2176         (dw2_relocate): Remove.
2177         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
2178         searching addrmap.
2179         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
2180         Update.
2181         (process_psymtab_comp_unit_reader, add_partial_symbol)
2182         (add_partial_subprogram, dwarf2_ranges_read): Update.
2183         (load_partial_dies): Update.
2184         (add_address_entry): Don't add objfile offsets.
2185         (dwarf2_build_include_psymtabs): Update.
2186         (create_addrmap_from_aranges): Don't add objfile offsets.
2187         (dw2_find_pc_sect_compunit_symtab): Update.
2188         * mdebugread.c (parse_symbol): Don't add objfile offsets.
2189         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
2190         Update.
2191         (parse_partial_symbols): Don't add objfile offsets.  Use
2192         raw_text_low, raw_text_high.  Update.
2193         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
2194         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
2195         or call 'relocate' quick function.  Clear psymbol_map.
2196         * psympriv.h (struct partial_symbol) <address>: Add section
2197         offset.
2198         <set_unrelocated_address>: Rename from set_address.
2199         <raw_text_low, raw_text_high>: New methods.
2200         <text_low, text_high>: Add objfile parameter.
2201         (add_psymbol_to_bcache): Add 'section' parameter.  Call
2202         set_unrelocated_address.
2203         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2204         (find_pc_psymbol): Update.
2205         (fixup_psymbol_section, relocate_psymtabs): Remove.
2206         (dump_psymtab, psym_functions): Update.
2207         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
2208         parameter.
2209         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
2210         (start_psymtab_common): Update.
2211         * symfile-debug.c (debug_qf_relocate): Remove.
2212         (debug_sym_quick_functions): Update.
2213         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
2214         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
2215         Update.
2216
2217 2018-07-26  Tom Tromey  <tromey@redhat.com>
2218
2219         * dbxread.c (end_psymtab): Use text_high_valid and
2220         text_low_valid.
2221         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
2222         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
2223         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
2224         Update comment.
2225         <text_low_valid, text_high_valid>: New fields.
2226         <set_text_low, set_text_high>: Update.
2227         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
2228
2229 2018-07-26  Tom Tromey  <tom@tromey.com>
2230
2231         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
2232         Update.
2233         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
2234         textlow and texthigh fields.
2235         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
2236         Update.
2237         * mdebugread.c (parse_lines, parse_partial_symbols)
2238         (psymtab_to_symtab_1): Update.
2239         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
2240         Rename fields.  Update comment.  Now private.
2241         <text_low, text_high, set_text_low, set_text_high>: New methods.
2242         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2243         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
2244         (start_psymtab_common, maintenance_info_psymtabs)
2245         (maintenance_check_psymtabs): Update.
2246         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
2247         texthigh fields.
2248         (scan_xcoff_symtab): Update.
2249
2250 2018-07-26  Tom Tromey  <tromey@redhat.com>
2251
2252         * psympriv.h (struct partial_symbol) <unrelocated_address,
2253         address, set_address>: New methods.
2254         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
2255         (fixup_psymbol_section, relocate_psymtabs): Update.
2256         (print_partial_symbols): Add 'objfile' parameter.  Update.
2257         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
2258         Update.
2259
2260 2018-07-26  Tom Tromey  <tom@tromey.com>
2261
2262         * dwarf-index-write.c (write_psymbols, debug_names::insert)
2263         (debug_names::write_psymbols): Update.
2264         * psympriv.h (struct partial_symbol): Derive from
2265         general_symbol_info.
2266         <obj_section>: New method.
2267         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
2268         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2269         (find_pc_sect_psymbol, fixup_psymbol_section)
2270         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
2271         (print_partial_symbols, recursively_search_psymtabs)
2272         (compare_psymbols, psymbol_hash, psymbol_compare)
2273         (add_psymbol_to_bcache, maintenance_check_psymtabs)
2274         (psymbol_name_matches, psym_fill_psymbol_map): Update.
2275
2276 2018-07-26  Tom Tromey  <tromey@redhat.com>
2277
2278         * dbxread.c (end_psymtab): Remove dead code.
2279
2280 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
2281
2282         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
2283         DWARF unwinders are disabled.
2284         * dwarf2-frame.c: Add dwarf2read.h include.
2285         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
2286         disabled.
2287         (dwarf2_frame_unwinders_enabled_p): Define.
2288         (show_dwarf_unwinders_enabled_p): New function.
2289         (_initialize_dwarf2_frame): Register switch to control DWARF
2290         unwinder use.
2291         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
2292         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
2293         (show_dwarf_cmdlist): Remove static keyword.
2294         * dwarf2read.h (set_dwarf_cmdlist): Declare.
2295         (show_dwarf_cmdlist): Declare.
2296         * NEWS: Document new feature.
2297
2298 2018-07-26  Tom de Vries  <tdevries@suse.de>
2299
2300         PR breakpoints/23366
2301         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
2302
2303 2018-07-26  Tom de Vries  <tdevries@suse.de>
2304
2305         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
2306         DW_AT_count can't be translated to a dynamic prop.
2307
2308 2018-07-25  Tom de Vries  <tdevries@suse.de>
2309
2310         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
2311         try/catch.
2312
2313 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
2314
2315         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
2316
2317 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
2318
2319         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
2320
2321 2018-07-24  Keith Seitz  <keiths@redhat.comt
2322
2323         PR symtab/23010
2324         * dwarf2read.c (dw2_add_symbol_to_list): New function.
2325         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
2326         instead of add_symbol_to_list.
2327         (read_file_scope): Call prepare_one_comp_unit before reading
2328         any other DIEs.
2329
2330 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
2331
2332         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
2333
2334 2018-07-24  Tom Tromey  <tom@tromey.com>
2335
2336         * utils.c (malloc, realloc, free): Don't declare.
2337         * configure, config.in: Rebuild.
2338         * configure.ac: Don't check for declarations of free, malloc, or
2339         realloc.
2340
2341 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
2342
2343         * aarch64-linux-nat.c
2344         (aarch64_linux_nat_target::stopped_data_address): Remove unused
2345         variable.
2346         * arm-linux-nat.c (fetch_regs): Likewise.
2347         (store_regs): Likewise.
2348         (fetch_vfp_regs): Likewise.
2349         (store_vfp_regs): Likewise.
2350         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
2351         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
2352         (arm_linux_nat_target::insert_watchpoint): Likewise.
2353         (arm_linux_nat_target::remove_watchpoint): Likewise.
2354         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
2355         Likewise.
2356         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
2357         Likewise.
2358         * ppc-linux-nat.c (fetch_register): Likewise.
2359         (fetch_all_gp_regs): Likewise.
2360         (fetch_ppc_registers): Likewise.
2361         (store_all_gp_regs): Likewise.
2362         (store_ppc_registers): Likewise.
2363         (hwdebug_insert_point): Likewise.
2364         (can_use_watchpoint_cond_accel): Likewise.
2365         * remote-sim.c (gdb_os_write_stdout): Likewise.
2366
2367 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
2368             Tom Tromey  <tom@tromey.com>
2369
2370         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
2371         test for it.
2372         * configure: Rebuild.
2373
2374 2018-07-22  Tom Tromey  <tom@tromey.com>
2375
2376         * regformats/regdat.sh: Define xmltarget_${name} inside
2377         #ifndef IN_PROCESS_AGENT.
2378
2379 2018-07-22  Tom Tromey  <tom@tromey.com>
2380
2381         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
2382
2383 2018-07-22  Tom Tromey  <tom@tromey.com>
2384
2385         * symfile.c (reread_symbols): Notify iter, not objfile.
2386
2387 2018-07-22  Tom Tromey  <tom@tromey.com>
2388
2389         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
2390         Use arch_ops.
2391         (ravenscar_thread_target::prepare_to_store): Likewise.
2392
2393 2018-07-22  Tom Tromey  <tom@tromey.com>
2394
2395         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
2396         unused variable.  Call value_fetch_lazy when needed.
2397         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
2398         Remove unused variable.  Call value_fetch_lazy when needed.
2399
2400 2018-07-22  Tom Tromey  <tom@tromey.com>
2401
2402         * m32c-tdep.c (mark_dma): Return void.
2403         (make_regs): Remove unused declarations.
2404
2405 2018-07-22  Tom Tromey  <tom@tromey.com>
2406
2407         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
2408         cmdscm_get_valid_command_smob_arg_unsafe for effect.
2409         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
2410         bkscm_get_valid_block_smob_arg_unsafe for effect.
2411
2412 2018-07-22  Tom Tromey  <tom@tromey.com>
2413
2414         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
2415         value_type.
2416
2417 2018-07-22  Tom Tromey  <tom@tromey.com>
2418
2419         * windows-nat.c (saved_context): Conditionally define.
2420         * remote.c (remote_target::remote_btrace_maybe_reopen):
2421         Conditionally declare "warned".
2422         * inflow.c (sigquit_ours): Conditionally define.
2423         (new_tty): Move "tty" declaration inside #if.
2424         * guile/guile.c (guile_datadir): Conditionally define.
2425         * charset.c (set_be_le_names): Move some declarations inside #if.
2426         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
2427         #if.
2428         (parse_xml_btrace_conf): Likewise.
2429
2430 2018-07-22  Tom Tromey  <tom@tromey.com>
2431
2432         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
2433
2434 2018-07-22  Tom Tromey  <tom@tromey.com>
2435
2436         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
2437         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
2438         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
2439         * buildsym-legacy.c (get_macro_table): Remove unused variable.
2440         * stack.c (frame_apply_level_command): Remove unused variable.
2441         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
2442         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
2443         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
2444         unused variable.
2445         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
2446         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
2447         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
2448         variable.
2449         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
2450         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
2451         variable.
2452         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
2453         Remove unused variable.
2454         * cli/cli-script.c (recurse_read_control_structure): Remove unused
2455         variable.
2456         * common/tdesc.c (print_xml_feature::visit): Remove unused
2457         variable.
2458         * compile/compile-object-load.c (store_regs): Remove unused
2459         variables.
2460         * complaints.c (clear_complaints): Remove unused variable.
2461         * corelow.c (core_target_open): Remove unused variable.
2462         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
2463         variable.
2464         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
2465         variable.
2466         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
2467         variable.
2468         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
2469         variable.
2470         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
2471         variable.
2472         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
2473         variable.
2474         * ia64-tdep.c (examine_prologue): Remove unused variable.
2475         * infcall.c (run_inferior_call): Remove unused variable.
2476         * inferior.c (exit_inferior): Remove unused variable.
2477         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
2478         * linespec.c (decode_line_2): Remove unused variable.
2479         * linux-nat.c (super_close): Remove.
2480         * linux-tdep.c (linux_info_proc): Remove unused variable.
2481         * mi/mi-main.c (mi_execute_command): Remove unused variable.
2482         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
2483         Remove unused variable.
2484         * parse.c (find_minsym_type_and_address): Remove unused variable.
2485         * printcmd.c (info_symbol_command, printf_floating): Remove unused
2486         variable.
2487         * python/py-breakpoint.c (bppy_set_commands): Remove unused
2488         variable.
2489         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
2490         variables.
2491         * record-btrace.c (record_btrace_target::store_registers): Remove
2492         unused variable.
2493         (cmd_show_record_btrace_cpu): Remove unused variable.
2494         * riscv-tdep.c (riscv_register_reggroup_p)
2495         (riscv_push_dummy_call, riscv_return_value): Remove unused
2496         variable.
2497         * rust-exp.y (literal): Remove unused variable.
2498         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
2499         unused variable.
2500         <STRUCTOP_ANONYMOUS>: Likewise.
2501         * s390-linux-tdep.c (s390_linux_init_abi_31)
2502         (s390_linux_init_abi_64): Remove unused variable.
2503         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
2504         (file_select_thread, net_windows_open, _initialize_ser_windows):
2505         Remove unused variables.
2506         * symtab.c (find_pc_sect_line): Remove unused variable.
2507         * target-memory.c (compute_garbled_blocks): Remove unused
2508         variable.
2509         (target_write_memory_blocks): Remove unused variable.
2510         * target.c (target_stack::unpush): Remove unused variables.
2511         * tracepoint.c (start_tracing, all_tracepoint_actions)
2512         (merge_uploaded_trace_state_variables)
2513         (print_one_static_tracepoint_marker): Remove unused variable.
2514         * unittests/basic_string_view/element_access/char/1.cc (test01):
2515         Remove unused variable.
2516         * windows-nat.c (windows_continue, windows_add_all_dlls)
2517         (do_initial_windows_stuff, windows_nat_target::create_inferior):
2518         Remove unused variables.
2519
2520 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
2521
2522         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
2523         attr_profile in HAVE_ELF.
2524         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
2525         HAVE_ELF.
2526
2527 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
2528
2529         * frame.c (frame_register_unwind): Change parameter name.
2530         (frame_unwind_register): Likewise.
2531         (frame_unwind_register_value): Likewise.
2532         (frame_unwind_register_signed): Likewise.
2533         (frame_unwind_register_unsigned): Likewise.
2534         * frame.h (frame_register_unwind): Likewise.
2535         (frame_unwind_register): Likewise.
2536         (frame_unwind_register_value): Likewise.
2537         (frame_unwind_register_signed): Likewise.
2538         (frame_unwind_register_unsigned): Likewise.
2539         (frame_unwind_arch): Likewise.
2540
2541 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2542
2543         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
2544         ISA maintenance.
2545
2546 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2547
2548         * mips-linux-nat.c (mips_linux_nat_target::read_description):
2549         Call `get_ptrace_pid' rather than extracting the ptrace PID by
2550         hand.
2551
2552 2018-07-20  Keith Seitz  <keiths@redhat.com>
2553
2554         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
2555         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
2556         m_compunit_symtab, m_language>: Add "m_" prefix.
2557         Update all uses.
2558         * buildsym.c: Update all uses.
2559
2560 2018-07-20  Tom Tromey  <tom@tromey.com>
2561
2562         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
2563         * buildsym.h (record_line_ftype): Remove typedef.
2564
2565 2018-07-20  Tom Tromey  <tom@tromey.com>
2566
2567         * buildsym-legacy.h (augment_type_symtab): Don't declare.
2568         (end_expandable_symtab): Likewise.
2569         (end_symtab_get_static_block): Likewise.
2570         (end_symtab_from_static_block): Likewise.
2571         * buildsym-legacy.c (augment_type_symtab): Remove.
2572         (end_expandable_symtab): Remove.
2573         (end_symtab_get_static_block): Remove.
2574         (end_symtab_from_static_block): Remove.
2575
2576 2018-07-20  Tom Tromey  <tom@tromey.com>
2577
2578         * dwarf2read.c: Include buildsym.h.
2579         (struct dwarf2_cu) <builder>: New method.
2580         (fixup_go_packaging): Update.
2581         (process_full_comp_unit, process_full_type_unit): Update.  Don't
2582         use scoped_free_pendings.
2583         (using_directives): Add "cu" parameter, remove "language".
2584         (read_import_statement, setup_type_unit_groups, )
2585         (read_func_scope, read_lexical_block_scope)
2586         (dwarf2_record_block_ranges, read_namespace): Update.
2587         (lnp_state_machine::lnp_state_machine): Add cu parameter.
2588         (lnp_state_machine::handle_end_sequence): Update.
2589         (class lnp_state_machine) <m_cu>: New member.
2590         <m_record_line_callback>: Remove.
2591         <m_currently_recording_lines>: New member.
2592         (lnp_state_machine::handle_set_file): Update.
2593         (noop_record_line): Remove.
2594         (dwarf_record_line_p): Add cu parameter.
2595         (dwarf_record_line_1, dwarf_finish_line): Likewise.
2596         (lnp_state_machine::record_line)
2597         (lnp_state_machine::lnp_state_machine)
2598         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
2599         (dwarf_decode_lines): Update.
2600         (dwarf2_start_subfile): Add cu parameter.
2601         (dwarf2_start_symtab, new_symbol): Update.
2602         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
2603         Remove dwarf2_per_objfile parameter.
2604         (dwarf_decode_macros): Update.
2605
2606 2018-07-20  Tom Tromey  <tom@tromey.com>
2607
2608         * stabsread.c (define_symbol): Update.
2609         * buildsym-legacy.h (get_buildsym_compunit): Declare.
2610         * dwarf2read.c (new_symbol): Update.
2611         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
2612         * cp-namespace.c: Include buildsym.h.
2613         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
2614         * buildsym-legacy.c (get_buildsym_compunit): New function.
2615
2616 2018-07-20  Tom Tromey  <tom@tromey.com>
2617
2618         * xcoffread.c: Include buildsym-legacy.h.
2619         * windows-nat.c: Include buildsym-legacy.h.
2620         * stabsread.c: Include buildsym-legacy.h.
2621         * mdebugread.c: Include buildsym-legacy.h.
2622         * buildsym-legacy.h: New file.
2623         * buildsym-legacy.c: New file, from buildsym.c.
2624         * go32-nat.c: Include buildsym-legacy.h.
2625         * dwarf2read.c: Include buildsym-legacy.h.
2626         * dbxread.c: Include buildsym-legacy.h.
2627         * cp-namespace.c: Include buildsym-legacy.h.
2628         * coffread.c: Include buildsym-legacy.h.
2629         * buildsym.h: Move some contents to buildsym-legacy.h.
2630         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
2631         buildsym-legacy.c.
2632         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
2633
2634 2018-07-20  Tom Tromey  <tom@tromey.com>
2635
2636         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
2637         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
2638         (buildsym_compunit::buildsym_compunit)
2639         (buildsym_compunit::~buildsym_compunit)
2640         (buildsym_compunit::get_macro_table): Define.
2641
2642 2018-07-20  Tom Tromey  <tom@tromey.com>
2643
2644         * buildsym.c (reset_symtab_globals): Remove.
2645         (buildsym_compunit::end_symtab_from_static_block): Update.
2646         (buildsym_compunit::augment_type_symtab): Update.
2647         (end_symtab_from_static_block): Call free_buildsym_compunit.
2648         (augment_type_symtab, end_symtab, end_expandable_symtab):
2649         Likewise.
2650
2651 2018-07-20  Tom Tromey  <tom@tromey.com>
2652
2653         * arch-utils.c: Do not include buildsym.h.
2654         * mipsread.c: Do not include buildsym.h.
2655         * machoread.c: Do not include buildsym.h.
2656         * elfread.c: Do not include buildsym.h.
2657
2658 2018-07-20  Tom Tromey  <tom@tromey.com>
2659
2660         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
2661         initialization.
2662         (buildsym_compunit): Add new constructor.
2663         (struct buildsym_compunit) <get_last_source_file, finish_block,
2664         record_block_range, start_subfile, patch_subfile_names,
2665         push_subfile, pop_subfile, record_line, get_compunit_symtab,
2666         set_last_source_start_addr, get_last_source_start_addr,
2667         get_local_using_directives, set_local_using_directives,
2668         get_global_using_directives, outermost_context_p,
2669         get_current_context_stack, get_context_stack_depth,
2670         get_current_subfile, get_local_symbols, get_file_symbols,
2671         get_global_symbols, record_debugformat, record_producer,
2672         push_context, pop_context, end_symtab_get_static_block,
2673         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
2674         New public methods.
2675         <record_pending_block, finish_block_internal, make_blockvector,
2676         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
2677         private methods.
2678         Update all users.
2679
2680 2018-05-22  Tom Tromey  <tom@tromey.com>
2681
2682         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2683         parameter.
2684         (finish_block_internal): Update.
2685
2686 2018-07-20  Tom Tromey  <tom@tromey.com>
2687
2688         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2689         parameter.
2690         (finish_block_internal): Update.
2691
2692 2018-07-20  Tom Tromey  <tom@tromey.com>
2693
2694         * buildsym.h (EXTERN): Don't define or undef.
2695         * buildsym.c (EXTERN): Don't define.
2696
2697 2018-07-20  Tom Tromey  <tom@tromey.com>
2698
2699         * buildsym.c: Remove TODO comment.
2700
2701 2018-07-20  Tom Tromey  <tom@tromey.com>
2702
2703         * coffread.c (coff_symtab_read): Update.
2704         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
2705         (xcoff_new_init): Update.
2706         * mipsread.c (mipscoff_new_init): Update.
2707         * mdebugread.c (mdebug_build_psymtabs): Update.
2708         * elfread.c (elf_new_init): Update.
2709         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
2710         Update.
2711         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
2712         (coffstab_build_psymtabs, elfstab_build_psymtabs)
2713         (stabsect_build_psymtabs): Update.
2714         * buildsym.h (buildsym_init): Don't declare.
2715         * buildsym.c: Update comment.
2716         (prepare_for_building): Remove.
2717         (start_symtab, restart_symtab): Update.
2718         (reset_symtab_globals): Update comment.
2719         (buildsym_init): Remove.
2720
2721 2018-07-20  Tom Tromey  <tom@tromey.com>
2722
2723         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
2724         * stabsread.c (patch_block_stabs, define_symbol, read_type)
2725         (read_enum_type, common_block_start, common_block_end)
2726         (cleanup_undefined_types_1, finish_global_stabs): Update.
2727         * mdebugread.c (psymtab_to_symtab_1): Update.
2728         * dwarf2read.c (fixup_go_packaging, read_func_scope)
2729         (read_lexical_block_scope, new_symbol): Update.
2730         * dbxread.c (process_one_symbol): Update.
2731         * coffread.c (coff_symtab_read, process_coff_symbol)
2732         (coff_read_enum_type): Update.
2733         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
2734         declare.
2735         (get_local_symbols, get_file_symbols, get_global_symbols): New
2736         functions.
2737         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
2738         m_global_symbols.
2739         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
2740         (~scoped_free_pendings): Update.
2741         (finish_block, prepare_for_building, reset_symtab_globals)
2742         (end_symtab_get_static_block, end_symtab_with_blockvector)
2743         (augment_type_symtab, push_context): Update.
2744         (get_local_symbols, get_file_symbols, get_global_symbols): New
2745         functions.
2746         (buildsym_init): Update.
2747
2748 2018-07-20  Tom Tromey  <tom@tromey.com>
2749
2750         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
2751         (process_full_type_unit): Likewise.
2752         (dwarf2_start_symtab): Set list_in_scope.
2753
2754 2018-07-20  Tom Tromey  <tom@tromey.com>
2755
2756         * dwarf2read.c (process_psymtab_comp_unit_reader)
2757         (build_type_psymtabs_reader): Do not set list_in_scope.
2758
2759 2018-07-20  Tom Tromey  <tom@tromey.com>
2760
2761         * buildsym.c (free_pendings): Remove.
2762         (add_symbol_to_list, scoped_free_pendings)
2763         (finish_block_internal, buildsym_init): Update.
2764
2765 2018-07-20  Tom Tromey  <tom@tromey.com>
2766
2767         * xcoffread.c (read_xcoff_symtab): Update.
2768         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
2769         Update.
2770         * dbxread.c (process_one_symbol): Update.
2771         * coffread.c (coff_symtab_read): Update.
2772         * buildsym.h (finish_block): Update.
2773         * buildsym.c (finish_block): Remove "listhead" argument.
2774         (end_symtab_get_static_block): Update.
2775
2776 2018-07-20  Tom Tromey  <tom@tromey.com>
2777
2778         * buildsym.h (class scoped_free_pendings): Remove constructor.
2779         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
2780         method.
2781         <m_pending_block_obstack, m_pending_blocks>: New members.
2782         (pending_block_obstack, pending_blocks): Remove.
2783         (scoped_free_pendings::scoped_free_pendings): Default.
2784         (~scoped_free_pendings): Update.
2785         (free_pending_blocks): Remove.
2786         (finish_block_internal, record_pending_block, make_blockvector)
2787         (end_symtab_get_static_block, augment_type_symtab, push_context)
2788         (buildsym_init): Update.
2789
2790 2018-07-20  Tom Tromey  <tom@tromey.com>
2791
2792         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
2793         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
2794         members.
2795         (pending_addrmap, pending_addrmap_obstack)
2796         (pending_addrmap_interesting): Remove.
2797         (scoped_free_pendings, record_block_range, make_blockvector)
2798         (prepare_for_building, reset_symtab_globals, buildsym_init):
2799         Update.
2800
2801 2018-07-20  Tom Tromey  <tom@tromey.com>
2802
2803         * xcoffread.c (process_linenos): Update.
2804         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
2805         * mdebugread.c (psymtab_to_symtab_1): Update.
2806         * dwarf2read.c (setup_type_unit_groups)
2807         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
2808         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
2809         * dbxread.c (process_one_symbol): Update.
2810         * coffread.c (coff_symtab_read, enter_linenos)
2811         (process_coff_symbol): Update.
2812         * buildsym.h (current_subfile): Don't declare.
2813         (get_current_subfile): Declare.
2814         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
2815         member.
2816         (start_subfile, free_buildsym_compunit, push_subfile)
2817         (prepare_for_building, start_symtab): Update.
2818         (get_current_subfile): New function.
2819
2820 2018-07-20  Tom Tromey  <tom@tromey.com>
2821
2822         * coffread.c (coff_symtab_read): Update.
2823         * xcoffread.c (read_xcoff_symtab): Update.
2824         * dwarf2read.c (new_symbol): Update.
2825         (read_func_scope, read_lexical_block_scope): Update.
2826         * dbxread.c (process_one_symbol): Update.
2827         * buildsym.h (context_stack, context_stack_depth): Don't declare.
2828         (outermost_context_p): Remove macro.
2829         (outermost_context_p, get_current_context_stack)
2830         (get_context_stack_depth): Declare.
2831         (pop_context): Return struct context_stack.
2832         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
2833         member.
2834         (context_stack_size): Remove.
2835         (INITIAL_CONTEXT_STACK_SIZE): Remove.
2836         (prepare_for_building, end_symtab_get_static_block)
2837         (augment_type_symtab, push_context): Update.
2838         (pop_context): Return struct context_stack.
2839         (outermost_context_p, get_current_context_stack)
2840         (get_context_stack_depth): New functions.
2841         (buildsym_init): Update.
2842
2843 2018-07-20  Tom Tromey  <tom@tromey.com>
2844
2845         * rust-exp.y: Now a pure parser.  Update all rules.
2846         (%union): Move earlier.
2847         (current_parser, work_obstack): Remove globals.
2848         (rust_parser, ~rust_parser): Update.
2849         (class rust_parser) <copy_name, concat3, crate_name, super_name,
2850         lex_character, lex_number, lex_string, lex_identifier,
2851         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
2852         convert_name, convert_params_to_expression,
2853         convert_ast_to_expression, ast_basic_type, ast_operation,
2854         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
2855         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
2856         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
2857         ast_array_type, ast_slice_type, ast_reference_type,
2858         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
2859         (rust_parse): Update.
2860         (rustyyerror, rustyylex): Add parser parameter.
2861         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
2862         (rust_lex_stringish_test, rust_lex_test_sequence)
2863         (rust_lex_test_trailing_dot, rust_lex_test_completion)
2864         (rust_lex_test_push_back, rust_lex_tests): Update.
2865
2866 2018-07-19  Pedro Alves  <palves@redhat.com>
2867
2868         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
2869         gdb::unique_xmalloc_ptr.
2870         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
2871         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
2872         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
2873         copy-initialization.
2874         * guile/scm-pretty-print.c (ppscm_print_children): Use
2875         gdb::unique_xmalloc_ptr instead of cleanups.
2876         (gdbscm_apply_val_pretty_printer): Remove cleanups.
2877         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
2878         gdb::unique_xmalloc_ptr.
2879         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2880         Adjust to use gdb::unique_xmalloc_ptr.
2881         * guile/scm-utils.c (extract_arg): Adjust.
2882         * guile/scm-value.c (gdbscm_value_field): Adjust to use
2883         gdb::unique_xmalloc_ptr instead of a cleanup.
2884
2885 2018-07-19  Tom Tromey  <tom@tromey.com>
2886
2887         * utils.c (do_value_free_to_mark)
2888         (make_cleanup_value_free_to_mark): Remove.
2889         * utils.h (make_cleanup_value_free_to_mark): Remove.
2890
2891 2018-07-19  Pedro Alves  <palves@redhat.com>
2892
2893         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
2894         forwarding reference.
2895
2896 2018-07-18  Pedro Alves  <palves@redhat.com>
2897
2898         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
2899         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
2900         cleanup.
2901
2902 2018-07-18  Pedro Alves  <palves@redhat.com>
2903
2904         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
2905         exceptions.
2906         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
2907         (gdbscm_wrap): New.
2908         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
2909         directly instead of a cleanup.
2910         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
2911         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
2912         (vlscm_binop_gdbthrow): New, factored out from ...
2913         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
2914         (vlscm_rich_compare): Use gdbscm_wrap.
2915         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
2916         instead of a cleanup.
2917         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
2918         cleanup.
2919         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2920         Use xfree directly instead of a cleanup.
2921         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
2922         Adjust to use gdbscm_wrap and scoped_value_mark.
2923         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
2924         (gdbscm_value_address, gdbscm_value_dereference)
2925         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
2926         scoped_value_mark.
2927         (gdbscm_value_dynamic_type): Use scoped_value_mark.
2928         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
2929         scoped_value_mark.
2930         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
2931         gdbscm_wrap and scoped_value_mark.
2932         (gdbscm_value_to_string): Use xfree directly instead of a
2933         cleanup.  Move 'buffer' unique_ptr to TRY scope.
2934         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
2935         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
2936         scoped_value_mark.
2937         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
2938         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
2939         scoped_value_mark.
2940         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
2941         gdbscm_wrap.
2942
2943 2018-07-18  Tom de Vries  <tdevries@suse.de>
2944
2945         * findvar.c (default_read_var_value): Also resolve dynamic type for
2946         LOC_OPTIMIZED_OUT vars.
2947
2948 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
2949
2950         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
2951         decoding.
2952
2953 2018-07-17  Tom Tromey  <tom@tromey.com>
2954
2955         * guile/scm-param.c (pascm_set_func, pascm_show_func)
2956         (compute_enum_list, pascm_set_param_value_x)
2957         (gdbscm_parameter_value): Update.
2958         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
2959         (gdbscm_scm_to_host_string): Update.
2960         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
2961         Update.
2962         * guile/scm-cmd.c (cmdscm_add_completion): Update.
2963         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
2964         * guile/scm-string.c (gdbscm_scm_to_string): Return
2965         unique_xmalloc_ptr.
2966         (gdbscm_scm_to_host_string): Likewise.
2967
2968 2018-07-17  Tom Tromey  <tom@tromey.com>
2969
2970         * guile/guile.c (gdbscm_eval_from_control_command): Update.
2971         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
2972         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
2973         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
2974         unique_xmalloc_ptr.
2975
2976 2018-07-17  Tom Tromey  <tom@tromey.com>
2977
2978         * guile/scm-param.c (pascm_signal_setshow_error): Update.
2979         * guile/guile-internal.h (gdbscm_exception_message_to_string):
2980         Update.
2981         * guile/scm-cmd.c (cmdscm_function): Update.
2982         * guile/scm-pretty-print.c
2983         (ppscm_print_exception_unless_memory_error): Update.
2984         * guile/scm-exception.c (gdbscm_exception_message_to_string):
2985         Return unique_xmalloc_ptr.
2986
2987 2018-07-17  Tom Tromey  <tom@tromey.com>
2988
2989         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
2990         Use string_printf.
2991
2992 2018-07-17  Jim Wilson  <jimw@sifive.com>
2993
2994         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
2995         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
2996         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
2997         unecessary braces after EF_RISCV_RVC test.  Delete call to
2998         set_gdbarch_decr_pc_after_break.
2999
3000         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
3001         RISCV_LAST_FP_REGNUM + 1.
3002         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
3003
3004 2018-07-17  Tom Tromey  <tom@tromey.com>
3005
3006         * configure.ac: Remove --disable-gdbcli.
3007         * configure: Rebuild.
3008         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
3009         (SUBDIR_CLI_CFLAGS): Remove.
3010         (SFILES): Use SUBDIR_CLI_SRCS.
3011         (COMMON_OBS): Use SUBDIR_CLI_OBS.
3012
3013 2018-07-17  Tom Tromey  <tom@tromey.com>
3014
3015         PR gdb/18624:
3016         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
3017
3018 2018-07-16  Jim Wilson  <jimw@sifive.com>
3019
3020         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
3021
3022 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3023
3024         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
3025         variable.
3026         (libunwind_frame_sniffer): Likewise.
3027         (libunwind_frame_prev_register): Likewise.
3028         (libunwind_sigtramp_frame_sniffer): Likewise.
3029         * ia64-tdep.c (ia64_access_reg): Likewise.
3030         (ia64_access_rse_reg): Likewise.
3031         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
3032         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
3033
3034 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3035
3036         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
3037
3038 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3039
3040         * remote-sim.c (gdbsim_target::close,
3041         gdbsim_target::mourn_inferior): Remove unused variables.
3042
3043 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
3044
3045         * ia64-tdep.c (ktab_buf): New global.
3046         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
3047         (get_kernel_table): Adjust.
3048
3049 2018-07-16  Tom Tromey  <tom@tromey.com>
3050
3051         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
3052         * dwarf2read.c (using_directives, new_symbol): Use
3053         outermost_context_p.
3054         * dbxread.c (process_one_symbol): Use outermost_context_p.
3055         * coffread.c (coff_symtab_read): Use outermost_context_p.
3056
3057 2018-07-16  Tom Tromey  <tom@tromey.com>
3058
3059         * dwarf2read.c (using_directives, read_func_scope)
3060         (read_lexical_block_scope): Update.
3061         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
3062         * buildsym.h (local_using_directives, global_using_directives):
3063         Don't declare.
3064         (get_local_using_directives, set_local_using_directives)
3065         (get_global_using_directives): Declare.
3066         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
3067         m_global_using_directives>: New members.
3068         (finish_block_internal, prepare_for_building)
3069         (reset_symtab_globals, end_symtab_get_static_block)
3070         (push_context): Update.
3071         (get_local_using_directives, set_local_using_directives)
3072         (get_global_using_directives): New functions.
3073         (buildsym_init): Update.
3074
3075 2018-07-16  Tom Tromey  <tom@tromey.com>
3076
3077         * xcoffread.c (xcoff_initial_scan): Don't call
3078         free_pending_blocks.
3079         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
3080         * buildsym.h (class scoped_free_pendings): Add constructor.
3081         (free_pending_blocks): Don't declare.
3082         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
3083         (free_pending_blocks): Now static.
3084
3085 2018-07-16  Tom Tromey  <tom@tromey.com>
3086
3087         * buildsym.h (push_subfile, pop_subfile): Update declarations.
3088         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
3089         member.
3090         (struct subfile_stack): Remove.
3091         (subfile_stack): Remove.
3092         (push_subfile, pop_subfile, buildsym_init): Update.
3093
3094 2018-07-16  Tom Tromey  <tom@tromey.com>
3095
3096         * buildsym.c (push_subfile): Use gdb_assert.
3097         (pop_subfile): Use gdb_assert.
3098
3099 2018-07-16  Tom Tromey  <tom@tromey.com>
3100
3101         * buildsym.h (merge_symbol_lists): Remove.
3102         * buildsym.c (merge_symbol_lists): Remove.
3103
3104 2018-07-16  Tom Tromey  <tom@tromey.com>
3105
3106         * stabsread.c (scan_file_globals): Update comment.
3107         * stabsread.h (scan_file_globals): Move from buildsym.h.
3108         * buildsym.h (scan_file_globals): Move to stabsread.h.
3109
3110 2018-07-16  Tom Tromey  <tom@tromey.com>
3111
3112         * xcoffread.c (xcoff_new_init): Update.
3113         * mipsread.c (mipscoff_new_init): Update.
3114         * mdebugread.c (mdebug_build_psymtabs): Update.
3115         * elfread.c (elf_new_init): Update.
3116         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
3117         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
3118         * buildsym.h (buildsym_new_init): Don't declare.
3119         * buildsym.c (buildsym_new_init): Remove.
3120
3121 2018-07-16  Tom Tromey  <tom@tromey.com>
3122
3123         * stabsread.h (within_function): Move from buildsym.h.
3124         * stabsread.c (start_stabs): Clear within_function.
3125         * coffread.c (coff_start_symtab): Clear within_function.
3126         * buildsym.h (within_function): Move to stabsread.h.
3127         * buildsym.c (prepare_for_building): Update.
3128
3129 2018-07-16  Tom Tromey  <tom@tromey.com>
3130
3131         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
3132         * dwarf2read.c (dwarf2_start_symtab): Don't set
3133         processing_gcc_compilation.
3134         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
3135
3136 2018-07-16  Tom Tromey  <tom@tromey.com>
3137
3138         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
3139         (next_symbol_text_func): Move from buildsym.h.
3140         * stabsread.c (hashname): Move from buildsym.c.
3141         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
3142         (next_symbol_text_func, hashname): Move to stabsread.h.
3143         * buildsym.c: Don't include bcache.h
3144         (hashname): Move to stasbread.c.
3145
3146 2018-07-16  Tom Tromey  <tom@tromey.com>
3147
3148         * buildsym.h (context_stack_size): Don't declare.
3149         * buildsym.c (context_stack_size): New global.
3150
3151 2018-07-16  Tom Tromey  <tom@tromey.com>
3152
3153         * dbxread.c (processing_acc_compilation): New global.
3154         * buildsym.h (processing_acc_compilation): Don't declare.
3155
3156 2018-07-16  Tom Tromey  <tom@tromey.com>
3157
3158         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
3159         * dbxread.c (read_ofile_symtab): Update.
3160         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
3161         * buildsym.h (last_source_start_addr): Remove.
3162         (set_last_source_start_addr, get_last_source_start_addr):
3163         Declare.
3164         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
3165         parameter.
3166         (struct buildsym_compunit) <m_last_source_start_addr>: New
3167         member.
3168         (prepare_for_building): Remove start_addr parameter.
3169         (start_symtab, restart_symtab, end_symtab_get_static_block)
3170         (end_symtab_with_blockvector): Update.
3171         (set_last_source_start_addr, get_last_source_start_addr): New
3172         functions.
3173
3174 2018-07-16  Tom Tromey  <tom@tromey.com>
3175
3176         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
3177         member.
3178         (have_line_numbers): Remove.
3179         (record_line, prepare_for_building, end_symtab_get_static_block)
3180         (augment_type_symtab): Update.
3181
3182 2018-07-16  Tom Tromey  <tom@tromey.com>
3183
3184         * buildsym.c (~buildsym_compunit): Free the macro table.
3185         (struct buildsym_compunit) <get_macro_table, release_macros>: New
3186         methods.
3187         <m_pending_macros>: New member.
3188         (pending_macros): Remove.
3189         (~scoped_free_pendings, get_macro_table, prepare_for_building)
3190         (reset_symtab_globals, end_symtab_get_static_block)
3191         (end_symtab_with_blockvector, augment_type_symtab)
3192         (buildsym_init): Update.
3193
3194 2018-07-16  Tom Tromey  <tom@tromey.com>
3195
3196         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
3197         parameter.
3198         (buildsym_compunit::set_last_source_file): New method.
3199         <m_last_source_file>: New member.
3200         (prepare_for_building): Remove "name" parameter.
3201         (start_symtab, restart_symtab, reset_symtab_globals): Update.
3202         (last_source_file): Remove.
3203         (set_last_source_file, get_last_source_file): Update.
3204
3205 2018-07-16  Tom Tromey  <tom@tromey.com>
3206
3207         * buildsym.c (prepare_for_building): Add assert.
3208
3209 2018-07-16  Tom Tromey  <tom@tromey.com>
3210
3211         * buildsym.c (~buildsym_compunit): Update.
3212         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
3213         (start_subfile, patch_subfile_names)
3214         (end_symtab_with_blockvector): Update.
3215
3216 2018-07-16  Tom Tromey  <tom@tromey.com>
3217
3218         * buildsym.c (struct buildsym_compunit): Add constructor,
3219         destructor, initializers.
3220         (start_buildsym_compunit): Remove.
3221         (free_buildsym_compunit): Use "delete".
3222         (start_symtab, restart_symtab): Use "new".
3223
3224 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
3225
3226         * symfile.c (set_objfile_default_section_offset): Remove struct
3227         keyword.
3228
3229 2018-07-14  Stafford Horne  <shorne@gmail.com>
3230
3231         * (Responsible Maintainers): Add myself as or1k maintainer.
3232
3233 2018-07-13  Tom Tromey  <tom@tromey.com>
3234
3235         * symfile.c (set_objfile_default_section_offset): Use extra braces
3236         around initializer.
3237
3238 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3239
3240         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
3241         non-branching basr.
3242
3243 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3244
3245         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3246         unittests/cli-utils-selftests.c
3247         * unittests/cli-utils-selftests.c: New file.
3248
3249 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3250
3251         * NEWS: Mention new commands. Mention change to 'thread apply'.
3252
3253 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3254
3255         * thread.c (thr_try_catch_cmd): New function.
3256         (thread_apply_all_command): Handle qcs flags.
3257         (thread_apply_command): Handle qcs flags.
3258         (taas_command): New function.
3259         (tfaas_command): New function.
3260         (_initialize_thread): Update to setup the new commands 'taas
3261         and 'tfaas'. Change doc string for 'thread apply'.
3262
3263 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3264
3265         * stack.c: (trailing_outermost_frame): New function, mostly
3266         extracted from backtrace_command_1.
3267         (leading_innermost_frame): New function.
3268         (backtrace_command_1): Update to call trailing_outermost_frame.
3269         (frame_apply_command_count): New function.
3270         (frame_apply_level_command): New function.
3271         (frame_apply_all_command): New function.
3272         (frame_apply_command): New function.
3273         (faas_command): New function.
3274         (frame_cmd_list): New variable.
3275         (_initialize_stack): Update to setup the new commands 'frame apply'
3276         and 'faas'.
3277
3278 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3279
3280         * cli-utils.c (number_or_range_parser::get_number): Only handle
3281         numbers or convenience var as numbers.
3282         (parse_flags): New function.
3283         (parse_flags_qcs): New function.
3284         (number_or_range_parser::finished): Ensure parsing end is detected
3285         before end of string.
3286         * cli-utils.h (parse_flags): New function.
3287         (parse_flags_qcs): New function.
3288         (number_or_range_parser): Remove m_finished bool.
3289         (number_or_range_parser::skip_range): Set m_in_range to false.
3290
3291 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
3292
3293         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
3294         on Windows.
3295
3296 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
3297             Jan Kratochvil  <jan.kratochvil@redhat.com>
3298             Paul Fertser  <fercerpav@gmail.com>
3299             Tsutomu Seki  <sekiriki@gmail.com>
3300             Pedro Alves  <palves@redhat.com>
3301
3302         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3303         'unittests/parse-connection-spec-selftests.c'.
3304         (COMMON_SFILES): Add 'common/netstuff.c'.
3305         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
3306         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
3307         * common/netstuff.c: New file.
3308         * common/netstuff.h: New file.
3309         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
3310         (wait_for_connect): Update comment.  New parameter
3311         'gdb::optional<int> sock' instead of 'struct serial *scb'.
3312         Use 'sock' directly instead of 'scb->fd'.
3313         (try_connect): New function, with code from 'net_open'.
3314         (net_open): Rewrite main loop to deal with multiple
3315         sockets/addresses.  Handle IPv6-style hostnames; implement
3316         support for IPv6 connections.
3317         * unittests/parse-connection-spec-selftests.c: New file.
3318
3319 2018-07-11  Pedro Alves  <palves@redhat.com>
3320
3321         PR gdb/23377
3322         * remote.c (remote_target::remote_detach_pid): Call
3323         set_current_process.
3324
3325 2018-07-11  Pedro Alves  <palves@redhat.com>
3326
3327         * h8300-tdep.c (h8300_gdbarch_init): Remove
3328         set_gdbarch_ecoff_reg_to_regnum calls.
3329
3330 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
3331
3332         PR c++/23373
3333         * c-typeprint.c (c_type_print_base_struct_union): Don't print
3334         offsets/sizes for static members of a class/struct.
3335
3336 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
3337
3338         * target-descriptions.c (tdesc_register_bitsize): Rename.
3339         * target-descriptions.h (tdesc_register_bitsize): Likewise.
3340         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
3341         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
3342
3343 2018-07-10  Tom Tromey  <tom@tromey.com>
3344
3345         * breakpoint.c (moribund_locations): Now static and a
3346         std::vector.
3347         (breakpoint_init_inferior, moribund_breakpoint_here_p)
3348         (build_bpstat_chain, update_global_location_list)
3349         (breakpoint_retire_moribund): Update.
3350         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
3351         VEC.
3352
3353 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
3354
3355         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
3356         (riscv_register_reggroup_p): Use new function, remove unneeded
3357         parenthesis.
3358         (riscv_push_dummy_call): Extend assert to compare against xlen or
3359         flen based on register type.
3360
3361 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
3362
3363         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
3364
3365 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3366
3367         * remote.c (show_hardware_watchpoint_limit): New function.
3368         (show_hardware_watchpoint_length_limit): New function.
3369         (show_hardware_breakpoint_limit): New function.
3370         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
3371         where appropriate, update help text.
3372
3373 2018-07-09  Tom Tromey  <tom@tromey.com>
3374
3375         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
3376         (CLIBS): Don't mention NAT_CLIBS.
3377
3378 2018-07-09  Tom Tromey  <tom@tromey.com>
3379
3380         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
3381         (LIBGDB_OBS, clean mostlyclean): Update.
3382         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
3383
3384 2018-07-09  Tom Tromey  <tom@tromey.com>
3385
3386         * Makefile.in (%.c: %.y): Use ECHO_YACC.
3387         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
3388         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
3389
3390 2018-07-09  Tom Tromey  <tom@tromey.com>
3391
3392         * Makefile.in (ALLDEPFILES): Remove exec.c.
3393         (COMMON_OBS): Remove exec.o.
3394         (COMMON_SFILES): Add exec.c.
3395
3396 2018-07-09  Tom Tromey  <tom@tromey.com>
3397
3398         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
3399
3400 2018-07-09  Tom Tromey  <tom@tromey.com>
3401
3402         * Makefile.in (clean mostlyclean): Remove stamp-version.
3403         (version.c): Depend on stamp-version.
3404         (stamp-version): New rule, from version.c rule.
3405
3406 2018-07-09  Tom Tromey  <tom@tromey.com>
3407
3408         * Makefile.in (init.c): Depend on stamp-init.
3409         (stamp-init): New rule, from init.c rule.
3410         (clean mostlyclean): Remove stamp-init.
3411
3412 2018-07-09  Tom Tromey  <tom@tromey.com>
3413
3414         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
3415         SUBDIR_GCC_COMPILE_SRCS.
3416
3417 2018-07-09  Tom Tromey  <tom@tromey.com>
3418
3419         * Makefile.in (init.c): Remove some unused sed rules.
3420
3421 2018-07-09  Tom Tromey  <tom@tromey.com>
3422
3423         * Makefile.in (TSOBS): Remove.
3424         (INIT_FILES): Update.
3425         (LIBGDB_OBS): Update.
3426         (COMMON_SFILES): Add inflow.c.
3427         (SFILES): Remove inflow.c.
3428
3429 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
3430
3431         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
3432
3433 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
3434
3435         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
3436         get_saveloc_name, is_signal_frame_name, step_name,
3437         init_remote_name, create_addr_space_name,
3438         destroy_addr_space_name, search_unwind_table_name,
3439         find_dyn_list_name): Constify.
3440
3441 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
3442
3443         * darwin-nat.c (darwin_pthread_kill): New function.
3444         (darwin_resume_thread): Use darwin_pthread_kill.
3445
3446 2018-07-05  Tom de Vries  <tdevries@suse.de>
3447
3448         * macroexp.c (macro_buffer) <operator=>: New member function.
3449
3450 2018-07-04  Tom Tromey  <tom@tromey.com>
3451
3452         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
3453
3454 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
3455
3456         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
3457         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
3458         * maint.c: Likewise.
3459         * top.c: Likewise.
3460
3461 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3462
3463         * NEWS: Create a new section for the next release branch.
3464         Rename the section of the current branch, now that it has
3465         been cut.
3466
3467 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3468
3469         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
3470         * version.in: Bump version to 8.2.50.DATE-git.
3471
3472 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
3473             Pedro Alves  <palves@redhat.com>
3474
3475         * linux-nat.c (linux_init_ptrace): Rename to ...
3476         (linux_init_ptrace_procfs): ... this.  Call
3477         linux_proc_init_warnings.
3478         (linux_nat_target::post_attach)
3479         (linux_nat_target::post_startup_inferior): Adjust.
3480         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
3481         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
3482
3483 2018-07-04  Tom de Vries  <tdevries@suse.de>
3484
3485         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
3486         check ...
3487         (read_comp_unit_head): ... here.
3488
3489 2018-07-03  Tom Tromey  <tom@tromey.com>
3490
3491         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
3492         (stop_tracing, tstatus_command)
3493         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
3494         (print_one_static_tracepoint_marker): Update.
3495         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
3496         std::vector.
3497         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
3498         VEC.
3499         (all_tracepoints, static_tracepoints_here): Return std::vector.
3500
3501 2018-07-03  Tom Tromey  <tom@tromey.com>
3502
3503         * common/ptid.c (ptid_equal): Remove.
3504         * common/ptid.h (ptid_equal): Don't declare.
3505         * ada-tasks.c: Update.
3506         * breakpoint.c: Update.
3507         * common/agent.c: Update.
3508         * corelow.c: Update.
3509         * darwin-nat-info.c: Update.
3510         * darwin-nat.c: Update.
3511         * dcache.c: Update.
3512         * dtrace-probe.c: Update.
3513         * dummy-frame.c: Update.
3514         * fbsd-nat.c: Update.
3515         * frame.c: Update.
3516         * gdbthread.h: Update.
3517         * gnu-nat.c: Update.
3518         * go32-nat.c: Update.
3519         * inf-loop.c: Update.
3520         * inf-ptrace.c: Update.
3521         * infcall.c: Update.
3522         * infcmd.c: Update.
3523         * inflow.c: Update.
3524         * infrun.c: Update.
3525         * linux-fork.c: Update.
3526         * linux-nat.c: Update.
3527         * linux-thread-db.c: Update.
3528         * mi/mi-cmd-var.c: Update.
3529         * mi/mi-interp.c: Update.
3530         * mi/mi-main.c: Update.
3531         * nto-procfs.c: Update.
3532         * ppc-linux-tdep.c: Update.
3533         * procfs.c: Update.
3534         * python/py-inferior.c: Update.
3535         * python/py-record-btrace.c: Update.
3536         * python/py-record.c: Update.
3537         * ravenscar-thread.c: Update.
3538         * regcache.c: Update.
3539         * remote-sim.c: Update.
3540         * remote.c: Update.
3541         * sol-thread.c: Update.
3542         * solib.c: Update.
3543         * target.c: Update.
3544         * tui/tui-stack.c: Update.
3545         * varobj.c: Update.
3546         * windows-nat.c: Update.
3547         * windows-tdep.c: Update.
3548
3549 2018-07-03  Tom Tromey  <tom@tromey.com>
3550
3551         * common/ptid.c (ptid_match): Remove.
3552         * common/ptid.h (ptid_match): Don't declare.
3553         * fbsd-nat.c: Update.
3554         * infcmd.c: Update.
3555         * infrun.c: Update.
3556         * linux-nat.c: Update.
3557         * record-btrace.c: Update.
3558         * regcache.c: Update.
3559         * remote.c: Update.
3560
3561 2018-07-03  Tom Tromey  <tom@tromey.com>
3562
3563         * common/ptid.c (ptid_tid_p): Remove.
3564         * common/ptid.h (ptid_tid_p): Don't declare.
3565         * sol-thread.c: Update.
3566
3567 2018-07-03  Tom Tromey  <tom@tromey.com>
3568
3569         * common/ptid.c (ptid_lwp_p): Remove.
3570         * common/ptid.h (ptid_lwp_p): Don't declare.
3571         * fbsd-nat.c: Update.
3572         * linux-nat.c: Update.
3573         * nat/linux-procfs.c: Update.
3574         * nat/x86-linux-dregs.c: Update.
3575         * sol-thread.c: Update.
3576
3577 2018-07-03  Tom Tromey  <tom@tromey.com>
3578
3579         * common/ptid.c (ptid_is_pid): Remove.
3580         * common/ptid.h (ptid_is_pid): Don't declare.
3581         * infrun.c: Update.
3582         * linux-nat.c: Update.
3583         * mi/mi-interp.c: Update.
3584         * remote.c: Update.
3585         * thread.c: Update.
3586
3587 2018-07-03  Tom Tromey  <tom@tromey.com>
3588
3589         * common/ptid.c (ptid_get_tid): Remove.
3590         * common/ptid.h (ptid_get_tid): Don't declare.
3591         * ada-tasks.c: Update.
3592         * aix-thread.c: Update.
3593         * bsd-uthread.c: Update.
3594         * darwin-nat.c: Update.
3595         * fbsd-nat.c: Update.
3596         * i386-darwin-nat.c: Update.
3597         * infrun.c: Update.
3598         * linux-tdep.c: Update.
3599         * nto-procfs.c: Update.
3600         * ppc-ravenscar-thread.c: Update.
3601         * python/py-infthread.c: Update.
3602         * ravenscar-thread.c: Update.
3603         * sol-thread.c: Update.
3604         * sparc-ravenscar-thread.c: Update.
3605         * windows-nat.c: Update.
3606
3607 2018-07-03  Tom Tromey  <tom@tromey.com>
3608
3609         * common/ptid.c (ptid_get_lwp): Remove.
3610         * common/ptid.h (ptid_get_lwp): Don't declare.
3611         * aarch64-linux-nat.c: Update.
3612         * ada-tasks.c: Update.
3613         * aix-thread.c: Update.
3614         * amd64-linux-nat.c: Update.
3615         * arm-linux-nat.c: Update.
3616         * corelow.c: Update.
3617         * fbsd-nat.c: Update.
3618         * fbsd-tdep.c: Update.
3619         * gnu-nat.c: Update.
3620         * i386-cygwin-tdep.c: Update.
3621         * i386-gnu-nat.c: Update.
3622         * i386-linux-nat.c: Update.
3623         * ia64-linux-nat.c: Update.
3624         * inf-ptrace.c: Update.
3625         * infrun.c: Update.
3626         * linux-fork.c: Update.
3627         * linux-nat.c: Update.
3628         * linux-tdep.c: Update.
3629         * linux-thread-db.c: Update.
3630         * mips-linux-nat.c: Update.
3631         * nat/aarch64-linux-hw-point.c: Update.
3632         * nat/aarch64-linux.c: Update.
3633         * nat/linux-btrace.c: Update.
3634         * nat/linux-osdata.c: Update.
3635         * nat/linux-procfs.c: Update.
3636         * nat/x86-linux-dregs.c: Update.
3637         * obsd-nat.c: Update.
3638         * ppc-fbsd-nat.c: Update.
3639         * ppc-linux-nat.c: Update.
3640         * procfs.c: Update.
3641         * python/py-infthread.c: Update.
3642         * ravenscar-thread.c: Update.
3643         * remote.c: Update.
3644         * s390-linux-nat.c: Update.
3645         * sol-thread.c: Update.
3646         * sol2-tdep.c: Update.
3647         * spu-linux-nat.c: Update.
3648         * x86-linux-nat.c: Update.
3649         * xtensa-linux-nat.c: Update.
3650
3651 2018-07-03  Tom Tromey  <tom@tromey.com>
3652
3653         * common/ptid.c (ptid_get_pid): Remove.
3654         * common/ptid.h (ptid_get_pid): Don't declare.
3655         * aarch64-linux-nat.c: Update.
3656         * ada-lang.c: Update.
3657         * aix-thread.c: Update.
3658         * alpha-bsd-nat.c: Update.
3659         * amd64-fbsd-nat.c: Update.
3660         * amd64-linux-nat.c: Update.
3661         * arm-linux-nat.c: Update.
3662         * arm-nbsd-nat.c: Update.
3663         * auxv.c: Update.
3664         * break-catch-syscall.c: Update.
3665         * breakpoint.c: Update.
3666         * bsd-uthread.c: Update.
3667         * corelow.c: Update.
3668         * ctf.c: Update.
3669         * darwin-nat.c: Update.
3670         * fbsd-nat.c: Update.
3671         * fbsd-tdep.c: Update.
3672         * gcore.c: Update.
3673         * gnu-nat.c: Update.
3674         * hppa-nbsd-nat.c: Update.
3675         * hppa-obsd-nat.c: Update.
3676         * i386-fbsd-nat.c: Update.
3677         * ia64-linux-nat.c: Update.
3678         * inf-ptrace.c: Update.
3679         * infcmd.c: Update.
3680         * inferior.c: Update.
3681         * inferior.h: Update.
3682         * inflow.c: Update.
3683         * infrun.c: Update.
3684         * linux-fork.c: Update.
3685         * linux-nat.c: Update.
3686         * linux-tdep.c: Update.
3687         * linux-thread-db.c: Update.
3688         * m68k-bsd-nat.c: Update.
3689         * mi/mi-interp.c: Update.
3690         * mi/mi-main.c: Update.
3691         * mips-linux-nat.c: Update.
3692         * mips-nbsd-nat.c: Update.
3693         * mips64-obsd-nat.c: Update.
3694         * nat/aarch64-linux-hw-point.c: Update.
3695         * nat/aarch64-linux.c: Update.
3696         * nat/linux-btrace.c: Update.
3697         * nat/linux-osdata.c: Update.
3698         * nat/linux-procfs.c: Update.
3699         * nat/x86-linux-dregs.c: Update.
3700         * nto-procfs.c: Update.
3701         * obsd-nat.c: Update.
3702         * ppc-linux-nat.c: Update.
3703         * ppc-nbsd-nat.c: Update.
3704         * ppc-obsd-nat.c: Update.
3705         * proc-service.c: Update.
3706         * procfs.c: Update.
3707         * python/py-inferior.c: Update.
3708         * python/py-infthread.c: Update.
3709         * ravenscar-thread.c: Update.
3710         * record.c: Update.
3711         * remote-sim.c: Update.
3712         * remote.c: Update.
3713         * rs6000-nat.c: Update.
3714         * s390-linux-nat.c: Update.
3715         * sh-nbsd-nat.c: Update.
3716         * sol-thread.c: Update.
3717         * sparc-nat.c: Update.
3718         * sparc64-tdep.c: Update.
3719         * spu-linux-nat.c: Update.
3720         * spu-tdep.c: Update.
3721         * target-debug.h: Update.
3722         * target.c: Update.
3723         * thread.c: Update.
3724         * tid-parse.c: Update.
3725         * tracefile-tfile.c: Update.
3726         * vax-bsd-nat.c: Update.
3727         * windows-nat.c: Update.
3728         * x86-linux-nat.c: Update.
3729         * x86-nat.c: Update.
3730
3731 2018-07-03  Tom Tromey  <tom@tromey.com>
3732
3733         * common/ptid.c (pid_to_ptid): Remove.
3734         * common/ptid.h (pid_to_ptid): Don't declare.
3735         * aix-thread.c: Update.
3736         * arm-linux-nat.c: Update.
3737         * common/ptid.c: Update.
3738         * common/ptid.h: Update.
3739         * corelow.c: Update.
3740         * ctf.c: Update.
3741         * darwin-nat.c: Update.
3742         * fbsd-nat.c: Update.
3743         * fork-child.c: Update.
3744         * gnu-nat.c: Update.
3745         * go32-nat.c: Update.
3746         * inf-ptrace.c: Update.
3747         * infcmd.c: Update.
3748         * inferior.c: Update.
3749         * infrun.c: Update.
3750         * linux-fork.c: Update.
3751         * linux-nat.c: Update.
3752         * nat/aarch64-linux-hw-point.c: Update.
3753         * nat/fork-inferior.c: Update.
3754         * nat/x86-linux-dregs.c: Update.
3755         * nto-procfs.c: Update.
3756         * obsd-nat.c: Update.
3757         * procfs.c: Update.
3758         * progspace.c: Update.
3759         * remote.c: Update.
3760         * rs6000-nat.c: Update.
3761         * s390-linux-nat.c: Update.
3762         * sol-thread.c: Update.
3763         * spu-linux-nat.c: Update.
3764         * target.c: Update.
3765         * top.c: Update.
3766         * tracefile-tfile.c: Update.
3767         * windows-nat.c: Update.
3768
3769 2018-07-03  Tom Tromey  <tom@tromey.com>
3770
3771         * common/ptid.h (ptid_build): Don't declare.
3772         * common/ptid.c (ptid_build): Remove.
3773         * aix-thread.c: Update.
3774         * bsd-kvm.c: Update.
3775         * bsd-uthread.c: Update.
3776         * common/agent.c: Update.
3777         * common/ptid.c: Update.
3778         * common/ptid.h: Update.
3779         * corelow.c: Update.
3780         * darwin-nat.c: Update.
3781         * fbsd-nat.c: Update.
3782         * gnu-nat.c: Update.
3783         * linux-fork.c: Update.
3784         * linux-nat.c: Update.
3785         * linux-thread-db.c: Update.
3786         * nat/linux-osdata.c: Update.
3787         * nat/linux-procfs.c: Update.
3788         * nto-procfs.c: Update.
3789         * obsd-nat.c: Update.
3790         * proc-service.c: Update.
3791         * procfs.c: Update.
3792         * ravenscar-thread.c: Update.
3793         * remote-sim.c: Update.
3794         * remote.c: Update.
3795         * sol-thread.c: Update.
3796         * target.c: Update.
3797         * windows-nat.c: Update.
3798
3799 2018-07-03  Tom Tromey  <tom@tromey.com>
3800
3801         * infrun.c (follow_exec): Use exit_inferior_silent.
3802         * inferior.c (exit_inferior_num_silent): Remove.
3803         * inferior.h (exit_inferior_num_silent): Don't declare.
3804
3805 2018-07-03  Tom Tromey  <tom@tromey.com>
3806
3807         PR cli/23340:
3808         * darwin-nat.c (darwin_attach_pid): Reset inferior and
3809         inferior_ptid on error.
3810
3811 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
3812             Simon Marchi  <simon.marchi@polymtl.ca>
3813
3814         PR tdep/8282
3815         * disasm.h (gdb_disassembler): Add
3816         `m_disassembler_options_holder'. member
3817         * disasm.c (get_all_disassembler_options): New function.
3818         (gdb_disassembler::gdb_disassembler): Use it.
3819         (gdb_buffered_insn_length_init_dis): Likewise.
3820         (gdb_buffered_insn_length): Adjust accordingly.
3821         (set_disassembler_options): Handle options with arguments.
3822         (show_disassembler_options_sfunc): Likewise.  Add a leading new
3823         line if showing options with descriptions.
3824         (disassembler_options_completer): Adapt to using the
3825         `disasm_options_and_args_t' structure.
3826         * mips-tdep.c (mips_disassembler_options): New variable.
3827         (mips_disassembler_options_o32): Likewise.
3828         (mips_disassembler_options_n32): Likewise.
3829         (mips_disassembler_options_n64): Likewise.
3830         (gdb_print_insn_mips): Don't set `disassembler_options'.
3831         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
3832         functions.
3833         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
3834         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
3835         `gdbarch_disassembler_options_implicit' and
3836         `gdbarch_valid_disassembler_options'.
3837         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
3838         `disasm_options_and_args_t' structure.
3839         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
3840         method.
3841         (valid_disassembler_options): Switch from `disasm_options_t' to
3842         the `disasm_options_and_args_t' structure.
3843         * NEWS: Document `set disassembler-options' support for the MIPS
3844         target.
3845         * gdbarch.h: Regenerate.
3846         * gdbarch.c: Regenerate.
3847
3848 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3849
3850         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
3851
3852 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
3853
3854         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
3855         parameter in call to amd64_target_description.
3856         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
3857         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
3858         (amd64fbsd_init_abi): Likewise.
3859         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
3860         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
3861         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
3862         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
3863
3864 2018-06-29  Pedro Alves  <palves@redhat.com>
3865
3866         * gdb/amd64-tdep.h (amd64_create_target_description): Add
3867         "segments" parameter.
3868         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
3869         (_initialize_amd64_tdep): Update call to
3870         amd64_create_target_description.
3871         (amd64_target_description): Add "segments" parameter.  Adjust
3872         the implementation to use it.
3873         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
3874         call to amd64_create_target_description.
3875         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
3876         * gdb/arch/amd64.h (amd64_create_target_description): Add
3877         "segments" register.
3878         * gdb/arch/amd64.c (amd64_create_target_description): Add
3879         "segments" parameter.  Call create_feature_i386_64bit_segments
3880         only if SEGMENTS is true.
3881         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
3882         call to amd64_create_target_description.
3883
3884 2018-06-29  Pedro Alves  <palves@redhat.com>
3885
3886         * thread.c (thread_target_id_str): New, factored out from ...
3887         (print_thread_info_1): ... here.  Use it to compute the max
3888         "Target Id" column width.
3889
3890 2018-06-29  Pedro Alves  <palves@redhat.com>
3891
3892         * remote.c (remote_target::extra_thread_info): Delete
3893         'display_buf' and 'n' locals.  from the cache, regardless of
3894         packet mechanims is in use.  Use cache for qThreadExtra and qP
3895         methods too.
3896
3897 2018-06-29  Pedro Alves  <palves@redhat.com>
3898
3899         * blockframe.c (find_pc_sect_containing_function): New function.
3900         * breakpoint.c (print_breakpoint_location): Don't call
3901         find_pc_sect_function.
3902         * linespec.c (create_sals_line_offset): Record the location's
3903         symbol in the sal.
3904         * linespec.c (convert_address_location_to_sals): Fill in sal's
3905         symbol with find_pc_sect_containing_function.
3906         * symtab.c (find_function_start_sal): Rename to ...
3907         (find_function_start_sal_1): ... this.
3908         (find_function_start_sal): Reimplement as wrapper around
3909         find_function_start_sal_1, and use
3910         find_pc_sect_containing_function to fill in the sal's symbol.
3911         (find_function_start_sal(symbol*, bool)): Adjust.
3912         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
3913         comments.
3914         (find_pc_sect_containing_function): Declare.
3915
3916 2018-06-29  Pedro Alves  <palves@redhat.com>
3917
3918         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
3919         true if the the location has no symbol.
3920
3921 2018-06-28  Tom Tromey  <tom@tromey.com>
3922
3923         * NEWS: Mention --enable-codesign.
3924         * silent-rules.mk (ECHO_SIGN): New variable.
3925         * configure.ac: Add --enable-codesign.
3926         * configure: Rebuild.
3927         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
3928         (gdb$(EXEEXT)): Optionally invoke codesign.
3929
3930 2018-06-28  Pedro Alves  <palves@redhat.com>
3931
3932         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
3933         comments.
3934         (switch_to_thread_no_regs): Adjust comment.
3935         * infcmd.c (stop_pc): Delete.
3936         (post_create_inferior, info_program_command): Replace references
3937         to stop_pc with references to thread_info->suspend.stop_pc.
3938         * inferior.h (stop_pc): Delete declaration.
3939         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
3940         (handle_inferior_event_1, handle_signal_stop)
3941         (process_event_stop_test, keep_going_stepped_thread)
3942         (handle_step_into_function, handle_step_into_function_backward)
3943         (print_stop_location): Replace references to stop_pc with
3944         references to thread_info->suspend.stop_pc.
3945         (struct infcall_suspend_state) <stop_pc>: Delete field.
3946         (save_infcall_suspend_state, restore_infcall_suspend_state):
3947         Remove references to inf_stat->stop_pc.
3948         * linux-fork.c (fork_load_infrun_state): Likewise.
3949         * record-btrace.c (record_btrace_set_replay): Likewise.
3950         * record-full.c (record_full_goto_entry): Likewise.
3951         * remote.c (print_one_stopped_thread): Likewise.
3952         * target.c (target_resume): Extend comment.
3953         * thread.c (set_executing_thread): New.
3954         (set_executing): Use it.
3955         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
3956         Remove references to stop_pc.
3957
3958 2018-06-28  Pedro Alves  <palves@redhat.com>
3959
3960         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
3961         Moving fetching stop_pc until after ecs->event_thread is refreshed.
3962
3963 2018-06-28  Tom Tromey  <tom@tromey.com>
3964
3965         * coffread.c (coff_symfile_finish): Update.
3966         * xcoffread.c (xcoff_symfile_finish): Update.
3967         * elfread.c (elf_symfile_finish): Update.
3968         * symfile.h (dwarf2_free_objfile): Don't declare.
3969         * dwarf2read.c (_initialize_dwarf2_read): Use
3970         register_objfile_data_with_cleanup.
3971         (dwarf2_free_objfile): Now static.  Change signature.
3972
3973 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3974
3975         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
3976         option "-o" to add-symbol-file-load to add an offset to each
3977         section's load address.
3978         * symfile.c (set_objfile_default_section_offset): New function.
3979
3980 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3981
3982         * symfile.c (add_symbol_file_command): Make sure that sections
3983         with the same name are sorted in the same order.
3984
3985 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3986
3987         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
3988         require the second argument.  If omitted, load sections at the
3989         addresses specified in the file.
3990
3991 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3992
3993         * symfile.c (symbol_file_command, symbol_file_add_main_1)
3994         (_initialize_symfile): Add option "-o" to symbol-file to add an
3995         offset to each section of the symbol file.
3996
3997 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3998
3999         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
4000
4001 2018-06-27  Tom Tromey  <tom@tromey.com>
4002
4003         * stack.c (_initialize_stack): Update "func" help text.
4004
4005 2018-06-27  Tom Tromey  <tom@tromey.com>
4006
4007         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
4008         std::vector.
4009         (unwind_infopy_str, pyuw_create_unwind_info)
4010         (unwind_infopy_add_saved_register, pyuw_sniffer)
4011         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
4012         Update.
4013         (struct saved_reg): Add constructor.
4014         <value>: Now a gdbpy_ref<>.
4015
4016 2018-06-27  Tom Tromey  <tom@tromey.com>
4017
4018         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
4019
4020 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4021
4022         * gdb-gdb.py.in: Format using autopep8.
4023
4024 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4025
4026         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
4027         (type_lookup_function): Recognize CORE_ADDR values.
4028
4029 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4030
4031         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
4032         print tag_name.
4033
4034 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4035
4036         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
4037         <__lt__>: Add.
4038
4039 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4040
4041         * gdb-gdb.py: Move to...
4042         * gdb-gdb.py.in: ... here.
4043         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
4044         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
4045         dependencies.
4046         (distclean): Remove gdb-gdb.py when cleaning.
4047         (gdb-gdb.py, gdb-gdb.gdb): New rules.
4048         * configure: Re-generate.
4049
4050 2018-06-27  Pedro Alves  <palves@redhat.com>
4051
4052         * proc-service.c (get_ps_regcache): New.
4053         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
4054         (ps_lsetfpregs): Use it.
4055
4056 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
4057
4058         PR gdb/21695
4059         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
4060         (dwarf_decode_lines_1): Adjust.
4061
4062 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4063
4064         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
4065         override.
4066         <info_proc>: Likewise.
4067
4068 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
4069
4070         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
4071         to windows_fetch_one_register, and only handle the case of
4072         fetching one register.  Move the code that reloads the context
4073         and iterates over all registers if R is negative to...
4074         (windows_nat_target::fetch_registers): ... here.
4075         (do_windows_store_inferior_registers): Rename to
4076         windows_store_one_register, and only handle the case of storing
4077         one register.  Move the code that handles the case where r is
4078         negative to...
4079         (windows_nat_target::store_registers) ... here.
4080
4081 2018-06-26  Tom Tromey  <tom@tromey.com>
4082
4083         PR rust/22574:
4084         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
4085         * rust-lang.c (rust_print_struct_def): Add podata parameter.
4086         Update.
4087         (rust_internal_print_type): Add podata parameter.
4088         (rust_print_type): Update.
4089
4090 2018-06-26  Tom Tromey  <tom@tromey.com>
4091
4092         * typeprint.h (struct print_offset_data) <update, finish,
4093         maybe_print_hole>: New methods.
4094         <indentation>: New constant.
4095         * typeprint.c (print_offset_data::indentation): Define.
4096         (print_offset_data::maybe_print_hole, print_offset_data::update)
4097         (print_offset_data::finish): Move from c-typeprint.c and rename.
4098         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
4099         (print_spaces_filtered_with_print_options): Update.
4100         (c_print_type_union_field_offset, maybe_print_hole)
4101         (c_print_type_struct_field_offset): Move to typeprint.c and
4102         rename.
4103         (c_type_print_base_struct_union): Update.
4104
4105 2018-06-25  Pedro Alves  <palves@redhat.com>
4106
4107         * gdbthread.h (thread_info_ref, delete_thread)
4108         (delete_thread_silent, first_thread_of_inferior)
4109         (any_thread_of_inferior, switch_to_thread)
4110         (enable_thread_stack_temporaries)
4111         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4112         (get_last_thread_stack_temporary)
4113         (value_in_thread_stack_temporaries, can_access_registers_thread):
4114         Spell out "struct thread_info" instead of just "thread_info".
4115         * inferior.h (notice_new_inferior): Likewise.
4116
4117 2018-06-25  Pedro Alves  <palves@redhat.com>
4118
4119         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4120         pass thread_info pointer to delete_thread.
4121         (windows_nat_target::detach): Pass inferior pointer to
4122         detach_inferior.
4123         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
4124         delete_thread.
4125         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
4126         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
4127         and pass a thread_info pointer to delete_thread.
4128         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
4129         pass thread_info pointer to delete_thread.
4130         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
4131         delete_thread_silent call.
4132         * procfs.c (procfs_target::detach): Pass inferior pointer to
4133         detach_inferior.
4134         (procfs_target::wait): Pass thread_info pointer to delete_thread.
4135         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
4136         delete_thread_silent call.
4137         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4138         pass thread_info pointer to delete_thread.
4139         (windows_nat_target::detach): Pass inferior pointer to
4140         delete_inferior.
4141
4142 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4143
4144         * regcache.c (readable_regcache::read_part): Fix asserts.
4145         (reg_buffer::raw_collect_part): New function.
4146         (regcache::write_part): Fix asserts.
4147         (reg_buffer::raw_supply_part): New function.
4148         (regcache::transfer_regset_register): New helper function.
4149         (regcache::transfer_regset): Call new functions.
4150         (regcache_supply_regset): Use gdb_byte*.
4151         (regcache::supply_regset): Likewise.
4152         (regcache_collect_regset): Likewise.
4153         (regcache::collect_regset): Likewise.
4154         * regcache.h (reg_buffer::raw_collect_part): New declaration.
4155         (reg_buffer::raw_supply_part): Likewise.
4156         (regcache::transfer_regset_register): Likewise.
4157         (regcache::transfer_regset): Use gdb_byte*.
4158
4159 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4160
4161         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
4162
4163 2018-06-21  Pedro Alves  <palves@redhat.com>
4164
4165         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
4166         instead of a ptid_t.  All callers adjusted.
4167         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
4168         adjusted.
4169         (print_ada_task_info, display_current_task_id, task_command_1):
4170         Adjust.
4171         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
4172         inferior_thread.
4173         (breakpoint_kind): Adjust.
4174         (remove_breakpoints_pid): Rename to ...
4175         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
4176         pointer.  All callers adjusted.
4177         (bpstat_clear_actions): Use inferior_thread.
4178         (get_bpstat_thread): New.
4179         (bpstat_do_actions): Use it.
4180         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
4181         to take a thread_info pointer.  All callers adjusted.
4182         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
4183         (breakpoint_re_set_thread): Use inferior_thread.
4184         * breakpoint.h (struct inferior): Forward declare.
4185         (bpstat_stop_status): Update.
4186         (remove_breakpoints_pid): Delete.
4187         (remove_breakpoints_inf): New.
4188         * bsd-uthread.c (bsd_uthread_target::wait)
4189         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
4190         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
4191         (maint_btrace_packet_history_cmd)
4192         (maint_btrace_clear_packet_history_cmd): Adjust.
4193         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
4194         inferior_thread.
4195         * cli/cli-interp.c: Include "inferior.h".
4196         * common/refcounted-object.h (struct
4197         refcounted_object_ref_policy): New.
4198         * compile/compile-object-load.c: Include gdbthread.h.
4199         (store_regs): Use inferior_thread.
4200         * corelow.c (core_target::close): Use current_inferior.
4201         (core_target_open): Adjust to use first_thread_of_inferior and use
4202         the current inferior.
4203         * ctf.c (ctf_target::close): Adjust to use current_inferior.
4204         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
4205         <thread>: ... this new field.  All references adjusted.
4206         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
4207         Take a thread_info pointer instead of a ptid_t.
4208         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
4209         (dummy_frame_discard, register_dummy_frame_dtor): Take a
4210         thread_info pointer instead of a ptid_t.
4211         * elfread.c: Include "inferior.h".
4212         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
4213         Use inferior_thread.
4214         * eval.c (evaluate_subexp): Likewise.
4215         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
4216         inferior_thread.
4217         * gdb_proc_service.h (struct thread_info): Forward declare.
4218         (struct ps_prochandle) <ptid>: Delete, replaced by ...
4219         <thread>: ... this new field.  All references adjusted.
4220         * gdbarch.h, gdbarch.c: Regenerate.
4221         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
4222         'thread' parameter.  All implementations and callers adjusted.
4223         * gdbthread.h (thread_info) <set_running>: New method.
4224         (delete_thread, delete_thread_silent): Take a thread_info pointer
4225         instead of a ptid.
4226         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
4227         (first_thread_of_process): Delete, replaced by ...
4228         (first_thread_of_inferior): ... this new function.  All callers
4229         adjusted.
4230         (any_live_thread_of_process): Delete, replaced by ...
4231         (any_live_thread_of_inferior): ... this new function.  All callers
4232         adjusted.
4233         (switch_to_thread, switch_to_no_thread): Declare.
4234         (is_executing): Delete.
4235         (enable_thread_stack_temporaries): Update comment.
4236         <enable_thread_stack_temporaries>: Take a thread_info pointer
4237         instead of a ptid_t.  Incref the thread.
4238         <~enable_thread_stack_temporaries>: Decref the thread.
4239         <m_ptid>: Delete
4240         <m_thr>: New.
4241         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4242         (get_last_thread_stack_temporary)
4243         (value_in_thread_stack_temporaries, can_access_registers_thread):
4244         Take a thread_info pointer instead of a ptid_t.  All callers
4245         adjusted.
4246         * infcall.c (get_call_return_value): Use inferior_thread.
4247         (run_inferior_call): Work with thread pointers instead of ptid_t.
4248         (call_function_by_hand_dummy): Work with thread pointers instead
4249         of ptid_t.  Use thread_info_ref.
4250         * infcmd.c (proceed_thread_callback): Access thread's state
4251         directly.
4252         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
4253         access thread's state directly.
4254         (continue_command): Use inferior_thread.
4255         (info_program_command): Use find_thread_ptid and access thread
4256         state directly.
4257         (proceed_after_attach_callback): Use thread state directly.
4258         (notice_new_inferior): Take a thread_info pointer instead of a
4259         ptid_t.  All callers adjusted.
4260         (exit_inferior): Take an inferior pointer instead of a pid.  All
4261         callers adjusted.
4262         (exit_inferior_silent): New.
4263         (detach_inferior): Delete.
4264         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
4265         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
4266         (detach_inferior_command, kill_inferior_command): Use
4267         find_inferior_id instead of valid_gdb_inferior_id and
4268         gdb_inferior_id_to_pid.
4269         (inferior_command): Use inferior and thread pointers.
4270         * inferior.h (struct thread_info): Forward declare.
4271         (notice_new_inferior): Take a thread_info pointer instead of a
4272         ptid_t.  All callers adjusted.
4273         (detach_inferior): Delete declaration.
4274         (exit_inferior, exit_inferior_silent): Take an inferior pointer
4275         instead of a pid.  All callers adjusted.
4276         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
4277         (valid_gdb_inferior_id): Delete.
4278         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
4279         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
4280         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
4281         ...
4282         <inf>: ... this new field.
4283         <step_ptid>: Delete, replaced by ...
4284         <step_thread>: ... this new field.
4285         (get_displaced_stepping_state): Take an inferior pointer instead
4286         of a pid.  All callers adjusted.
4287         (displaced_step_in_progress_any_inferior): Adjust.
4288         (displaced_step_in_progress_thread): Take a thread pointer instead
4289         of a ptid_t.  All callers adjusted.
4290         (displaced_step_in_progress, add_displaced_stepping_state): Take
4291         an inferior pointer instead of a pid.  All callers adjusted.
4292         (get_displaced_step_closure_by_addr): Adjust.
4293         (remove_displaced_stepping_state): Take an inferior pointer
4294         instead of a pid.  All callers adjusted.
4295         (displaced_step_prepare_throw, displaced_step_prepare)
4296         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
4297         All callers adjusted.
4298         (start_step_over): Adjust.
4299         (infrun_thread_ptid_changed): Remove bit updating ptids in the
4300         displaced step queue.
4301         (do_target_resume): Adjust.
4302         (fetch_inferior_event): Use inferior_thread.
4303         (context_switch, get_inferior_stop_soon): Take an
4304         execution_control_state pointer instead of a ptid_t.  All callers
4305         adjusted.
4306         (switch_to_thread_cleanup): Delete.
4307         (stop_all_threads): Use scoped_restore_current_thread.
4308         * inline-frame.c: Include "gdbthread.h".
4309         (inline_state) <inline_state>: Take a thread pointer instead of a
4310         ptid_t.  All callers adjusted.
4311         <ptid>: Delete, replaced by ...
4312         <thread>: ... this new field.
4313         (find_inline_frame_state): Take a thread pointer instead of a
4314         ptid_t.  All callers adjusted.
4315         (skip_inline_frames, step_into_inline_frame)
4316         (inline_skipped_frames, inline_skipped_symbol): Take a thread
4317         pointer instead of a ptid_t.  All callers adjusted.
4318         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
4319         (inline_skipped_frames, inline_skipped_symbol): Likewise.
4320         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
4321         pointers directly.
4322         * linux-nat.c (get_detach_signal): Likewise.
4323         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
4324         (thread_db_notice_clone): Adjust.
4325         (thread_db_find_new_threads_silently)
4326         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
4327         a thread pointer instead of a ptid_t.  All callers adjusted.
4328         * mi/mi-cmd-var.c: Include "inferior.h".
4329         (mi_cmd_var_update_iter): Update to use thread pointers.
4330         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
4331         inferior directly.
4332         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
4333         out to ...
4334         (mi_output_running): ... this new function.
4335         (mi_on_resume_1): Adjust to use it.
4336         (mi_user_selected_context_changed): Adjust to use inferior_thread.
4337         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
4338         directly.
4339         (interrupt_thread_callback): : Adjust to use thread and inferior
4340         pointers.
4341         * proc-service.c: Include "gdbthread.h".
4342         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
4343         * progspace-and-thread.c: Include "inferior.h".
4344         * progspace.c: Include "inferior.h".
4345         * python/py-exitedevent.c (create_exited_event_object): Adjust to
4346         hold a reference to an inferior_object.
4347         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
4348         inferior_thread.
4349         * python/py-inferior.c (struct inferior_object): Give the type a
4350         tag name instead of a typedef.
4351         (python_on_normal_stop): No need to check if the current thread is
4352         listed.
4353         (inferior_to_inferior_object): Change return type to
4354         inferior_object.  All callers adjusted.
4355         (find_thread_object): Delete, bits factored out to ...
4356         (thread_to_thread_object): ... this new function.
4357         * python/py-infthread.c (create_thread_object): Use
4358         inferior_to_inferior_object.
4359         (thpy_is_stopped): Use thread pointer directly.
4360         (gdbpy_selected_thread): Use inferior_thread.
4361         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
4362         field, replaced with ...
4363         <thread>: ... this new field.  All users adjusted.
4364         (btpy_insn_or_gap_new): Drop const.
4365         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
4366         callers adjusted.
4367         * python/py-record.c: Include "gdbthread.h".
4368         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
4369         a ptid_t.  All callers adjusted.
4370         (gdbpy_current_recording): Use inferior_thread.
4371         * python/py-record.h (recpy_record_object) <ptid>: Delete
4372         field, replaced with ...
4373         <thread>: ... this new field.  All users adjusted.
4374         (recpy_element_object) <ptid>: Delete
4375         field, replaced with ...
4376         <thread>: ... this new field.  All users adjusted.
4377         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
4378         a ptid_t.  All callers adjusted.
4379         * python/py-threadevent.c: Include "gdbthread.h".
4380         (get_event_thread): Use thread_to_thread_object.
4381         * python/python-internal.h (struct inferior_object): Forward
4382         declare.
4383         (find_thread_object, find_inferior_object): Delete declarations.
4384         (thread_to_thread_object, inferior_to_inferior_object): New
4385         declarations.
4386         * record-btrace.c: Include "inferior.h".
4387         (require_btrace_thread): Use inferior_thread.
4388         (record_btrace_frame_sniffer)
4389         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
4390         (get_thread_current_frame): Use scoped_restore_current_thread and
4391         switch_to_thread.
4392         (get_thread_current_frame): Use thread pointer directly.
4393         (record_btrace_replay_at_breakpoint): Use thread's inferior
4394         pointer directly.
4395         * record-full.c: Include "inferior.h".
4396         * regcache.c: Include "gdbthread.h".
4397         (get_thread_arch_regcache): Use the inferior's address space
4398         directly.
4399         (get_thread_regcache, registers_changed_thread): New.
4400         * regcache.h (get_thread_regcache(thread_info *thread)): New
4401         overload.
4402         (registers_changed_thread): New.
4403         (remote_target) <remote_detach_1>: Swap order of parameters.
4404         (remote_add_thread): <remote_add_thread>: Return the new thread.
4405         (get_remote_thread_info(ptid_t)): New overload.
4406         (remote_target::remote_notice_new_inferior): Use thread pointers
4407         directly.
4408         (remote_target::process_initial_stop_replies): Use
4409         thread_info::set_running.
4410         (remote_target::remote_detach_1, remote_target::detach)
4411         (extended_remote_target::detach): Adjust.
4412         * stack.c (frame_show_address): Use inferior_thread.
4413         * target-debug.h (target_debug_print_thread_info_pp): New.
4414         * target-delegates.c: Regenerate.
4415         * target.c (default_thread_address_space): Delete.
4416         (memory_xfer_partial_1): Use current_inferior.
4417         (target_detach): Use current_inferior.
4418         (target_thread_address_space): Delete.
4419         (generic_mourn_inferior): Use current_inferior.
4420         * target.h (struct target_ops) <thread_address_space>: Delete.
4421         (target_thread_address_space): Delete.
4422         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
4423         pointers directly.
4424         (delete_thread_1, delete_thread, delete_thread_silent): Take a
4425         thread pointer instead of a ptid_t.  Adjust all callers.
4426         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
4427         (first_thread_of_process): Delete, replaced by ...
4428         (first_thread_of_inferior): ... this new function.  All callers
4429         adjusted.
4430         (any_thread_of_process): Rename to ...
4431         (any_thread_of_inferior): ... this, and take an inferior pointer.
4432         (any_live_thread_of_process): Rename to ...
4433         (any_live_thread_of_inferior): ... this, and take an inferior
4434         pointer.
4435         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4436         (value_in_thread_stack_temporaries)
4437         (get_last_thread_stack_temporary): Take a thread pointer instead
4438         of a ptid_t.  Adjust all callers.
4439         (thread_info::set_running): New.
4440         (validate_registers_access): Use inferior_thread.
4441         (can_access_registers_ptid): Rename to ...
4442         (can_access_registers_thread): ... this, and take a thread
4443         pointer.
4444         (print_thread_info_1): Adjust to compare thread pointers instead
4445         of ptids.
4446         (switch_to_no_thread, switch_to_thread): Make extern.
4447         (scoped_restore_current_thread::~scoped_restore_current_thread):
4448         Use m_thread pointer directly.
4449         (scoped_restore_current_thread::scoped_restore_current_thread):
4450         Use inferior_thread.
4451         (thread_command): Use thread pointer directly.
4452         (thread_num_make_value_helper): Use inferior_thread.
4453         * top.c (execute_command): Use inferior_thread.
4454         * tui/tui-interp.c: Include "inferior.h".
4455         * varobj.c (varobj_create): Use inferior_thread.
4456         (value_of_root_1): Use find_thread_global_id instead of
4457         global_thread_id_to_ptid.
4458
4459 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
4460
4461         * regcache.c (readable_regcache::read_part): Avoid memcpy when
4462         possible.
4463         (regcache::write_part): Likewise.
4464         (readable_regcache::cooked_read_part): Update comment.
4465         (readable_regcache::cooked_write_part): Likewise.
4466         * regcache.h: (readable_regcache::read_part): Likewise.
4467         (regcache::write_part): Likewise.
4468
4469 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
4470             Dirk Schubert  <dirk.schubert@arm.com>
4471
4472         * aarch64-linux-nat.c (post_attach): New.
4473         (aarch64_linux_nat_target::post_attach): Override post_attach to
4474         record the number of hardware debug registers.
4475
4476 2018-06-20  Tom Tromey  <tom@tromey.com>
4477
4478         * python/py-param.c (add_setshow_generic): Make parameters const.
4479         (parmpy_init): Update.
4480
4481 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4482
4483         * regcache.h (regcache_cooked_read_ftype): Rename to...
4484         (register_read_ftype): ...this, change type to function_view.
4485         (class reg_buffer) <save>: Remove src parameter.
4486         (readonly_detached_regcache) <readonly_detached_regcache>: Make
4487         parameter non-const in first overload.  Remove src parameter in
4488         second overload.
4489         * regcache.c (do_cooked_read): Remove.
4490         (readonly_detached_regcache::readonly_detached_regcache): Make
4491         parameter non-const, adjust call to other constructor.
4492         (reg_buffer::save): Remove src parameter.
4493         * frame.c (do_frame_register_read): Remove.
4494         (frame_save_as_regcache): Use lambda function.
4495         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
4496         parameter to ppu2spu_data *.
4497         (ppu2spu_sniffer): Use lambda function.
4498
4499 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4500
4501         * record-full.c (record_full_target::insert_breakpoint): Remove
4502         "struct" keyword, add const.
4503
4504 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
4505
4506         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
4507         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
4508         * configure.ac: Remove AC_PREREQ, add missing quoting.
4509         * gnulib/configure.ac: Modernize usage of
4510         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
4511         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
4512         (AUTOMAKE_VERSION): Bump to 1.15.1.
4513         * configure: Re-generate.
4514         * config.in: Re-generate.
4515         * aclocal.m4: Re-generate.
4516         * gnulib/aclocal.m4: Re-generate.
4517         * gnulib/config.in: Re-generate.
4518         * gnulib/configure: Re-generate.
4519         * gnulib/import/Makefile.in: Re-generate.
4520
4521 2018-06-19  Pedro Alves  <palves@redhat.com>
4522
4523         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
4524         (lookup_minimal_symbol_by_pc_section): ... here with
4525         gdb_assert_not_reached added.
4526
4527 2018-06-19  Pedro Alves  <palves@redhat.com>
4528
4529         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
4530         parameter with a block parameter.  Compare location's block symbol
4531         with the frame's block instead of addresses.
4532         (skip_inline_frames): Pass the current block instead of the
4533         frame's address.  Break out as soon as we determine the frame
4534         should not be skipped.
4535
4536 2018-06-18  Tom Tromey  <tom@tromey.com>
4537
4538         * solib-aix.c (solib_aix_get_section_offsets): Return
4539         unique_xmalloc_ptr.
4540         (solib_aix_solib_create_inferior_hook): Update.
4541
4542 2018-06-18  Tom Tromey  <tom@tromey.com>
4543
4544         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
4545
4546 2018-06-18  Tom Tromey  <tom@tromey.com>
4547
4548         * solib-frv.c (frv_relocate_main_executable): Use
4549         unique_xmalloc_ptr.
4550         * solib-dsbt.c (dsbt_relocate_main_executable): Use
4551         unique_xmalloc_ptr.
4552
4553 2018-06-18  Tom Tromey  <tom@tromey.com>
4554
4555         * objfiles.h (inhibit_section_map_updates): Update.
4556         (resume_section_map_updates, resume_section_map_updates_cleanup):
4557         Remove.
4558         * solib-svr4.c (svr4_handle_solib_event): Update.
4559         * objfiles.c (inhibit_section_map_updates): Return
4560         scoped_restore_tmpl<int>.
4561         (resume_section_map_updates, resume_section_map_updates_cleanup):
4562         Remove.
4563
4564 2018-06-18  Tom Tromey  <tom@tromey.com>
4565
4566         * valprint.h (read_string): Update.
4567         * valprint.c (read_string): Change type of "buffer".
4568         (val_print_string): Update.
4569         * python/py-value.c (valpy_string): Update.
4570         * language.h (struct language_defn) <la_get_string>: Change
4571         type of "buffer".
4572         (default_get_string, c_get_string): Update.
4573         * language.c (default_get_string): Change type of "buffer".
4574         * guile/scm-value.c (gdbscm_value_to_string): Update.
4575         * c-lang.c (c_get_string): Change type of "buffer".
4576
4577 2018-06-18  Tom Tromey  <tom@tromey.com>
4578
4579         * ser-mingw.c (struct pipe_state_destroyer): New.
4580         (pipe_state_up): New typedef.
4581         (cleanup_pipe_state): Remove.
4582         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
4583
4584 2018-06-18  Tom Tromey  <tom@tromey.com>
4585
4586         * rust-lang.h (rust_yyerror): Don't declare.
4587         * rust-lang.c (rust_language_defn): Update.
4588         * rust-exp.y (yyerror): Now static.
4589         * parse.c (parse_exp_in_context_1): Update.
4590         * p-lang.h (p_yyerror): Don't declare.
4591         * p-lang.c (p_language_defn): Update.
4592         * p-exp.y (yyerror): Now static.
4593         * opencl-lang.c (opencl_language_defn): Update.
4594         * objc-lang.c (objc_language_defn): Update.
4595         * m2-lang.h (m2_yyerror): Don't declare.
4596         * m2-lang.c (m2_language_defn): Update.
4597         * m2-exp.y (yyerror): Now static.
4598         * language.h (struct language_defn) <la_error>: Remove.
4599         * language.c (unk_lang_error): Remove.
4600         (unknown_language_defn, auto_language_defn): Remove.
4601         * go-lang.h (go_yyerror): Don't declare.
4602         * go-lang.c (go_language_defn): Update.
4603         * go-exp.y (yyerror): Now static.
4604         * f-lang.h (f_yyerror): Don't declare.
4605         * f-lang.c (f_language_defn): Update.
4606         * f-exp.y (yyerror): Now static.
4607         * d-lang.h (d_yyerror): Don't declare.
4608         * d-lang.c (d_language_defn): Update.
4609         * d-exp.y (yyerror): Now static.
4610         * c-lang.h (c_yyerror): Don't declare.
4611         * c-lang.c (c_language_defn, cplus_language_defn)
4612         (asm_language_defn, minimal_language_defn): Update.
4613         * c-exp.y (yyerror): Now static.
4614         * ada-lang.h (ada_yyerror): Don't declare.
4615         * ada-lang.c (ada_language_defn): Update.
4616         * ada-exp.y (yyerror): Now static.
4617
4618 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4619
4620         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
4621         (store_sveregs_to_thread): Likewise.
4622         (aarch64_linux_fetch_inferior_registers): Check for SVE.
4623         (aarch64_linux_store_inferior_registers): Likewise.
4624         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
4625         function.
4626         (aarch64_sve_regs_copy_to_regcache): Likewise.
4627         (aarch64_sve_regs_copy_from_regcache): Likewise.
4628         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
4629         declaration.
4630         (aarch64_sve_regs_copy_to_regcache): Likewise.
4631         (aarch64_sve_regs_copy_from_regcache): Likewise.
4632         (sve_context): Structure from Linux headers.
4633         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
4634         (SVE_SIG_ZREG_SIZE): Likewise.
4635         (SVE_SIG_PREG_SIZE): Likewise.
4636         (SVE_SIG_FFR_SIZE): Likewise.
4637         (SVE_SIG_REGS_OFFSET): Likewise.
4638         (SVE_SIG_ZREGS_OFFSET): Likewise.
4639         (SVE_SIG_ZREG_OFFSET): Likewise.
4640         (SVE_SIG_ZREGS_SIZE): Likewise.
4641         (SVE_SIG_PREGS_OFFSET): Likewise.
4642         (SVE_SIG_PREG_OFFSET): Likewise.
4643         (SVE_SIG_PREGS_SIZE): Likewise.
4644         (SVE_SIG_FFR_OFFSET): Likewise.
4645         (SVE_SIG_REGS_SIZE): Likewise.
4646         (SVE_SIG_CONTEXT_SIZE): Likewise.
4647         (SVE_PT_REGS_MASK): Likewise.
4648         (SVE_PT_REGS_FPSIMD): Likewise.
4649         (SVE_PT_REGS_SVE): Likewise.
4650         (SVE_PT_VL_INHERIT): Likewise.
4651         (SVE_PT_VL_ONEXEC): Likewise.
4652         (SVE_PT_REGS_OFFSET): Likewise.
4653         (SVE_PT_FPSIMD_OFFSET): Likewise.
4654         (SVE_PT_FPSIMD_SIZE): Likewise.
4655         (SVE_PT_SVE_ZREG_SIZE): Likewise.
4656         (SVE_PT_SVE_PREG_SIZE): Likewise.
4657         (SVE_PT_SVE_FFR_SIZE): Likewise.
4658         (SVE_PT_SVE_FPSR_SIZE): Likewise.
4659         (SVE_PT_SVE_FPCR_SIZE): Likewise.
4660         (__SVE_SIG_TO_PT): Likewise.
4661         (SVE_PT_SVE_OFFSET): Likewise.
4662         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
4663         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
4664         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
4665         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
4666         (SVE_PT_SVE_PREG_OFFSET): Likewise.
4667         (SVE_PT_SVE_PREGS_SIZE): Likewise.
4668         (SVE_PT_SVE_FFR_OFFSET): Likewise.
4669         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
4670         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
4671         (SVE_PT_SVE_SIZE): Likewise.
4672         (SVE_PT_SIZE): Likewise.
4673         (HAS_SVE_STATE): New define.
4674
4675 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4676
4677         * nat/aarch64-sve-linux-sigcontext.h: New file.
4678         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
4679         new files.
4680         (SVE_VQ_MIN): Likewise.
4681         (SVE_VQ_MAX): Likewise.
4682         (SVE_VL_MIN): Likewise.
4683         (SVE_VL_MAX): Likewise.
4684         (SVE_NUM_ZREGS): Likewise.
4685         (SVE_NUM_PREGS): Likewise.
4686         (sve_vl_valid): Likewise.
4687         (struct user_sve_header): Likewise.
4688
4689 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
4690             Richard Bunt <Richard.Bunt@arm.com>
4691
4692         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
4693         was requested by GDB.
4694
4695 2018-06-15  Tom de Vries  <tdevries@suse.de>
4696
4697         * MAINTAINERS (Write After Approval): Add Tom de Vries.
4698
4699 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
4700
4701         * gnulib/update-gnulib.sh: Print expected versions of
4702         autoconf/aclocal.
4703
4704 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
4705
4706         * arch-utils.c (default_type_align): Use type_length_units.
4707         * gdbtypes.c (type_align): Use type_length_units.
4708
4709 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4710
4711         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
4712         of 'define' command.
4713
4714 2018-06-14  Tom de Vries  <tdevries@suse.de>
4715
4716         PR cli/22573
4717         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
4718         get_no_prettyformat_print_options.
4719
4720 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
4721
4722         * sparc-nat.h: Include target.h.
4723         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
4724         <fetch_registers>: Remove this argument in function call.
4725         <store_registers>: Remove this argument in function call, remove
4726         extra semicolon.
4727         <low_forget_process>: Call sparc64_forget_process instead of
4728         sparc_forget_process.
4729
4730 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4731
4732         * procfs.c (_initialize_procfs): Use add_inf_child_target.
4733         (procfs_target::make_corefile_notes): Adjust to new
4734         target_read_alloc return type.
4735
4736 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4737             Stephen Roberts  <stephen.roberts@arm.com>
4738
4739         PR gdb/22882
4740         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
4741         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
4742         Move should_notify_stop local into more inner scope.
4743
4744 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4745             Stephen Roberts  <stephen.roberts@arm.com>
4746
4747         PR gdb/22882
4748         * infrun.c (resume_1): Add call to mark_async_event_handler.
4749
4750 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4751
4752         * infrun.c (do_target_wait): Change old version of $pc printed.
4753
4754 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
4755
4756         * dwarf2read.c (read_index_from_section): Rename to...
4757         (read_gdb_index_from_section): ... this, update all callers.
4758         (dwarf2_read_index): Rename to...
4759         (dwarf2_read_gdb_index): ... this, update all callers.
4760
4761 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
4762
4763         * gdb/hppa-linux-nat.c
4764         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
4765         hppa_linux_nat_target::fetch_registers.
4766
4767 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4768
4769         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
4770         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
4771         (AARCH64_DWARF_SVE_FFR): Likewise.
4772         (AARCH64_DWARF_SVE_P0): Likewise.
4773         (AARCH64_DWARF_SVE_Z0): Likewise.
4774
4775 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4776
4777         * common/common-regcache.h (raw_compare): New function.
4778         * regcache.c (regcache::raw_compare): Likewise.
4779         * regcache.h (regcache::raw_compare): New declaration.
4780
4781 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4782
4783         * common/common-regcache.h (reg_buffer_common): New structure.
4784         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
4785         (reg_buffer::raw_supply): Likewise.
4786         (reg_buffer::raw_supply_integer): Likewise.
4787         (reg_buffer::raw_supply_zeroed): Likewise.
4788         (reg_buffer::raw_collect): Likewise.
4789         (reg_buffer::raw_collect_integer): Likewise.
4790         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
4791         (reg_buffer::raw_supply): Likewise.
4792         (reg_buffer::raw_supply_integer): Likewise.
4793         (reg_buffer::raw_supply_zeroed): Likewise.
4794         (reg_buffer::raw_collect): Likewise.
4795         (reg_buffer::raw_collect_integer): Likewise.
4796
4797 2018-06-10  Tom Tromey  <tom@tromey.com>
4798
4799         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
4800         (class remote_state) <stop_reply_queue>: Now std::vector.
4801         (remote_state::~remote_state)
4802         (remote_target::stop_reply_queue_length): Update.
4803         (struct queue_iter_param, remove_child_of_pending_fork)
4804         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
4805         (check_pending_event_prevents_wildcard_vcont_callback)
4806         (remove_stop_reply_for_inferior)
4807         (remove_stop_reply_of_remote_state)
4808         (remote_notif_remove_once_on_match)
4809         (stop_reply_match_ptid_and_ws)
4810         (remote_kill_child_of_pending_fork): Remove.
4811         (remote_target::remove_new_fork_children)
4812         (remote_target::check_pending_events_prevent_wildcard_vcont)
4813         (remote_target::discard_pending_stop_replies)
4814         (remote_target::discard_pending_stop_replies_in_queue)
4815         (remote_target::remote_notif_remove_queued_reply)
4816         (remote_target::queued_stop_reply)
4817         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
4818         (remote_target::wait, remote_target::kill_new_fork_children)
4819         (remote_target::async): Update.
4820
4821 2018-06-10  Tom Tromey  <tom@tromey.com>
4822
4823         * record-full.c (record_full_arch_list_cleanups): Remove.
4824         (record_full_message): Use try/catch.
4825         (record_full_wait_cleanups): Remove.
4826         (record_full_wait_1): Use try/catch.
4827         (record_full_restore): Likewise.
4828
4829 2018-06-10  Tom Tromey  <tom@tromey.com>
4830
4831         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
4832         declare VEC.  Add constructor.
4833         <in_target_beneath>: Now bool.
4834         (record_full_breakpoints): Now a std::vector, static.
4835         (record_full_sync_record_breakpoints)
4836         (record_full_init_record_breakpoints)
4837         (record_full_target::insert_breakpoint)
4838         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
4839
4840 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
4841
4842         * dwarf2read.c (process_cu_includes): Remove struct keyword.
4843         * serial.c (serial_interface_lookup): Remove struct keyword.
4844
4845 2018-06-10  Tom Tromey  <tom@tromey.com>
4846
4847         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
4848         method.
4849         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
4850         a method.
4851         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
4852         method.
4853         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
4854         "beneath" as a method.
4855         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
4856         Use "beneath" as a method.
4857
4858 2018-06-10  Tom Tromey  <tom@tromey.com>
4859
4860         * tracefile.c (struct trace_file_writer_deleter): New.
4861         <operator()>: Rename from trace_file_writer_xfree.
4862         (trace_file_writer_up): New typedef.
4863         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
4864
4865 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4866
4867         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
4868         <m_registers, m_register_status>: Change type to
4869         std::unique_ptr.
4870         * regcache.c (reg_buffer::reg_buffer): Use new instead of
4871         XCNEWVEC.
4872
4873 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4874
4875         * common/common-regcache.h (enum register_status): Add
4876         underlying type "signed char".
4877         * regcache.h (reg_buffer) <m_register_status>: Change type to
4878         register_status *.
4879         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
4880         register_status instead of signed char.
4881         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
4882         (reg_buffer::get_register_status): Remove cast.
4883         (readable_regcache::raw_read): Remove cast.
4884         (readable_regcache::cooked_read): Remove cast.
4885
4886 2018-06-09  Tom Tromey  <tom@tromey.com>
4887
4888         * source.c (reverse_search_command, forward_search_command): Use
4889         scoped_fd.
4890
4891 2018-06-09  Tom Tromey  <tom@tromey.com>
4892
4893         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
4894         (serial_ops_list): Now static, std::vector.
4895         (serial_interface_lookup, serial_add_interface): Update.
4896
4897 2018-06-09  Tom Tromey  <tom@tromey.com>
4898
4899         * dwarf2read.c (process_cu_includes): Update.
4900         (process_full_comp_unit): Update.
4901         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
4902         std::vector.
4903
4904 2018-06-08  Paul Koning  <paul_koning@dell.com>
4905
4906         PR gdb/23252
4907
4908         * python/python.c (do_start_initialization):
4909         Avoid call to internal Python API.
4910         (init__gdb_module): New function.
4911
4912 2018-06-08  Gary Benson <gbenson@redhat.com>
4913
4914         * linux-thread-db.c (valprint.h): New include.
4915         (struct check_thread_db_info): New structure.
4916         (check_thread_db_on_load, tdb_testinfo): New static globals.
4917         (check_thread_db, check_thread_db_callback): New functions.
4918         (try_thread_db_load_1): Run integrity checks if requested.
4919         (maintenance_check_libthread_db): New function.
4920         (_initialize_thread_db): Register "maint check libthread-db"
4921         and "maint set/show check-libthread-db".
4922         * NEWS: Mention the above new commands.
4923
4924 2018-06-08  Tom Tromey  <tom@tromey.com>
4925
4926         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
4927         now a method.
4928
4929 2018-06-08  Tom Tromey  <tom@tromey.com>
4930
4931         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
4932
4933 2018-06-08  Tom Tromey  <tom@tromey.com>
4934
4935         * common/btrace-common.h (struct btrace_data): Add constructor,
4936         destructor, move assignment operator.
4937         <empty, clear, fini>: New methods.
4938         <format>: Initialize.
4939         (btrace_data_init, btrace_data_fini, btrace_data_clear)
4940         (btrace_data_empty): Don't declare.
4941         * common/btrace-common.c (btrace_data_init): Remove.
4942         (btrace_data::fini): Rename from btrace_data_fini.
4943         (btrace_data::empty): Rename from btrace_data_empty.
4944         (btrace_data::clear): Rename from btrace_data_clear.  Return
4945         bool.
4946         * btrace.h (make_cleanup_btrace_data): Don't declare.
4947         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
4948         (parse_xml_btrace): Update.
4949         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
4950         (maint_btrace_clear_packet_history_cmd): Update.
4951
4952 2018-06-07  Pedro Alves  <palves@redhat.com>
4953
4954         * target.h (target_ops) <beneath>: Now a method.  All references
4955         updated.
4956         (class target_stack): New.
4957         * target.c (g_target_stack): New.
4958         (g_current_top_target): Delete.
4959         (current_top_target): Get the top target out of g_target_stack.
4960         (target_stack::push, target_stack::unpush): New.
4961         (push_target, unpush_target): Reimplement.
4962         (target_is_pushed): Reimplement in terms of g_target_stack.
4963         (target_ops::beneath, target_stack::find_beneath): New.
4964
4965 2018-06-07  Pedro Alves  <palves@redhat.com>
4966
4967         * target.h (find_target_beneath): Delete declaration.
4968         * target.c (find_target_beneath): Delete definition.
4969         * aix-thread.c: All callers of find_target_beneath adjusted to
4970         call target_ops::beneath instead.
4971         * bsd-uthread.c: Likewise.
4972         * linux-thread-db.c: Likewise.
4973         * ravenscar-thread.c: Likewise.
4974         * sol-thread.c: Likewise.
4975         * spu-multiarch.c: Likewise.
4976
4977 2018-06-07  Pedro Alves  <palves@redhat.com>
4978
4979         * target.h (target_ops) <beneath>: Now a method.  All references
4980         updated.
4981         (target_ops) <m_beneath>: New.
4982         * target.c (target_ops::beneath): New.
4983         * corelow.c: Adjust all references to target_ops::beneath.
4984         * linux-thread-db.c: Likewise.
4985         * make-target-delegates: Likewise.
4986         * record-btrace.c: Likewise.
4987         * record-full.c: Likewise.
4988         * remote.c: Likewise.
4989         * target.c: Likewise.
4990         * target-delegates.c: Regenerate.
4991
4992 2018-06-07  Pedro Alves  <palves@redhat.com>
4993
4994         * target.h (target_stack): Delete.
4995         (current_top_target): Declare function.
4996         * target.c (target_stack): Delete.
4997         (g_current_top_target): New.
4998         (current_top_target): New function.
4999         * auxv.c: Use current_top_target instead of target_stack
5000         throughout.
5001         * avr-tdep.c: Likewise.
5002         * breakpoint.c: Likewise.
5003         * corefile.c: Likewise.
5004         * elfread.c: Likewise.
5005         * eval.c: Likewise.
5006         * exceptions.c: Likewise.
5007         * frame.c: Likewise.
5008         * gdbarch-selftests.c: Likewise.
5009         * gnu-v3-abi.c: Likewise.
5010         * ia64-tdep.c: Likewise.
5011         * ia64-vms-tdep.c: Likewise.
5012         * infcall.c: Likewise.
5013         * infcmd.c: Likewise.
5014         * infrun.c: Likewise.
5015         * linespec.c: Likewise.
5016         * linux-tdep.c: Likewise.
5017         * minsyms.c: Likewise.
5018         * ppc-linux-nat.c: Likewise.
5019         * ppc-linux-tdep.c: Likewise.
5020         * procfs.c: Likewise.
5021         * regcache.c: Likewise.
5022         * remote.c: Likewise.
5023         * rs6000-tdep.c: Likewise.
5024         * s390-linux-nat.c: Likewise.
5025         * s390-tdep.c: Likewise.
5026         * solib-aix.c: Likewise.
5027         * solib-darwin.c: Likewise.
5028         * solib-dsbt.c: Likewise.
5029         * solib-spu.c: Likewise.
5030         * solib-svr4.c: Likewise.
5031         * solib-target.c: Likewise.
5032         * sparc-tdep.c: Likewise.
5033         * sparc64-tdep.c: Likewise.
5034         * spu-tdep.c: Likewise.
5035         * symfile.c: Likewise.
5036         * symtab.c: Likewise.
5037         * target-descriptions.c: Likewise.
5038         * target-memory.c: Likewise.
5039         * target.c: Likewise.
5040         * target.h: Likewise.
5041         * tracefile-tfile.c: Likewise.
5042         * tracepoint.c: Likewise.
5043         * valops.c: Likewise.
5044         * valprint.c: Likewise.
5045         * value.c: Likewise.
5046         * windows-tdep.c: Likewise.
5047         * mi/mi-main.c: Likewise.
5048
5049 2018-06-07  Tom Tromey  <tom@tromey.com>
5050
5051         * valprint.h (build_address_symbolic): Declare.
5052         * printcmd.c (print_address_symbolic): Update.
5053         (build_address_symbolic): Change "name" and "filename" to
5054         std::string.
5055         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
5056         Update.
5057         * defs.h (build_address_symbolic): Remove declaration.
5058
5059 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
5060
5061         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
5062         (aarch64_vnv_type): Add function.
5063         (aarch64_pseudo_register_name): Add V regs for SVE.
5064         (aarch64_pseudo_register_type): Likewise.
5065         (aarch64_pseudo_register_reggroup_p): Likewise.
5066         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
5067         (aarch64_pseudo_read_value): Add V regs for SVE.
5068         (aarch64_pseudo_write_2): Use V0 offset for SVE
5069         (aarch64_pseudo_write): Add V regs for SVE.
5070         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
5071
5072 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
5073
5074         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
5075         (sve_vl_from_vq): Likewise.
5076
5077 2018-06-05  Tom Tromey  <tom@tromey.com>
5078
5079         * cli/cli-cmds.c (show_version): Update.
5080         * top.c (print_gdb_version): Add "interactive" parameter.
5081         Update.
5082         * main.c (captured_main_1): Update.
5083         * top.h (print_gdb_version): Add "interactive" parameter and a
5084         comment.
5085
5086 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
5087
5088         * common/enum-flags.h: Add trailing semicolon to example in
5089         comment.
5090
5091 2018-06-05  Tom Tromey  <tom@tromey.com>
5092
5093         PR cli/12326:
5094         * NEWS: Add entry about pager.
5095         * utils.c (pagination_disabled_for_command): New global.
5096         (prompt_for_continue): Allow "c" response to prompt.
5097         (reinitialize_more_filter): Clear
5098         pagination_disabled_for_command.
5099         (fputs_maybe_filtered): Check pagination_disabled_for_command.
5100
5101 2018-06-04  Tom Tromey  <tom@tromey.com>
5102
5103         * ada-lang.h (ada_lookup_symbol_list): Update.
5104         * ada-lang.c (resolve_subexp): Update.
5105         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
5106         parameter.
5107         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
5108         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
5109         results parameter to std::vector.
5110         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
5111         Update.
5112         * ada-exp.y (block_lookup): Update.
5113         (select_possible_type_sym): Change type of syms.  Remove nsyms
5114         parameter.
5115         (write_var_or_type, write_name_assoc): Update.
5116
5117 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
5118
5119         * windows-nat.c (windows_nat_target::xfer_partial): Return
5120         TARGET_XFER_E_IO if we need to delegate to the target beneath
5121         but BENEATH is NULL.
5122
5123 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
5124
5125         * Makefile.in (config.status): Add configure.nat as a
5126         dependency.
5127
5128 2018-06-04  Tom Tromey  <tom@tromey.com>
5129
5130         * cp-name-parser.y (cpname_state): Add method declarations.
5131         (HANDLE_QUAL): Update.
5132         (cpname_state::d_grab, cpname_state::fill_comp)
5133         (cpname_state::make_operator, cpname_state::make_dtor)
5134         (cpname_state::make_builtin_type, cpname_state::make_name)
5135         (cpname_state::d_qualify, cpname_state::d_int_type)
5136         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
5137         (%union): Move earlier.
5138
5139 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5140
5141         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
5142
5143 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5144
5145         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
5146         (aarch64_pseudo_write_1): Likewise.
5147         (aarch64_pseudo_read_value): Use helper.
5148         (aarch64_pseudo_write): Likewise.
5149
5150 2018-06-04  Pedro Alves  <palves@redhat.com>
5151
5152         * darwin-nat.c (darwin_ops): Delete.
5153         (darwin_attach_pid): Use get_native_target.
5154
5155 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5156
5157         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
5158         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
5159
5160 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5161
5162         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
5163         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
5164         (aarch64_gdbarch_init): Check for SVE.
5165         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
5166
5167 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5168
5169         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
5170         * aarch64-tdep.h (aarch64_read_description): Likewise.
5171         * arch/aarch64.c (aarch64_create_target_description): Likewise.
5172         * arch/aarch64.h (aarch64_create_target_description): Likewise.
5173         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
5174         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
5175         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
5176
5177 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
5178
5179         * value.c (value_fetch_lazy_bitfield): New.
5180         (value_fetch_lazy_memory): New.
5181         (value_fetch_lazy_register): New.
5182         (value_fetch_lazy): Factor out to smaller functions.
5183
5184 2018-06-01  Tom Tromey  <tom@tromey.com>
5185
5186         * cp-name-parser.y (backslashable, represented): Now const.
5187
5188 2018-06-01  Tom Tromey  <tom@tromey.com>
5189
5190         * cp-name-parser.y: Include parser-defs.h.
5191         (parser_fprintf): Remove declaration.
5192
5193 2018-06-01  Tom Tromey  <tom@tromey.com>
5194
5195         * cp-name-parser.y: Use %pure-parser, %lex-param, and
5196         %parse-param.
5197         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
5198         (global_result): Remove globals.
5199         (struct cpname_state): New.
5200         (yyparse): Don't declare.
5201         (yylex, yyerror): Move declarations after %union.
5202         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
5203         (make_name): Add state parameter.
5204         Update all callers.
5205         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
5206         parameter.
5207         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
5208         Update.
5209         (yylex): Add lvalp, state parameters.
5210         (yyerror): Add state parameter.
5211         (cp_demangled_name_to_comp): Update.
5212
5213 2018-06-01  Tom Tromey  <tom@tromey.com>
5214
5215         * cp-name-parser.y (parser_fprintf): Declare.
5216         (GDB_YY_REMAP_PREFIX): Define.
5217         Include yy-remap.h.  Don't redefine yy* identifiers.
5218
5219 2018-06-01  Tom Tromey  <tom@tromey.com>
5220
5221         * python/py-type.c (typy_legacy_template_argument): Update.
5222         * cp-support.h (cp_demangled_name_to_comp): Update.
5223         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
5224         parameter to be a "std::string *".
5225         (main): Update.
5226
5227 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
5228
5229         * ada-lex.l: Include "diagnostics.h" instead of
5230         "common/diagnostics.h".
5231         * unittests/environ-selftests.c: Likewise.
5232         * common/diagnostics.h: Moved to ../include.
5233
5234 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
5235
5236         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
5237         to language_mode_manual while calling breakpoint_re_set_one.
5238
5239 2018-06-01  Tom Tromey  <tom@tromey.com>
5240
5241         * valops.c (value_cast_structs, destructor_name_p): Update.
5242         * symtab.c (gdb_mangle_name): Update.
5243         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
5244         Update.
5245         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
5246         (pascal_object_print_value_fields, pascal_object_print_value):
5247         Update.
5248         * p-typeprint.c (pascal_type_print_derivation_info): Update.
5249         * linespec.c (find_methods): Update.
5250         * gdbtypes.h (type_name_no_tag): Remove.
5251         (type_name_or_error): Rename from type_name_no_tag_or_error.
5252         * gdbtypes.c (type_name_no_tag): Remove.
5253         (type_name_or_error): Rename from type_name_no_tag_or_error.
5254         (lookup_struct_elt_type, check_typedef): Update.
5255         * expprint.c (print_subexp_standard): Update.
5256         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
5257         * d-namespace.c (d_lookup_nested_symbol): Update.
5258         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
5259         (cp_print_class_member): Update.
5260         * cp-namespace.c (cp_lookup_nested_symbol): Update.
5261         * completer.c (add_struct_fields): Update.
5262         * c-typeprint.c (cp_type_print_derivation_info)
5263         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
5264         Update.
5265         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
5266         (ada_prefer_type, ada_is_exception_sym): Update.
5267
5268 2018-06-01  Tom Tromey  <tom@tromey.com>
5269
5270         * valops.c (enum_constant_from_type, value_namespace_elt)
5271         (value_maybe_namespace_elt): Update.
5272         * valarith.c (find_size_for_pointer_math): Update.
5273         * target-descriptions.c (make_gdb_type): Update.
5274         * symmisc.c (print_symbol): Update.
5275         * stabsread.c (define_symbol, read_type)
5276         (complain_about_struct_wipeout, add_undefined_type)
5277         (cleanup_undefined_types_1): Update.
5278         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
5279         (rust_range_type_p, val_print_struct, rust_print_struct_def)
5280         (rust_internal_print_type, rust_composite_type)
5281         (rust_evaluate_funcall, rust_evaluate_subexp)
5282         (rust_inclusive_range_type_p): Update.
5283         * python/py-type.c (typy_get_tag): Update.
5284         * p-typeprint.c (pascal_type_print_base): Update.
5285         * mdebugread.c (parse_symbol, parse_type): Update.
5286         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
5287         Update.
5288         * guile/scm-type.c (gdbscm_type_tag): Update.
5289         * go-lang.c (sixg_string_p): Update.
5290         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
5291         Update.
5292         * gdbtypes.h (struct main_type) <tag_name>: Remove.
5293         (TYPE_TAG_NAME): Remove.
5294         * gdbtypes.c (type_name_no_tag): Simplify.
5295         (check_typedef, check_types_equal, recursive_dump_type)
5296         (copy_type_recursive, arch_composite_type): Update.
5297         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
5298         in summary mode when needed.
5299         * eval.c (evaluate_funcall): Update.
5300         * dwarf2read.c (fixup_go_packaging, read_structure_type)
5301         (process_structure_scope, read_enumeration_type)
5302         (read_namespace_type, read_module_type, determine_prefix): Update.
5303         * cp-support.c (inspect_type): Update.
5304         * coffread.c (process_coff_symbol, decode_base_type): Update.
5305         * c-varobj.c (c_is_path_expr_parent): Update.
5306         * c-typeprint.c (c_type_print_base_struct_union): Update.
5307         (c_type_print_base_1): Update.  Print struct/class/union/enum in
5308         summary when using C language.
5309         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
5310         (gen_maybe_namespace_elt): Update.
5311         * ada-lang.c (ada_type_name): Simplify.
5312         (empty_record, ada_template_to_fixed_record_type_1)
5313         (template_to_static_fixed_type)
5314         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
5315
5316 2018-06-01  Tom Tromey  <tom@tromey.com>
5317
5318         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
5319         c_print_type.
5320         * c-typeprint.c (c_print_type_1): Add "language" parameter.
5321         (c_print_type): Update.
5322         (c_print_type): New overload.
5323         (c_type_print_varspec_prefix, c_type_print_args)
5324         (c_type_print_varspec_suffix, c_print_type_no_offsets)
5325         (c_type_print_base_struct_union, c_type_print_base_1)
5326         (cp_type_print_method_args): Add "language" parameter.
5327         (c_type_print_base): Update.
5328         * c-lang.h (c_print_type): Add new overload.
5329
5330 2018-06-01  Tom Tromey  <tom@tromey.com>
5331
5332         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
5333         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
5334
5335 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
5336
5337         * aarch64-tdep.c (aarch64_sve_register_names): New const
5338         var.
5339         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
5340         (AARCH64_SVE_Z_REGS_NUM): New define.
5341         (AARCH64_SVE_P_REGS_NUM): Likewise.
5342         (AARCH64_SVE_NUM_REGS): Likewise.
5343
5344 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
5345
5346         * nat/linux-ptrace.h [__alpha__]
5347         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
5348         definitions.
5349
5350 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
5351
5352         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
5353         the endianness selected.
5354         * NEWS: Document `set endian auto' mode operation update.
5355
5356 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
5357
5358         * Makefile.in: Add new header.
5359         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
5360         (sve_vl_from_vg): Likewise.
5361         (sve_vq_from_vl): Likewise.
5362         (sve_vl_from_vq): Likewise.
5363         (sve_vq_from_vg): Likewise.
5364         (sve_vg_from_vq): Likewise.
5365         * configure.nat: Add new c file.
5366         * nat/aarch64-sve-linux-ptrace.c: New file.
5367         * nat/aarch64-sve-linux-ptrace.h: New file.
5368
5369 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
5370
5371         * aarch64-linux-nat.c (aarch64_linux_read_description):
5372         Add parmeter zero.
5373         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
5374         Likewise.
5375         * aarch64-tdep.c (tdesc_aarch64_list): Add.
5376         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
5377         (aarch64_gdbarch_init): Add parmeter zero.
5378         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
5379         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
5380         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
5381         parmeter.
5382         * doc/gdb.texinfo: Describe SVE feature
5383         * features/aarch64-sve.c: New file.
5384
5385 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
5386
5387         PR gdb/23210
5388         * gdbarch.sh (significant_addr_bit): Default to zero when
5389         not set by target architecture.
5390         * gdbarch.c: Re-generated.
5391         * utils.c (address_significant): Update.
5392
5393 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
5394
5395         * stack.c (func_command): Remove trailing newline in call to error.
5396
5397 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5398
5399         * regcache.h (regcache_raw_collect): Remove, update callers to
5400         use regcache::raw_collect.
5401         * regcache.c (regcache_raw_collect): Remove.
5402
5403 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5404
5405         * regcache.h (regcache_raw_supply): Remove, update callers to
5406         use detached_regcache::raw_supply.
5407         * regcache.c (regcache_raw_supply): Remove.
5408
5409 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5410
5411         * regcache.h (regcache_cooked_write_part): Remove, update
5412         callers to use regcache::cooked_write_part.
5413         * regcache.c (regcache_cooked_write_part): Remove.
5414
5415 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5416
5417         * regcache.h (regcache_cooked_read_part): Remove, update callers
5418         to use readable_regcache::cooked_read_part.
5419         * regcache.c (regcache_cooked_read_part): Remove.
5420
5421 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5422
5423         * regcache.h (regcache_cooked_read_value): Remove, update
5424         callers to use readable_regcache::cooked_read_value.
5425         * regcache.c (regcache_cooked_read_value): Remove.
5426
5427 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5428
5429         * regcache.h (regcache_cooked_write): Remove, update callers to
5430         use regcache::cooked_write.
5431         * regcache.c (regcache_cooked_write): Remove.
5432
5433 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5434
5435         * regcache.h (regcache_invalidate): Remove, update callers to
5436         use detached_regcache::invalidate instead.
5437         * regcache.c (regcache_invalidate): Remove.
5438
5439 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5440
5441         * regcache.h (regcache_raw_write_part): Remove, update callers
5442         to use regcache::raw_write_part instead.
5443         * regcache.c (regcache_raw_write_part): Remove.
5444
5445 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5446
5447         * regcache.h (regcache_raw_read_part): Remove, update callers to
5448         use readable_regcache::raw_read_part instead.
5449         * regcache.c (regcache_raw_read_part): Remove.
5450
5451 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5452
5453         * regcache.h (regcache_cooked_read): Remove, update callers to
5454         use readable_regcache::cooked_read instead.
5455         * regcache.c (regcache_cooked_read): Remove.
5456
5457 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5458
5459         * regcache.h (regcache_raw_write): Remove, update callers to use
5460         regcache::raw_write instead.
5461         * regcache.c (regcache_raw_write): Remove.
5462
5463 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5464
5465         * regcache.h (regcache_raw_read): Remove, update callers to use
5466         readable_regcache::raw_read instead.
5467         * regcache.c (regcache_raw_read): Remove.
5468
5469 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5470
5471         * regcache.h (regcache_raw_update): Remove, update callers to
5472         use readable_regcache::raw_update instead.
5473         * regcache.c (regcache_raw_update): Remove.
5474
5475 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5476
5477         * regcache.h (regcache_register_status): Remove, update callers
5478         to use reg_buffer::get_register_status directly instead.
5479         * regcache.c (regcache_register_status): Remove.
5480
5481 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5482
5483         * regcache.h (regcache_get_ptid): Remove, update all callers to
5484         call regcache::ptid instead.
5485         * regcache.c (regcache_get_ptid): Remove.
5486
5487 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5488
5489         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
5490
5491 2018-05-30  Pedro Alves  <palves@redhat.com>
5492
5493         * common/common-exceptions.h (exception_rethrow): Use
5494         ATTRIBUTE_NORETURN.
5495
5496 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
5497
5498         * breakpoint.c (print_solib_event, check_status_catch_solib):
5499         Remove struct keyword in range-based for loops.
5500         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
5501         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
5502         Likewise.
5503         * linespec.c (find_superclass_methods, search_minsyms_for_name):
5504         Likewise.
5505         * symfile.c (addr_info_make_relative): Likewise.
5506         * thread.c (value_in_thread_stack_temporaries): Likewise.
5507
5508 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
5509
5510         PR gdb/16841
5511         * valops.c (value_struct_elt_for_reference): Call check_typedef on
5512         aggregate type to get its real type before accessing it.
5513
5514 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
5515
5516         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
5517         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
5518         * coff-pe-read.c (add_pe_forwarded_sym): Replace
5519         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
5520         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
5521         * jit.c (jit_breakpoint_re_set_internal): Likewise.
5522         * printcmd.c (info_address_command): Likewise.
5523
5524 2018-05-29  Tom Tromey  <tom@tromey.com>
5525
5526         * windows-nat.c (handle_exception): Update fall-through comment.
5527
5528 2018-05-29  Tom Tromey  <tom@tromey.com>
5529
5530         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
5531         (struct program_space) <added_solibs>: Now a std::vector.
5532         * breakpoint.c (print_solib_event): Update.
5533         (check_status_catch_solib): Update.
5534         * progspace.c (clear_program_space_solib_cache): Update.
5535         * solib.c (update_solib_list): Update.
5536
5537 2018-05-29  Tom Tromey  <tom@tromey.com>
5538
5539         * python/py-type.c (typy_richcompare): Update.
5540         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
5541         * gdbtypes.h (types_deeply_equal): Return bool.
5542         (types_equal): Likewise.
5543         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
5544         declare VEC.
5545         (check_types_equal): Change worklist to std::vector.  Return
5546         bool.
5547         (struct type_equality_entry): Add constructor.
5548         (compare_maybe_null_strings): Return bool.
5549         (check_types_worklist): Return bool.  Change worklist to
5550         std::vector.
5551         (types_deeply_equal): Use std::vector.
5552         (types_equal): Return bool.
5553         (compare_maybe_null_strings): Simplify.
5554
5555 2018-05-29  Tom Tromey  <tom@tromey.com>
5556
5557         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
5558
5559 2018-05-29  Tom Tromey  <tom@tromey.com>
5560
5561         * objc-lang.h: Don't include cp-support.h.
5562         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
5563         declare VEC.
5564
5565 2018-05-27  Tom Tromey  <tom@tromey.com>
5566
5567         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
5568
5569 2018-05-25  Tom Tromey  <tom@tromey.com>
5570
5571         * value.c (value::location): Initialize.
5572
5573 2018-05-25  Tom Tromey  <tom@tromey.com>
5574
5575         * dbxread.c (init_bincl_list): Remove.
5576         (bincl_list): Now a std::vector.
5577         (bincls_allocated, next_bincl): Remove.
5578         (free_bincl_list, do_free_bincl_list_cleanup)
5579         (make_cleanup_free_bincl_list): Remove.
5580         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
5581         unique_xmalloc_ptr.
5582         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
5583         (struct header_file_location): Add constructor.
5584         (add_bincl_to_list): Remove.
5585
5586 2018-05-25  Tom Tromey  <tom@tromey.com>
5587
5588         * tui/tui.c (tui_enable): Update.
5589         * mi/mi-interp.c (mi_interp::init): Update.
5590         * interps.h (class interp) <name>: New method.
5591         <m_name>: Rename from name.
5592         (~scoped_restore_interp): Update.
5593         * interps.c (interp::interp): Update.
5594         (interp_add, interp_set, interp_lookup_existing)
5595         (current_interp_named_p): Update.
5596
5597 2018-05-25  Tom Tromey  <tom@tromey.com>
5598
5599         * interps.c (interp_name): Remove.
5600         * mi/mi-interp.c (mi_interp::init): Update.
5601         * interps.h (interp_name): Remove.
5602         (~scoped_restore_interp): Update.
5603         * tui/tui.c (tui_enable): Update.
5604
5605 2018-05-25  Tom Tromey  <tom@tromey.com>
5606
5607         * utils.c (fputs_maybe_filtered): Update.
5608         * linespec.c (decode_line_full): Update.
5609         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
5610         (mi_print_breakpoint_for_event, mi_solib_loaded)
5611         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
5612         (mi_user_selected_context_changed): Update.
5613         * mi/mi-main.c (mi_execute_command): Update.
5614         * cli/cli-script.c (execute_control_command): Update.
5615         * python/python.c (execute_gdb_command): Update.
5616         * solib.c (info_sharedlibrary_command): Update.
5617         * interps.c (interp_ui_out): Remove.
5618         * interps.h (interp_ui_out): Remove.
5619
5620 2018-05-25  Tom Tromey  <tom@tromey.com>
5621
5622         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
5623         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
5624         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
5625
5626 2018-05-25  Tom Tromey  <tom@tromey.com>
5627
5628         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
5629         * interps.c (interp_exec): Use scoped_restore.
5630
5631 2018-05-25  Tom Tromey  <tom@tromey.com>
5632
5633         * remote.c (remote_target::remote_file_get): Use
5634         gdb::byte_vector.
5635         (remote_target::remote_file_put): Likewise.
5636
5637 2018-05-25  Tom Tromey  <tom@tromey.com>
5638
5639         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
5640         a std::string.
5641         (get_pe_section_index, add_pe_exported_sym): Update.
5642         (read_pe_exported_syms): Use gdb::def_vector.
5643
5644 2018-05-25  Tom Tromey  <tom@tromey.com>
5645
5646         * frame.c (remove_prev_frame): Remove.
5647         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
5648
5649 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
5650
5651         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
5652         Remove prototypes.
5653         * mips-linux-nat.c (supply_fpregset): Always call
5654         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
5655         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
5656         `mips_fill_fpregset'.
5657         * mips-linux-tdep.c (mips_supply_fpregset)
5658         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
5659         (mips_fill_fpregset_wrapper): Remove functions.
5660         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
5661         (mips_linux_fpregset): Remove variable.
5662         (mips_linux_iterate_over_regset_sections): Use
5663         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
5664         (mips_linux_o32_sigframe_init): Remove comment.
5665
5666 2018-05-25  Pedro Alves  <palves@redhat.com>
5667
5668         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
5669         (struct readahead_cache, struct packet_reg, struct
5670         remote_arch_state, class remote_state): Move higher up in the
5671         file.
5672         (remote_target::m_remote_state): Now an object instead of a pointer.
5673         (remote_target::get_remote_state): Adjust.
5674
5675 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5676
5677         * stack.c (select_and_print_frame): Delete.
5678         (struct function_bounds): Move struct within function.
5679         (func_command): Most content moved into new function
5680         find_frame_for_function, use new function, print result, add
5681         function comment.
5682         (find_frame_for_function): New function, now returns a result.
5683
5684 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5685
5686         * stack.c (iterate_over_block_arg_vars): Fix comment.
5687         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
5688
5689 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5690
5691         PR gdb/23203
5692         * frame.c
5693         (scoped_restore_selected_frame::scoped_restore_selected_frame):
5694         Define.
5695         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
5696         Define.
5697         * frame.h (class scoped_restore_selected_frame): New class.
5698         * stack.c (print_frame_local_vars): Remove catching and rethrowing
5699         of any exception, use scoped_restore_selected_frame to restore the
5700         frame instead.
5701
5702 2018-05-24  Pedro Alves  <palves@redhat.com>
5703
5704         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
5705         override.
5706
5707 2018-05-23  Tom Tromey  <tom@tromey.com>
5708
5709         * complaints.c (struct complaints): Remove.
5710         (symfile_complaint_book): Remove.
5711         (series): New global.
5712         (complaint_internal): Update.
5713         (clear_complaints): Update.
5714
5715 2018-05-23  Tom Tromey  <tom@tromey.com>
5716
5717         * complaints.c (counters): New global.
5718         (struct complain): Remove.
5719         (struct complaints) <root>: Remove.
5720         (complaint_sentinel): Remove.
5721         (symfile_complaint_book): Update.
5722         (find_complaint) Remove.
5723         (complaint_internal, clear_complaints): Update.
5724
5725 2018-05-23  Tom Tromey  <tom@tromey.com>
5726
5727         * complaints.c (struct complain) <file, line>: Remove.
5728         (find_complaint): Remove file, line parameters.
5729         (complaint_internal): Update.
5730
5731 2018-05-23  Tom Tromey  <tom@tromey.com>
5732
5733         * complaints.c (vcomplaint): Remove.
5734         (complaint_internal) Merge in contents of vcomplaint.
5735
5736 2018-05-23  Tom Tromey  <tom@tromey.com>
5737
5738         * complaints.c (struct complaints) <explanation>: Remove.
5739         (symfile_explanations): Remove.
5740         (symfile_complaint_book): Update.
5741         (vcomplaint): Update.
5742         (struct explanation): Remove.
5743
5744 2018-05-23  Tom Tromey  <tom@tromey.com>
5745
5746         * complaints.c (symfile_complaints): Remove.
5747         (complaint_internal): Remove "complaints" parameter.
5748         (clear_complaints, vcomplaint): Remove "c" parameter.
5749         (get_complaints): Remove.
5750         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
5751         (dwarf2_debug_line_missing_file_complaint)
5752         (dwarf2_debug_line_missing_end_sequence_complaint)
5753         (dwarf2_complex_location_expr_complaint)
5754         (dwarf2_const_value_length_mismatch_complaint)
5755         (dwarf2_section_buffer_overflow_complaint)
5756         (dwarf2_macro_malformed_definition_complaint)
5757         (dwarf2_invalid_attrib_class_complaint)
5758         (create_addrmap_from_index, dw2_symtab_iter_next)
5759         (dw2_expand_marked_cus)
5760         (dw2_debug_names_iterator::find_vec_in_debug_names)
5761         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
5762         (create_debug_type_hash_table, init_cutu_and_read_dies)
5763         (partial_die_parent_scope, add_partial_enumeration)
5764         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
5765         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
5766         (read_import_statement, read_file_scope, create_dwo_cu_reader)
5767         (create_cus_hash_table, create_dwp_hash_table)
5768         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
5769         (dwarf2_rnglists_process, dwarf2_ranges_process)
5770         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
5771         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
5772         (handle_struct_member_die, process_structure_scope)
5773         (read_array_type, read_common_block, read_module_type)
5774         (read_tag_pointer_type, read_typedef, read_base_type)
5775         (read_subrange_type, load_partial_dies, partial_die_info::read)
5776         (partial_die_info::read, partial_die_info::read)
5777         (partial_die_info::read, read_checked_initial_length_and_offset)
5778         (dwarf2_string_attr, read_formatted_entries)
5779         (dwarf_decode_line_header)
5780         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
5781         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
5782         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
5783         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
5784         (get_signatured_type, get_DW_AT_signature_type)
5785         (decode_locdesc, file_file_name, consume_improper_spaces)
5786         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
5787         (dwarf_decode_macro_bytes, dwarf_decode_macros)
5788         (dwarf2_symbol_mark_computed, set_die_type)
5789         (read_attribute_value): Update.
5790         * stap-probe.c (handle_stap_probe, get_stap_base_address):
5791         Update.
5792         * dbxread.c (unknown_symtype_complaint)
5793         (lbrac_mismatch_complaint, repeated_header_complaint)
5794         (set_namestring, function_outside_compilation_unit_complaint)
5795         (read_dbx_symtab, process_one_symbol): Update.
5796         * gdbtypes.c (stub_noname_complaint): Update.
5797         * windows-nat.c (handle_unload_dll): Update.
5798         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
5799         (decode_base_type): Update.
5800         * xcoffread.c (bf_notfound_complaint, ef_complaint)
5801         (eb_complaint, record_include_begin, record_include_end)
5802         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
5803         (process_xcoff_symbol, read_symbol)
5804         (function_outside_compilation_unit_complaint)
5805         (scan_xcoff_symtab): Update.
5806         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
5807         * buildsym.c (finish_block_internal, make_blockvector)
5808         (end_symtab_get_static_block, augment_type_symtab): Update.
5809         * dtrace-probe.c (dtrace_process_dof)
5810         (dtrace_static_probe_ops::get_probes): Update.
5811         * complaints.h (struct complaint): Don't declare.
5812         (symfile_complaints): Remove.
5813         (complaint_internal): Remove "complaints" parameter.
5814         (complaint): Likewise.
5815         (clear_complaints): Likewise.
5816         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5817         (reread_symbols): Update.
5818         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
5819         (dwarf2_frame_cache, decode_frame_entry): Update.
5820         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
5821         * objc-lang.c (lookup_objc_class, lookup_child_selector)
5822         (info_selectors_command): Update.
5823         * macrotab.c (macro_include, check_for_redefinition)
5824         (macro_undef): Update.
5825         * objfiles.c (filter_overlapping_sections): Update.
5826         * stabsread.c (invalid_cpp_abbrev_complaint)
5827         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
5828         (define_symbol, error_type, read_type, rs6000_builtin_type)
5829         (stabs_method_name_from_physname, read_member_functions)
5830         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
5831         (attach_fields_to_type, complain_about_struct_wipeout)
5832         (read_range_type, read_args, common_block_start)
5833         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
5834         Update.
5835         * mdebugread.c (index_complaint, unknown_ext_complaint)
5836         (basic_type_complaint, bad_tag_guess_complaint)
5837         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
5838         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
5839         (parse_procedure, parse_lines)
5840         (function_outside_compilation_unit_complaint)
5841         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
5842         (bad_tag_guess_complaint, reg_value_complaint): Update.
5843         * cp-support.c (demangled_name_complaint): Update.
5844         * macroscope.c (sal_macro_scope): Update.
5845         * dwarf-index-write.c (class debug_names): Update.
5846
5847 2018-05-23  Tom Tromey  <tom@tromey.com>
5848
5849         * complaints.c (clear_complaints): Remove "noisy" parameter.
5850         * complaints.h (clear_complaints): Update.
5851         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5852         (reread_symbols): Update.
5853
5854 2018-05-23  Tom Tromey  <tom@tromey.com>
5855
5856         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
5857         SUBSEQUENT_MESSAGE.
5858         (vcomplaint, clear_complaints): Update.
5859         (symfile_explanations): Remove some messages.
5860
5861 2018-05-23  Tom Tromey  <tom@tromey.com>
5862
5863         * complaints.c (internal_complaint): Remove.
5864         * complaints.h (internal_complaint): Remove.
5865
5866 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5867
5868         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
5869
5870 2018-05-22  Pedro Alves  <palves@redhat.com>
5871
5872         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
5873         (remote_fileio_badfd, remote_fileio_return_errno)
5874         (remote_fileio_return_success, remote_fileio_func_open)
5875         (remote_fileio_func_open, remote_fileio_func_close)
5876         (remote_fileio_func_read, remote_fileio_func_write)
5877         (remote_fileio_func_lseek, remote_fileio_func_rename)
5878         (remote_fileio_func_unlink, remote_fileio_func_stat)
5879         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
5880         (remote_fileio_func_isatty, remote_fileio_func_system): Add
5881         remote_target parameter.
5882         (remote_fio_func_map) <func>: Add remote_target parameter.
5883         (do_remote_fileio_request, remote_fileio_request):
5884         * remote-fileio.h (remote_fileio_request):
5885         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
5886         remote_target parameter.
5887         (remote_notif_process, handle_notification): Adjust to pass down
5888         the remote.
5889         (remote_notif_state_allocate): Add remote_target parameter.  Save
5890         it.
5891         * remote-notif.h (struct remote_target): Forward declare.
5892         (struct notif_client) <parse, ack, can_get_pending_events>: Add
5893         remote_target parameter.
5894         (struct remote_notif_state) <remote>: New field.
5895         (remote_notif_ack, remote_notif_parse): Add remote_target
5896         parameter.
5897         (remote_notif_state_allocate, remote_notif_state_allocate): Add
5898         remote_target parameter.
5899         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
5900         (threads_listing_context, rmt_thread_action, protocol_feature)
5901         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
5902         (packet_result, struct threads_listing_context, remote_state):
5903         Move definitions and declarations higher up.
5904         (remote_target) <~remote_target>: Declare.
5905         (remote_download_command_source, remote_file_put, remote_file_get)
5906         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
5907         (remote_hostio_pread_vFile, remote_hostio_send_command)
5908         (remote_hostio_set_filesystem, remote_hostio_open)
5909         (remote_hostio_close, remote_hostio_unlink, remote_state)
5910         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
5911         (get_memory_write_packet_size, get_memory_read_packet_size)
5912         (append_pending_thread_resumptions, remote_detach_1)
5913         (append_resumption, remote_resume_with_vcont)
5914         (add_current_inferior_and_thread, wait_ns, wait_as)
5915         (process_stop_reply, remote_notice_new_inferior)
5916         (process_initial_stop_replies, remote_add_thread)
5917         (btrace_sync_conf, remote_btrace_maybe_reopen)
5918         (remove_new_fork_children, kill_new_fork_children)
5919         (discard_pending_stop_replies, stop_reply_queue_length)
5920         (check_pending_events_prevent_wildcard_vcont)
5921         (discard_pending_stop_replies_in_queue, stop_reply)
5922         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
5923         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
5924         (remote_interrupt_as, remote_interrupt_ns)
5925         (remote_get_noisy_reply, remote_query_attached)
5926         (remote_add_inferior, remote_current_thread, get_current_thread)
5927         (set_thread, set_general_thread, set_continue_thread)
5928         (set_general_process, write_ptid)
5929         (remote_unpack_thread_info_response, remote_get_threadinfo)
5930         (parse_threadlist_response, remote_get_threadlist)
5931         (remote_threadlist_iterator, remote_get_threads_with_ql)
5932         (remote_get_threads_with_qxfer)
5933         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
5934         (get_offsets, remote_check_symbols, remote_supported_packet)
5935         (remote_query_supported, remote_packet_size)
5936         (remote_serial_quit_handler, remote_detach_pid)
5937         (remote_vcont_probe, remote_resume_with_hc)
5938         (send_interrupt_sequence, interrupt_query)
5939         (remote_notif_get_pending_events, fetch_register_using_p)
5940         (send_g_packet, process_g_packet, fetch_registers_using_g)
5941         (store_register_using_P, store_registers_using_G)
5942         (set_remote_traceframe, check_binary_download)
5943         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
5944         (remote_xfer_live_readonly_partial, remote_read_bytes)
5945         (remote_send_printf, remote_flash_write, readchar)
5946         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
5947         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
5948         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
5949         (extended_remote_disable_randomization, extended_remote_run)
5950         (send_environment_packet, extended_remote_environment_support)
5951         (extended_remote_set_inferior_cwd, remote_write_qxfer)
5952         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
5953         (packet_command): Now methods of ...
5954         (remote_target): ... this class.
5955         (m_remote_state) <remote_target>: New field.
5956         (struct remote_state) <stop_reply_queue,
5957         remote_async_inferior_event_token, wait_forever_enabled_p>: New
5958         fields.
5959         (remote_state::remote_state): Allocate stop_reply_queue.
5960         (remote_state): Delete global.
5961         (get_remote_state_raw): Delete.
5962         (remote_target::get_remote_state): Allocate m_remote_state on
5963         demand.
5964         (get_current_remote_target): New.
5965         (remote_ops, extended_remote_ops): Delete.
5966         (wait_forever_enabled_p, remote_async_inferior_event_token):
5967         Delete, moved to struct remote_state.
5968         (remote_target::close): Delete self.  Destruction bits split to
5969         ...
5970         (remote_target::~remote_target): ... this.
5971         (show_memory_packet_size): Adjust to use
5972         get_current_remote_target.
5973         (struct protocol_feature) <func>: Add remote_target parameter.
5974         All callers adjusted.
5975         (curr_quit_handler_target): New.
5976         (remote_serial_quit_handler): Reimplement.
5977         (remote_target::open_1): Adjust to use get_current_remote_target.
5978         Heap-allocate remote_target/extended_remote_target instances.
5979         (vcont_builder::vcont_builder): Add remote_target parameter, and
5980         save it in m_remote.  All callers adjusted.
5981         (vcont_builder::m_remote): New field.
5982         (vcont_builder::restart, vcont_builder::flush)
5983         (vcont_builder::push_action): Use it.
5984         (remote_target::commit_resume): Use it.
5985         (struct queue_iter_param) <remote>: New field.
5986         (remote_target::remove_new_fork_children): Fill in 'remote' field.
5987         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
5988         (check_pending_event_prevents_wildcard_vcont_callback)
5989         (remote_target::check_pending_events_prevent_wildcard_vcont)
5990         (remote_target::discard_pending_stop_replies)
5991         (remote_target::discard_pending_stop_replies_in_queue)
5992         (remote_target::remote_notif_remove_queued_reply): Fill in
5993         'remote' field.
5994         (remote_notif_get_pending_events): New.
5995         (remote_target::readchar, remote_target::remote_serial_write):
5996         Save/restore curr_quit_handler_target.
5997         (putpkt): New.
5998         (kill_new_fork_children): Fill in 'remote' field.
5999         (packet_command): Use get_current_remote_target, defer to
6000         remote_target method of same name.
6001         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
6002         parameter, and save it in m_remote.  All callers adjusted.
6003         (scoped_remote_fd::release): Use m_remote.
6004         (scoped_remote_fd::m_remote): New field.
6005         (remote_file_put, remote_file_get, remote_file_delete): Use
6006         get_current_remote_target, defer to remote_target method of same
6007         name.
6008         (remote_btrace_reset): Add remote_state paremeter.  Update all
6009         callers.
6010         (remote_async_inferior_event_handler). Pass down 'data'.
6011         (remote_new_objfile): Use get_current_remote_target.
6012         (remote_target::vcont_r_supported): New.
6013         (set_range_stepping): Use get_current_remote_target and
6014         remote_target::vcont_r_supported.
6015         (_initialize_remote): Don't allocate 'remote_state' and
6016         'stop_reply_queue' globals.
6017         * remote.h (struct remote_target): Forward declare.
6018         (getpkt, putpkt, remote_notif_get_pending_events): Add
6019         'remote_target' parameter.
6020
6021 2018-05-22  Pedro Alves  <palves@redhat.com>
6022
6023         * remote.c (vcont_builder): Now a class.  Make all data members
6024         private.
6025         (vcont_builder) <vcont_builder, restart, flush, push_action>:
6026         Declare methods.
6027         (vcont_builder_restart): Rename to ...
6028         (vcont_builder::restart): ... this.
6029         (vcont_builder_flush): Rename to ...
6030         (vcont_builder::flush): ... this.
6031         (vcont_builder_push_action): Rename to ...
6032         (vcont_builder::push_action): ... this.
6033         (remote_target::commit_resume): Adjust.
6034
6035 2018-05-22  Pedro Alves  <palves@redhat.com>
6036
6037         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
6038         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
6039         (get_fixed_memory_packet_size): New.
6040         (get_memory_packet_size): Use it.
6041         (set_memory_packet_size): Don't override the config size with
6042         DEFAULT_MAX_MEMORY_PACKET_SIZE.
6043         (show_memory_packet_size): Use get_fixed_memory_packet_size.
6044         Don't refer to get_memory_packet_size if not connected to a remote
6045         target.  Show "(default)" if configured size is 0.
6046
6047 2018-05-22  Pedro Alves  <palves@redhat.com>
6048
6049         * remote.c (remote_target::mourn_inferior): Move
6050         discard_pending_stop_replies call here from ...
6051         (_initialize_remote): ... here.
6052
6053 2018-05-22  Pedro Alves  <palves@redhat.com>
6054
6055         * remote.c (compare_section_command): Remove set_general_process
6056         call.
6057
6058 2018-05-22  Pedro Alves  <palves@redhat.com>
6059
6060         * remote.c (struct packet_reg, struct remote_arch_state):
6061         Move higher up in the file.
6062         (remote_state) <m_arch_states>: Store remote_arch_state values
6063         instead of remote_arch_state pointers.
6064         (remote_state::get_remote_arch_state): Adjust.
6065
6066 2018-05-22  Pedro Alves  <palves@redhat.com>
6067
6068         * remote.c: Include <unordered_map>.
6069         (remote_state): Now a class.
6070         (remote_state) <get_remote_arch_state>: Declare method.
6071         <get_remote_arch_state>: New field.
6072         (remote_arch_state) <remote_arch_state>: Declare ctor.
6073         <regs>: Now a unique_ptr.
6074         (remote_gdbarch_data_handle): Delete.
6075         (get_remote_arch_state): Delete.
6076         (remote_state::get_remote_arch_state): New.
6077         (get_remote_state): Adjust to call remote_state's
6078         get_remote_arch_state method.
6079         (init_remote_state): Delete, bits factored out to ...
6080         (remote_arch_state::remote_arch_state): ... this new method.
6081         (get_remote_packet_size, get_memory_packet_size)
6082         (process_g_packet, remote_target::fetch_registers)
6083         (remote_target::prepare_to_store, store_registers_using_G)
6084         (remote_target::store_registers, remote_target::get_trace_status):
6085         Adjust to call remote_state's method.
6086         (_initialize_remote): Remove reference to
6087         remote_gdbarch_data_handle.
6088
6089 2018-05-22  Pedro Alves  <palves@redhat.com>
6090
6091         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
6092         pread>: New method declarations.
6093         (remote_target::open_1): Adjust.
6094         (readahead_cache_invalidate): Rename to ...
6095         (readahead_cache::invalidate): ... this, and adjust to be a class
6096         method.
6097         (readahead_cache_invalidate_fd): Rename to ...
6098         (readahead_cache::invalidate_fd): ... this, and adjust to be a
6099         class method.
6100         (remote_hostio_pwrite): Adjust.
6101         (remote_hostio_pread_from_cache): Rename to ...
6102         (readahead_cache::pread): ... this, and adjust to be a class
6103         method.
6104         (remote_hostio_close): Adjust.
6105
6106 2018-05-22  Pedro Alves  <palves@redhat.com>
6107
6108         * remote.c (remote_hostio_close_cleanup): Delete.
6109         (class scoped_remote_fd): New.
6110         (remote_file_put, remote_file_get): Use it.
6111
6112 2018-05-22  Pedro Alves  <palves@redhat.com>
6113
6114         (struct vCont_action_support): Use bool and initialize all fields.
6115         (struct readahead_cache): Initialize all fields.
6116         (remote_state): Use bool and initialize all fields.
6117         (remote_state::remote_state, remote_state::~remote_state): New.
6118         (new_remote_state): Delete.
6119         (_initialize_remote): Use new to allocate remote_state.
6120
6121 2018-05-22  Pedro Alves  <palves@redhat.com>
6122             張俊芝  <zjz@zjz.name>
6123
6124         PR gdb/22973
6125         * c-exp.y: Include "c-support.h".
6126         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
6127         of tolower.  Use c_ident_is_alpha to scan names.
6128         * c-lang.c: Include "c-support.h".
6129         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
6130         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
6131         * c-support.h: New file, with bits factored out from ...
6132         * cp-name-parser.y: ... this file.
6133         Include "c-support.h".
6134         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
6135         c-support.h and renamed.
6136         (symbol_end, yylex): Adjust.
6137
6138 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6139
6140         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
6141         parameter type to CORE_ADDR.
6142         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
6143         parameter type in declaration to CORE_ADDR.
6144         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
6145         target_auxv_search to get AT_HWCAP and use the result to get the
6146         target description.
6147         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
6148         to CORE_ADDR. Remove the cast of the return value to unsigned
6149         long. Fix error predicate of target_auxv_search.
6150         (ppc_linux_nat_target::read_description): Change the type of the
6151         hwcap variable to CORE_ADDR.
6152
6153 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6154
6155         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
6156         if the size of fpscr is larger than 32 bits.
6157
6158 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6159
6160         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
6161         (ppc32_linux_vsxregmap): New global.
6162         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
6163         regcache_supply_regset, and regcache_collect_regset.
6164         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
6165         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
6166         (fetch_vsx_register, store_vsx_register): Remove.
6167         (fetch_vsx_registers): Add regno parameter. Get regset using
6168         ppc_linux_vsxregset. Use regset to supply registers.
6169         (store_vsx_registers): Add regno parameter. Get regset using
6170         ppc_linux_vsxregset. Use regset to collect registers.
6171         (fetch_register): Call fetch_vsx_registers instead of
6172         fetch_vsx_register.
6173         (store_register): Call store_vsx_registers instead of
6174         store_vsx_register.
6175         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
6176         new regno parameter.
6177         (store_ppc_registers): Call store_vsx_registers with -1 for the
6178         new regno parameter.
6179         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
6180         (ppc_collect_vsxregset): Remove.
6181
6182 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6183
6184         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
6185         offset fields.
6186         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
6187         for vector register offset fields.
6188         (ppc64_fbsd_reg_offsets): Likewise.
6189         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6190         to vector register offset fields.
6191         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6192         to vector register offset fields.
6193         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
6194         vector register offset fields.
6195         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
6196         initializers for vector register offset fields.
6197         (rs6000_aix64_reg_offsets): Likewise.
6198         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
6199         (ppc_supply_vrregset): Remove.
6200         (ppc_collect_vrregset): Remove.
6201         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
6202         (ppc_linux_vrregset) : New function.
6203         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
6204         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
6205         (ppc32_linux_vrregset): Remove.
6206         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
6207         and use result instead of ppc32_linux_vrregset.
6208         (ppc32_linux_reg_offsets): Remove initializers for vector register
6209         offset fields.
6210         (ppc64_linux_reg_offsets): Likewise.
6211         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
6212         * ppc-linux-nat.c: Include regset.h.
6213         (gdb_vrregset_t): Adjust comment to account for little-endian
6214         mode.
6215         (supply_vrregset, fill_vrregset): Remove.
6216         (fetch_altivec_register, store_altivec_register): Remove.
6217         (fetch_altivec_registers): Add regno parameter. Get regset using
6218         ppc_linux_vrregset. Use regset to supply registers.
6219         (store_altivec_registers): Add regno parameter. Get regset using
6220         ppc_linux_vrregset. Use regset to collect registers.
6221         (fetch_register): Call fetch_altivec_registers instead of
6222         fetch_altivec_register.
6223         (store_register): Call store_altivec_registers instead of
6224         store_altivec_register.
6225         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
6226         the new regno parameter.
6227         (store_ppc_registers): Call store_altivec_registers with -1 for
6228         the new regno parameter.
6229
6230 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6231
6232         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
6233         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
6234         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
6235         (gdb_vrregset_t): Change array type size to
6236         PPC_LINUX_SIZEOF_VRREGSET.
6237         (gdb_vsxregset_t): Change array type size to
6238         PPC_LINUX_SIZEOF_VSXREGSET.
6239         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
6240         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
6241         PPC_LINUX_SIZEOF_VSXREGSET.
6242
6243 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6244
6245         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
6246         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
6247         nat/ppc-linux.c.
6248         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
6249         ppc_linux_target_wordsize with tid.
6250         (ppc_linux_nat_target::read_description): Call ppc_linux_target
6251         wordsize with tid.
6252         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
6253         (ppc64_64bit_inferior_p): Add static and inline specifiers.
6254         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
6255         tid parameter. Remove static specifier.
6256         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
6257         (ppc_linux_target_wordsize): New declaration.
6258
6259 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6260
6261         * arch/ppc-linux-common.c: New file.
6262         * arch/ppc-linux-common.h: New file.
6263         * arch/ppc-linux-tdesc.h: New file.
6264         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
6265         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
6266         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
6267         arch/ppc-linux-tdesc.h.
6268         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
6269         arch/ppc-linux-tdesc.h.
6270         (ppc_linux_nat_target::read_description): Remove target
6271         description matching code. Fill a ppc_linux_features struct and
6272         call ppc_linux_match_description with it. Move comment about ISA
6273         2.05 to ppc-linux-common.c.
6274         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
6275         arch/ppc-linux-tdesc.h.
6276         (ppc_linux_core_read_description): Remove target description
6277         matching code. Fill a ppc_linux_features struct and call
6278         ppc_linux_match_description with it.
6279         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
6280         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
6281         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
6282         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
6283         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
6284         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
6285         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
6286         (tdesc_powerpc_e500l): Remove.
6287
6288 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
6289
6290         * ada-lang.c (catch_assert_command): Pass empty string instead
6291         of NULL for excep_string argument.
6292
6293 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6294
6295         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
6296         the width of the requested register exceeds the width of the
6297         `ptrace' data type.
6298
6299 2018-05-21  Tom Tromey  <tom@tromey.com>
6300
6301         * printcmd.c (output_command): Remove.
6302         (output_command_const): Rename to output_command.
6303         * valprint.h (output_command): Rename from output_command_const.
6304         * tracepoint.c (trace_dump_actions): Call output_command.
6305
6306 2018-05-21  Tom Tromey  <tom@tromey.com>
6307
6308         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
6309         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
6310         * ada-lang.h (create_ada_exception_catchpoint): Update.
6311         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
6312         std::string.
6313         (create_excep_cond_exprs, ~ada_catchpoint)
6314         (should_stop_exception, print_one_exception)
6315         (print_mention_exception, print_recreate_exception): Update.
6316         (ada_get_next_arg): Remove.
6317         (catch_ada_exception_command_split): Use std::string.  Change type
6318         of "excep_string", "cond_string".
6319         (catch_ada_exception_command): Update.
6320         (create_ada_exception_catchpoint): Change type of excep_string.
6321         (ada_exception_sal): Remove excep_string parameter.
6322         (~ada_catchpoint): Remove.
6323
6324 2018-05-21  Tom Tromey  <tom@tromey.com>
6325
6326         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
6327         cleanup.
6328
6329 2018-05-21  Tom Tromey  <tom@tromey.com>
6330
6331         * ada-lang.c (ada_exception_message_1, ada_exception_message):
6332         Return unique_xmalloc_ptr.
6333         (print_it_exception): Update.
6334
6335 2018-05-21  Tom Tromey  <tom@tromey.com>
6336
6337         * tracepoint.c (trace_dump_actions): Use std::string.
6338
6339 2018-05-21  Tom Tromey  <tom@tromey.com>
6340
6341         * symfile.c (reread_symbols): Use std::string for original_name.
6342
6343 2018-05-21  Tom Tromey  <tom@tromey.com>
6344
6345         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
6346         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
6347         constructor.
6348
6349 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
6350
6351         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
6352         instance to...
6353         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
6354         * objfiles.c (get_objfile_bfd_data): Allocate
6355         objfile_per_bfd_storage with obstack_new when allocating on
6356         obstack.
6357
6358 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
6359
6360         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
6361         OBSTACK_ZALLOC.
6362         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
6363         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
6364         * mdebugread.c (mdebug_build_psymtabs): Likewise.
6365         (add_pending): Likewise.
6366         (parse_symbol): Likewise.
6367         (parse_partial_symbols): Likewise.
6368         (psymtab_to_symtab_1): Likewise.
6369         (new_psymtab): Likewise.
6370         (elfmdebug_build_psymtabs): Likewise.
6371         * minsyms.c (terminate_minimal_symbol_table): Likewise.
6372         * objfiles.c (get_objfile_bfd_data): Likewise.
6373         (objfile_register_static_link): Likewise.
6374         * psymtab.c (allocate_psymtab): Likewise.
6375         * stabsread.c (read_member_functions): Likewise.
6376         * xcoffread.c (xcoff_end_psymtab): Likewise.
6377
6378 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
6379
6380         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
6381         compiler supports std::is_trivially_constructible.
6382         * common/poison.h: Include obstack.h.
6383         (IsMallocable): Define to is_trivially_constructible if the
6384         compiler supports it, define to true_type otherwise.
6385         (xobnew): New.
6386         (XOBNEW): Redefine.
6387         (xobnewvec): New.
6388         (XOBNEWVEC): Redefine.
6389         * gdb_obstack.h (obstack_zalloc): New.
6390         (OBSTACK_ZALLOC): Redefine.
6391         (obstack_calloc): New.
6392         (OBSTACK_CALLOC): Redefine.
6393         (obstack_new): New.
6394         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
6395         (gdbarch_obstack): New declaration in gdbarch.h, definition in
6396         gdbarch.c.
6397         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
6398         obstack_calloc/obstack_zalloc.
6399         (gdbarch_obstack_zalloc): Remove.
6400         * target-descriptions.c (tdesc_data_init): Use obstack_new.
6401
6402 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6403
6404         * stack.c (backtrace_command_1): Remove useless variable int i.
6405
6406 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6407
6408         * stack.c (print_frame_info): Fix comment.
6409
6410 2018-05-18  Tom Tromey  <tom@tromey.com>
6411
6412         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
6413         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
6414         (~dwarf2_per_objfile): Update
6415         (dwarf2_get_dwz_file): Use new.
6416         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
6417         unique_ptr.
6418
6419 2018-05-18  Tom Tromey  <tom@tromey.com>
6420
6421         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
6422         unique_ptr.
6423         * dwarf2read.c (struct dwp_file): Add constructor and
6424         initializers.
6425         (open_and_init_dwp_file): Return a unique_ptr.
6426         (dwarf2_per_objfile, create_dwp_hash_table)
6427         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
6428         (lookup_dwo_unit_in_dwp): Update.
6429         (open_and_init_dwp_file, get_dwp_file): Update.
6430
6431 2018-05-18  Tom Tromey  <tom@tromey.com>
6432
6433         * dwarf2read.c (dwarf2_per_objfile): Update.
6434         (struct mapped_index): Add initializers.
6435         (dwarf2_read_index): Use new.
6436         (dw2_symtab_iter_init): Update.
6437         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
6438         unique_ptr.
6439
6440 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
6441
6442         * dwarf2read.c (mapped_index) <total_size>: Remove.
6443
6444 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
6445
6446         * unittests/format_pieces-selftests.c (test_format_specifier):
6447         Add ARI comments.
6448
6449 2018-05-18  Tom Tromey  <tom@tromey.com>
6450
6451         * c-typeprint.c (maybe_print_hole): New function.
6452         (c_print_type_struct_field_offset): Update.
6453         (c_type_print_base_struct_union): Call maybe_print_hole.
6454
6455 2018-05-17  Keith Seitz  <keiths@redhat.com>
6456
6457         * breakpoint.c (build_bpstat_chain): New function, moved from
6458         bpstat_stop_status.
6459         (bpstat_stop_status): Add optional parameter, `stop_chain'.
6460         If no stop chain is passed, call build_bpstat_chain to build it.
6461         * breakpoint.h (build_bpstat_chain): Declare.
6462         (bpstat_stop_status): Move documentation here from breakpoint.c.
6463         * infrun.c (handle_signal_stop): Before eliding inlined frames,
6464         build the stop chain and pass it to skip_inline_frames.
6465         Pass this stop chain to bpstat_stop_status.
6466         * inline-frame.c: Include breakpoint.h.
6467         (stopped_by_user_bp_inline_frame): New function.
6468         (skip_inline_frames): Add parameter `stop_chain'.
6469         Move documention to inline-frame.h.
6470         If non-NULL, use stopped_by_user_bp_inline_frame to determine
6471         whether the frame should be elided.
6472         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
6473         Add moved documentation and update for new parameter.
6474
6475 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6476
6477         PR cli/14975
6478         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6479         unittests/format_pieces-selftests.c.
6480         * common/format.h (format_piece) <operator==>: New.
6481         (format_pieces) <operator[]>: Remove.
6482         * common/format.c (format_pieces::format_pieces): Handle \e.
6483         * unittests/format_pieces-selftests.c: New.
6484
6485 2018-05-17  Tom Tromey  <tom@tromey.com>
6486
6487         PR symtab/23010:
6488         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
6489         (dw2_instantiate_symtab): Add skip_partial parameter.
6490         (dw2_find_last_source_symtab, dw2_map_expand_apply)
6491         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
6492         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
6493         (dw2_expand_symtabs_matching_one)
6494         (dw2_find_pc_sect_compunit_symtab)
6495         (dw2_debug_names_lookup_symbol)
6496         (dw2_debug_names_expand_symtabs_for_function): Update.
6497         (init_cutu_and_read_dies): Add skip_partial parameter.
6498         (process_psymtab_comp_unit, build_type_psymtabs_1)
6499         (process_skeletonless_type_unit, load_partial_comp_unit)
6500         (psymtab_to_symtab_1): Update.
6501         (load_full_comp_unit): Add skip_partial parameter.
6502         (process_imported_unit_die, dwarf2_read_addr_index)
6503         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
6504         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
6505         (read_signatured_type): Update.
6506
6507 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6508
6509         * value.c (release_value): Remove unused variable.
6510         (record_latest_value): Likewise.
6511         (access_value_history): Likewise.
6512         (preserve_values): Likewise.
6513
6514 2018-05-17  Tom Tromey  <tom@tromey.com>
6515
6516         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
6517         Initialize.
6518
6519 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
6520
6521         PR gdb/22286
6522         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
6523         Also handle registers whose width is not a multiple of
6524         PTRACE_TYPE_RET.
6525         (linux_nat_trad_target::store_register): Likewise.
6526
6527 2018-05-16  Tom Tromey  <tom@tromey.com>
6528
6529         * gdbcore.h (core_bfd): Redefine.
6530         * corelow.c (core_target::close): Update.
6531         (core_target_open): Update.
6532         * progspace.h (struct program_space) <cbfd>: Now a
6533         gdb_bfd_ref_ptr.
6534
6535 2018-05-16  Tom Tromey  <tom@tromey.com>
6536
6537         PR cli/19551:
6538         * symfile-add-flags.h (enum symfile_add_flags)
6539         <SYMFILE_NOT_FILENAME>: New constant.
6540         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
6541         objfile name from BFD.
6542         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
6543         * minidebug.c (find_separate_debug_file_in_section): Put
6544         ".gnu_debugdata" into BFD's file name.
6545
6546 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
6547
6548         * regcache.c (regcache_read_ftype, regcache_write_ftype):
6549         Remove.
6550
6551 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
6552
6553         PR binutils/21446
6554         * aarch64-tdep.c (aarch64_analyze_prologue,
6555         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
6556         Indicate not interested in errors.
6557
6558 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6559
6560         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
6561         Supply the MIPS_ZERO_REGNUM register.
6562
6563 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6564
6565         * mips-tdep.c (mask_address_var): Make variable static.
6566
6567 2018-05-14  Tom Tromey  <tom@tromey.com>
6568
6569         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
6570
6571 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
6572
6573         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
6574         FXSAVE_ADDR for the mxcsr register.
6575
6576 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
6577
6578         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
6579
6580 2018-05-11  Pedro Alves  <palves@redhat.com>
6581
6582         * corelow.c (core_target) <core_target>: No longer inline.
6583         Initialize m_core_gdbarch, m_core_vec and build the section table
6584         here.
6585         <~core_target>: New.
6586         <core_gdbarch, get_core_register_section>: New methods.
6587         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
6588         factored out from ...
6589         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
6590         (core_ops): Delete.
6591         (sniff_core_bfd): Add gdbarch parameter.
6592         (core_close): Delete, merged into ...
6593         (core_target::close): ... here.  Delete self.
6594         (core_close_cleanup): Delete.
6595         (core_target_open): Allocate a core_target on the heap.  Use a
6596         unique_ptr instead of a cleanup.  Bits moved into the core_target
6597         ctor.  Adjust to use core_target methods instead of globals.
6598         (get_core_register_section): Rename to ...
6599         (core_target::get_core_register_section): ... this and adjust.
6600         (struct get_core_registers_cb_data): New.
6601         (get_core_registers_cb): Use it.  Use bool.
6602         (core_target::fetch_registers, core_target::files_info)
6603         (core_target::xfer_partial, core_target::read_description)
6604         (core_target::pid_to, core_target::thread_name): Adjust to
6605         reference class fields instead of globals.
6606         * target.h (struct target_ops_deleter, target_ops_up): New.
6607
6608 2018-05-11  Pedro Alves  <palves@redhat.com>
6609
6610         * corefile.c (core_file_command): Move to corelow.c.
6611         * corelow.c (the_core_target): Delete.
6612         (core_file_command): Moved from corefile.c.  Check exec_bfd
6613         instead of the_core_target.  Use target_detach instead of calling
6614         into the_core_target directly.
6615         (maybe_say_no_core_file_now): New.
6616         (core_target::detach): Use it.
6617         (_initialize_corelow): Remove references to the_core_target.
6618         * gdbcore.h (the_core_target): Delete.
6619
6620 2018-05-11  Tom Tromey  <tromey@redhat.com>
6621             Pedro Alves  <palves@redhat.com>
6622
6623         * corefile.c (core_bfd): Remove.
6624         * gdbcore.h (core_bfd): Now a macro.
6625         * progspace.h (struct program_space) <cbfd>: New field.
6626
6627 2018-05-11  Tom Tromey  <tom@tromey.com>
6628
6629         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
6630         gdb::def_vector.
6631
6632 2018-05-10  Tom Tromey  <tom@tromey.com>
6633
6634         * configure: Rebuild.
6635         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
6636
6637 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
6638
6639         PR server/23158:
6640         * regformats/regdat.sh: Adjust script, following the addition
6641         of the new expedite_regs parameter to init_target_desc.
6642
6643 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
6644     
6645         PR gdb/23127
6646         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
6647         set_gdbarch_significant_addr_bit.
6648         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
6649         set_gdbarch_significant_addr_bit.
6650         * utils.c (address_significant): Update to sign extend addr.
6651
6652 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
6653
6654         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
6655         (xtensa_linux_init_abi): Limit tdep->num_regs by
6656         tdep->num_nopriv_regs.
6657         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
6658         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
6659         not initialized.
6660
6661 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
6662
6663         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
6664
6665 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
6666
6667         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
6668         (I387_MXCSR_INIT_VAL): New constant.
6669         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
6670         buffer if it was supplied by the inferior.
6671         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
6672         (i387_xsave_get_clear_bv): New function.
6673         (i387_supply_xsave): Only read x87 control registers from the
6674         xsave buffer if the feature is enabled, and the state will have
6675         been written, otherwise, provide a suitable default.
6676         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
6677         including x87 control registers.  Update control registers if they
6678         have changed from the default value, and mark features as enabled
6679         as required.
6680         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
6681
6682 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
6683
6684         * spu-tdep.c (info_spu_event_command): Fix output formatting.
6685
6686 2018-05-07  Tom Tromey  <tom@tromey.com>
6687
6688         * configure: Rebuild.
6689         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
6690
6691 2018-05-07  Tom Tromey  <tom@tromey.com>
6692
6693         PR tdep/20362:
6694         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
6695         bit.  Use correct value for VDIV.
6696
6697 2018-05-04  Tom Tromey  <tom@tromey.com>
6698
6699         * configure: Rebuild.
6700         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
6701
6702 2018-05-04  Tom Tromey  <tom@tromey.com>
6703
6704         * linux-record.c (record_linux_system_call) <case
6705         RECORD_SYS_RECVFROM>: Add "break".
6706
6707 2018-05-04  Tom Tromey  <tom@tromey.com>
6708
6709         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
6710         Add missing "break".
6711         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
6712         Add missing "break".
6713
6714 2018-05-04  Tom Tromey  <tom@tromey.com>
6715
6716         * rs6000-tdep.c (ppc_process_record_op4)
6717         (ppc_process_record_op63): Add fall-through comment.
6718
6719 2018-05-04  Tom Tromey  <tom@tromey.com>
6720
6721         * i386-tdep.c (i386_process_record): Add fall-through comment.
6722
6723 2018-05-04  Tom Tromey  <tom@tromey.com>
6724
6725         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
6726         comment.
6727
6728 2018-05-04  Tom Tromey  <tom@tromey.com>
6729
6730         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
6731         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
6732         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
6733         comment.
6734         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
6735         comment.
6736         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
6737         comment.
6738
6739 2018-05-04  Tom Tromey  <tom@tromey.com>
6740
6741         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
6742
6743 2018-05-04  Tom Tromey  <tom@tromey.com>
6744
6745         * s390-tdep.c (s390_process_record): Fix fall-through comments.
6746         * xcoffread.c (scan_xcoff_symtab): Move comment later.
6747         * symfile.c (section_is_mapped): Fix fall-through comment.
6748         * stabsread.c (define_symbol, read_member_functions): Fix
6749         fall-through comment.
6750         * s390-linux-tdep.c (s390_process_record): Fix fall-through
6751         comment.
6752         * remote.c (remote_wait_as): Fix fall-through comment.
6753         * p-exp.y (yylex): Fix fall-through comment.
6754         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
6755         comment.
6756         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
6757         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
6758         * jv-exp.y (yylex): Fix fall-through comment.
6759         * go-exp.y (lex_one_token): Fix fall-through comment.
6760         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
6761         fall-through comment.
6762         * f-exp.y (yylex): Fix fall-through comment.
6763         * dwarf2read.c (process_die): Fix fall-through comments.
6764         * dbxread.c (process_one_symbol): Fix fall-through comment.
6765         * d-exp.y (lex_one_token): Fix fall-through comment.
6766         * cp-name-parser.y (yylex): Fix fall-through comment.
6767         * coffread.c (coff_symtab_read): Fix fall-through comment.
6768         * c-exp.y (lex_one_token): Fix fall-through comment.
6769         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
6770         comment.
6771         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
6772         comment.
6773
6774 2018-05-04  Tom Tromey  <tom@tromey.com>
6775
6776         PR python/22730:
6777         * NEWS: Mention gdb.execute change.
6778         * gdbcmd.h (execute_control_command): Don't declare.
6779         * python/python.c (execute_gdb_command): Use read_command_lines_1,
6780         execute_control_commands, execute_control_commands_to_string.
6781         * cli/cli-script.h (execute_control_commands)
6782         (execute_control_commands_to_string): Declare.
6783         (execute_control_command): Add from_tty parameter.
6784         * cli/cli-script.c (execute_control_commands)
6785         (execute_control_commands_to_string): New functions.
6786         (execute_user_command): Use execute_control_commands.
6787         (execute_control_command_1): Add "from_tty" parameter.  Update.
6788         (execute_control_command): Likewise.
6789
6790 2018-05-04  Tom Tromey  <tom@tromey.com>
6791
6792         PR python/22731:
6793         * NEWS: Mention that breakpoint commands are writable.
6794         * python/py-breakpoint.c (bppy_set_commands): New function.
6795         (breakpoint_object_getset) <"commands">: Use it.
6796
6797 2018-05-04  Tom Tromey  <tom@tromey.com>
6798
6799         * tracepoint.c (actions_command): Update.
6800         * mi/mi-cmd-break.c (mi_command_line_array)
6801         (mi_command_line_array_cnt, mi_command_line_array_ptr)
6802         (mi_read_next_line): Remove.
6803         (mi_cmd_break_commands): Update.
6804         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
6805         function_view.
6806         * cli/cli-script.c (get_command_line): Update.
6807         (process_next_line): Use function_view.  Constify.
6808         (recurse_read_control_structure, read_command_lines)
6809         (read_command_lines_1): Change argument types to function_view.
6810         (do_define_command, document_command): Update.
6811         * breakpoint.h (check_tracepoint_command): Don't declare.
6812         * breakpoint.c (check_tracepoint_command): Remove.
6813         (commands_command_1, create_tracepoint_from_upload): Update.
6814
6815 2018-05-04  Tom Tromey  <tom@tromey.com>
6816
6817         PR gdb/11750:
6818         * cli/cli-script.h (enum command_control_type) <define_control>:
6819         New constant.
6820         * cli/cli-script.c (multi_line_command_p): Handle define_control.
6821         (build_command_line, execute_control_command_1)
6822         (process_next_line): Likewise.
6823         (do_define_command): New function, extracted from define_command.
6824         (define_command): Use it.
6825
6826 2018-05-04  Tom Tromey  <tom@tromey.com>
6827
6828         * tracepoint.c (actions_command): Update.
6829         * cli/cli-script.h (read_command_lines): Update.
6830         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
6831         (MAX_TMPBUF): Remove define.
6832         (define_command): Use string_printf.
6833         (document_command): Likewise.
6834         * breakpoint.c (commands_command_1): Update.
6835
6836 2018-05-04  Tom Tromey  <tom@tromey.com>
6837
6838         * top.c (execute_command): Update.
6839         * cli/cli-script.h (print_command_lines): Now varargs.
6840         * cli/cli-script.c (print_command_lines): Now varargs.
6841         (execute_control_command_1) <case while_control, case if_control>:
6842         Update.
6843
6844 2018-05-04  Tom Tromey  <tom@tromey.com>
6845
6846         * tracepoint.c (all_tracepoint_actions): Rename from
6847         all_tracepoint_actions_and_cleanup.  Change return type.
6848         (actions_command, encode_actions_1, encode_actions)
6849         (trace_dump_actions, tdump_command): Update.
6850         * remote.c (remote_download_command_source): Update.
6851         * python/python.c (gdbpy_eval_from_control_command)
6852         (python_command, python_interactive_command): Update.
6853         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
6854         * guile/guile.c (guile_command)
6855         (gdbscm_eval_from_control_command, guile_command): Update.
6856         * compile/compile.c (compile_code_command)
6857         (compile_print_command, compile_to_object): Update.
6858         * cli/cli-script.h (struct command_lines_deleter): New.
6859         (counted_command_line): New typedef.
6860         (struct command_line): Add constructor, destructor.
6861         <body_list>: Remove.
6862         <body_list_0, body_list_1>: New members.
6863         (command_line_up): Remove typedef.
6864         (read_command_lines, read_command_lines_1, get_command_line):
6865         Update.
6866         (copy_command_lines): Don't declare.
6867         * cli/cli-script.c (build_command_line): Use "new".
6868         (get_command_line): Return counted_command_line.
6869         (print_command_lines, execute_user_command)
6870         (execute_control_command_1, while_command, if_command): Update.
6871         (realloc_body_list): Remove.
6872         (process_next_line, recurse_read_control_structure): Update.
6873         (read_command_lines, read_command_lines_1): Return counted_command_line.
6874         (free_command_lines): Use "delete".
6875         (copy_command_lines): Remove.
6876         (define_command, document_command, show_user_1): Update.
6877         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
6878         a counted_command_line.
6879         * breakpoint.h (counted_command_line): Remove typedef.
6880         (breakpoint_set_commands): Update.
6881         * breakpoint.c (check_no_tracepoint_commands)
6882         (validate_commands_for_breakpoint): Update.
6883         (breakpoint_set_commands): Change commands to be a
6884         counted_command_line.
6885         (commands_command_1, update_dprintf_command_list)
6886         (create_tracepoint_from_upload): Update.
6887
6888 2018-05-04  Tom Tromey  <tom@tromey.com>
6889
6890         * cli/cli-decode.h (cmd_list_element): New constructor.
6891         (~cmd_list_element): New destructor.
6892         (struct cmd_list_element): Add initializers.
6893         * cli/cli-decode.c (do_add_cmd): Use "new".
6894         (delete_cmd): Use "delete".
6895
6896 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6897             Pedro Alves <palves@redhat.com>
6898
6899         PR breakpoints/19806 and support for PR external/20207.
6900         * NEWS: Mention Aarch64 watchpoint improvements.
6901         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
6902         watchpoints and PR external/20207 watchpoints.
6903         * nat/aarch64-linux-hw-point.c
6904         (kernel_supports_any_contiguous_range): New.
6905         (aarch64_watchpoint_offset): New.
6906         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
6907         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
6908         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
6909         (aarch64_align_watchpoint): New parameters aligned_offset_p and
6910         next_addr_orig_p.  Support PR external/20207 watchpoints.
6911         (aarch64_downgrade_regs): New.
6912         (aarch64_dr_state_insert_one_point): New parameters offset and
6913         addr_orig.
6914         (aarch64_dr_state_remove_one_point): Likewise.
6915         (aarch64_handle_breakpoint): Update caller.
6916         (aarch64_handle_aligned_watchpoint): Likewise.
6917         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
6918         aligned_offset.
6919         (aarch64_linux_set_debug_regs): Remove const from state.  Call
6920         aarch64_downgrade_regs.
6921         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
6922         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
6923         (DR_CONTROL_MASK): ... this.
6924         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
6925         (unsigned int aarch64_watchpoint_offset): New prototype.
6926         (aarch64_linux_set_debug_regs): Remove const from state.
6927         * utils.c (align_up, align_down): Move to ...
6928         * common/common-utils.c (align_up, align_down): ... here.
6929         * utils.h (align_up, align_down): Move to ...
6930         * common/common-utils.h (align_up, align_down): ... here.
6931
6932 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
6933
6934         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
6935         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
6936         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
6937         Re-implement to match the ABI as summarized in GCC's
6938         gcc/config/sparc/sparc.c.  All callers updated.
6939         (sparc32_store_arguments): Remove assertion.
6940
6941 2018-05-04  Tom Tromey  <tom@tromey.com>
6942
6943         * printcmd.c: Don't include tui.h.
6944         (decode_format): Use skip_spaces.
6945
6946 2018-05-04  Tom Tromey  <tom@tromey.com>
6947
6948         PR gdb/22619:
6949         * printcmd.c (last_count): New global.
6950         (x_command): Use saved count when repeating.
6951
6952 2018-05-04  Tom Tromey  <tom@tromey.com>
6953
6954         * nto-procfs.c (do_closedir_cleanup): Remove.
6955         (procfs_pidlist): Use gdb_dir_up.
6956         * procfs.c (do_closedir_cleanup): Remove.
6957         (proc_update_threads): Use gdb_dir_up.
6958         * common/filestuff.h (struct gdb_dir_deleter): New.
6959         (gdb_dir_up): New typedef.
6960
6961 2018-05-04  Tom Tromey  <tom@tromey.com>
6962
6963         * ada-lang.c (print_mention_exception): Use std::string.
6964
6965 2018-05-04  Tom Tromey  <tom@tromey.com>
6966
6967         * ada-lang.c (create_excep_cond_exprs): Update.
6968         (ada_exception_catchpoint_cond_string): Use std::string.
6969
6970 2018-05-04  Tom Tromey  <tom@tromey.com>
6971
6972         * ada-lang.c (xget_renaming_scope): Return std::string.
6973         (old_renaming_is_invisible): Update.
6974
6975 2018-05-04  Tom Tromey  <tom@tromey.com>
6976
6977         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
6978         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
6979
6980 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
6981
6982         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
6983
6984 2018-05-04  Tom Tromey  <tom@tromey.com>
6985
6986         * remote.c (remote_query_supported_append): Change type.
6987         (remote_check_symbols): Update.
6988
6989 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
6990
6991         PR gdb/11420
6992         * configure.ac: Prepend libpython.
6993         * python/python-config.py: Likewise.
6994         * configure: Regenerate.
6995
6996 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
6997
6998         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
6999
7000 2018-05-03  Pedro Alves  <palves@redhat.com>
7001
7002         * s390-linux-nat.c
7003         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
7004         override.  Write 'true' instead of '1'.
7005         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
7006         declaration.
7007
7008 2018-05-02  Pedro Alves  <palves@redhat.com>
7009
7010         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
7011         add_inf_child_target.
7012         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
7013         add_inf_child_target.
7014         * aix-thread.c (aix_thread_target_info): New.
7015         (aix_thread_target) <shortname, longname, doc>: Delete.
7016         <info>: New.
7017         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
7018         add_inf_child_target.
7019         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
7020         add_inf_child_target.
7021         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
7022         add_inf_child_target.
7023         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
7024         add_inf_child_target.
7025         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
7026         add_inf_child_target.
7027         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
7028         add_inf_child_target.
7029         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
7030         add_inf_child_target.
7031         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
7032         add_inf_child_target.
7033         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
7034         add_inf_child_target.
7035         * bfd-target.c (target_bfd_target_info): New.
7036         (target_bfd) <shortname, longname, doc>: Delete.
7037         <info>: New.
7038         * bsd-kvm.c (bsd_kvm_target_info): New.
7039         (bsd_kvm_target) <shortname, longname, doc>: Delete.
7040         <info>: New.
7041         (bsd_kvm_target::open): Rename to ...
7042         (bsd_kvm_target_open): ... this.  Adjust.
7043         * bsd-uthread.c (bsd_uthread_target_info): New.
7044         (bsd_uthread_target) <shortname, longname, doc>: Delete.
7045         <info>: New.
7046         * corefile.c (core_file_command): Adjust.
7047         * corelow.c (core_target_info): New.
7048         (core_target) <shortname, longname, doc>: Delete.
7049         <info>: New.
7050         (core_target::open): Rename to ...
7051         (core_target_open): ... this.  Adjust.
7052         * ctf.c (ctf_target_info): New.
7053         (ctf_target) <shortname, longname, doc>: Delete.
7054         <info>: New.
7055         (ctf_target::open): Rename to ...
7056         (ctf_target_open): ... this.
7057         (_initialize_ctf): Adjust.
7058         * exec.c (exec_target_info): New.
7059         (exec_target) <shortname, longname, doc>: Delete.
7060         <info>: New.
7061         (exec_target::open): Rename to ...
7062         (exec_target_open): ... this.
7063         * gdbcore.h (core_target_open): Declare.
7064         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
7065         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
7066         add_inf_child_target.
7067         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
7068         add_inf_child_target.
7069         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
7070         add_inf_child_target.
7071         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
7072         add_inf_child_target.
7073         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
7074         add_inf_child_target.
7075         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
7076         add_inf_child_target.
7077         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
7078         add_inf_child_target.
7079         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
7080         add_inf_child_target.
7081         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
7082         add_inf_child_target.
7083         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
7084         add_inf_child_target.
7085         * inf-child.c (inf_child_target_info): New.
7086         (inf_child_target::info): New.
7087         (inf_child_open_target): Remove 'target' parameter.  Use
7088         get_native_target instead.
7089         (inf_child_target::open): Delete.
7090         (add_inf_child_target): New.
7091         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
7092         Delete.
7093         <info>: New.
7094         (add_inf_child_target): Declare.
7095         (inf_child_open_target): Declare.
7096         * linux-thread-db.c (thread_db_target_info): New.
7097         (thread_db_target) <shortname, longname, doc>: Delete.
7098         <info>: New.
7099         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
7100         add_inf_child_target.
7101         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
7102         add_inf_child_target.
7103         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
7104         add_inf_child_target.
7105         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
7106         add_inf_child_target.
7107         * make-target-delegates (print_class): Adjust.
7108         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
7109         add_inf_child_target.
7110         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
7111         add_inf_child_target.
7112         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
7113         add_inf_child_target.
7114         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
7115         add_inf_child_target.
7116         * nto-procfs.c (nto_native_target_info): New.
7117         (nto_procfs_target_native) <shortname, longname, doc>:
7118         Delete.
7119         <info>: New.
7120         (nto_procfs_target_info): New.
7121         (nto_procfs_target_procfs) <shortname, longname, doc>:
7122         Delete.
7123         <info>: New.
7124         (init_procfs_targets): Adjust.
7125         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
7126         add_inf_child_target.
7127         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
7128         add_inf_child_target.
7129         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
7130         add_inf_child_target.
7131         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
7132         add_inf_child_target.
7133         * ravenscar-thread.c (ravenscar_target_info): New.
7134         (ravenscar_thread_target) <shortname, longname, doc>:
7135         Delete.
7136         <info>: New.
7137         * record-btrace.c (record_btrace_target_info):
7138         (record_btrace_target) <shortname, longname, doc>: Delete.
7139         <info>: New.
7140         (record_btrace_target::open): Rename to ...
7141         (record_btrace_target_open): ... this.  Adjust.
7142         * record-full.c (record_longname, record_doc): New.
7143         (record_full_base_target) <shortname, longname, doc>: Delete.
7144         <info>: New.
7145         (record_full_target_info): New.
7146         (record_full_target): <shortname>: Delete.
7147         <info>: New.
7148         (record_full_core_open_1, record_full_open_1): Update comments.
7149         (record_full_base_target::open): Rename to ...
7150         (record_full_open): ... this.
7151         (cmd_record_full_restore): Update.
7152         (_initialize_record_full): Update.
7153         * remote-sim.c (remote_sim_target_info): New.
7154         (gdbsim_target) <shortname, longname, doc>: Delete.
7155         <info>: New.
7156         (gdbsim_target::open): Rename to ...
7157         (gdbsim_target_open): ... this.
7158         (_initialize_remote_sim): Adjust.
7159         * remote.c (remote_doc): New.
7160         (remote_target_info): New.
7161         (remote_target) <shortname, longname, doc>: Delete.
7162         <info>: New.
7163         (extended_remote_target_info): New.
7164         (extended_remote_target) <shortname, longname, doc>: Delete.
7165         <info>: New.
7166         (remote_target::open_1): Make static.  Adjust.
7167         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
7168         * s390-linux-nat.c (_initialize_s390_nat): Use
7169         add_inf_child_target.
7170         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
7171         add_inf_child_target.
7172         * sol-thread.c (thread_db_target_info): New.
7173         (sol_thread_target) <shortname, longname, doc>: Delete.
7174         <info>: New.
7175         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
7176         add_inf_child_target.
7177         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
7178         add_inf_child_target.
7179         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
7180         add_inf_child_target.
7181         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
7182         add_inf_child_target.
7183         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
7184         add_inf_child_target.
7185         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
7186         add_inf_child_target.
7187         * spu-linux-nat.c (_initialize_spu_nat): Use
7188         add_inf_child_target.
7189         * spu-multiarch.c (spu_multiarch_target_info): New.
7190         (spu_multiarch_target) <shortname, longname, doc>: Delete.
7191         <info>: New.
7192         * target-delegates.c: Regenerate.
7193         * target.c: Include <unordered_map>.
7194         (target_ops_p): Delete.
7195         (DEF_VEC_P(target_ops_p)): Delete.
7196         (target_factories): New.
7197         (test_target_info): New.
7198         (test_target_ops::info): New.
7199         (open_target): Adjust to use target_factories.
7200         (add_target_with_completer): Rename to ...
7201         (add_target): ... this.  Change prototype.  Register target_info
7202         and open callback in target_factories.  Register target_info in
7203         command context instead of target_ops.
7204         (add_target): Delete old implementation.
7205         (add_deprecated_target_alias): Change prototype.  Adjust.
7206         (the_native_target): New.
7207         (set_native_target, get_native_target): New.
7208         (find_default_run_target): Use the_native_target.
7209         (find_attach_target, find_run_target): Simplify.
7210         (target_ops::open): Delete.
7211         (dummy_target_info): New.
7212         (dummy_target::shortname, dummy_target::longname)
7213         (dummy_target::doc): Delete.
7214         (dummy_target::info): New.
7215         (debug_target::shortname, debug_target::longname)
7216         (debug_target::doc): Delete.
7217         (debug_target::info): New.
7218         * target.h (struct target_info): New.
7219         (target_ops::~target_ops): Add comment.
7220         (target_ops::info): New.
7221         (target_ops::shortname, target_ops::longname, target_ops::doc): No
7222         longer virtual.  Implement in terms of target_info.
7223         (set_native_target, get_native_target): Declare.
7224         (target_open_ftype): New.
7225         (add_target, add_target_with_completer)
7226         (add_deprecated_target_alias): Change prototype.
7227         (test_target) <shortname, longname, doc>: Delete.
7228         <info>: New.
7229         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
7230         add_inf_child_target.
7231         * tracefile-tfile.c (tfile_target_info): New.
7232         (tfile_target) <shortname, longname, doc>: Delete.
7233         <info>: New.
7234         (tfile_target::open): Rename to ...
7235         (tfile_target_open): ... this.
7236         (_initialize_tracefile_tfile): Adjust.
7237         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
7238         add_inf_child_target.
7239         * windows-nat.c (_initialize_windows_nat): Use
7240         add_inf_child_target.
7241         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
7242         add_inf_child_target.
7243
7244 2018-05-02  Pedro Alves  <palves@redhat.com>
7245
7246         * linux-nat.h (linux_nat_target) <low_new_thread,
7247         low_delete_thread, low_new_fork, low_forget_process,
7248         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
7249         New virtual methods.
7250         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
7251         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
7252         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
7253         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
7254         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
7255         Delete.
7256         * linux-fork.c (delete_fork): Adjust to call low method.
7257         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
7258         (linux_nat_new_fork, linux_nat_forget_process_hook)
7259         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
7260         (linux_nat_status_is_event):
7261         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
7262         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
7263         to call low method.
7264         (sigtrap_is_event): Rename to ...
7265         (linux_nat_target::low_status_is_event): ... this.
7266         (linux_nat_set_status_is_event): Delete.
7267         (save_stop_reason, linux_nat_wait_1)
7268         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
7269         low methods.
7270         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
7271         (linux_nat_set_new_fork, linux_nat_set_forget_process)
7272         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
7273         (linux_nat_set_prepare_to_resume): Delete.
7274         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
7275         low virtual methods.
7276         * amd64-linux-nat.c: Likewise.
7277         * arm-linux-nat.c: Likewise.
7278         * i386-linux-nat.c: Likewise.
7279         * ia64-linux-nat.c: Likewise.
7280         * mips-linux-nat.c: Likewise.
7281         * ppc-linux-nat.c: Likewise.
7282         * s390-linux-nat.c: Likewise.
7283         * sparc64-linux-nat.c: Likewise.
7284         * x86-linux-nat.c: Likewise.
7285         * x86-linux-nat.h: Include "nat/x86-linux.h".
7286         (x86_linux_nat_target) <low_new_fork, low_forget_process,
7287         low_prepare_to_resume, low_new_thread, low_delete_thread>:
7288         Override methods.
7289
7290 2018-05-02  Pedro Alves  <palves@redhat.com>
7291
7292         * target.h (target_ops)
7293         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
7294         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
7295         stopped_by_watchpoint, have_continuable_watchpoint,
7296         stopped_data_address, watchpoint_addr_within_range,
7297         can_accel_watchpoint_condition, can_run, thread_alive,
7298         has_all_memory, has_memory, has_stack, has_registers,
7299         has_execution, can_async_p, is_async_p, supports_non_stop,
7300         always_non_stop_p, can_execute_reverse, supports_multi_process,
7301         supports_enable_disable_tracepoint,
7302         supports_disable_randomization, supports_string_tracing,
7303         supports_evaluation_of_breakpoint_conditions,
7304         can_run_breakpoint_commands, filesystem_is_local,
7305         can_download_tracepoint, get_trace_state_variable_value,
7306         set_trace_notes, get_tib_address, use_agent, can_use_agent,
7307         record_is_replaying, record_will_replay,
7308         augmented_libraries_svr4_read>: Adjust to return bool.
7309         * aarch64-linux-nat.c: All implementations adjusted.
7310         * aix-thread.c: All implementations adjusted.
7311         * arm-linux-nat.c: All implementations adjusted.
7312         * breakpoint.c: All implementations adjusted.
7313         * bsd-kvm.c: All implementations adjusted.
7314         * bsd-uthread.c: All implementations adjusted.
7315         * corelow.c: All implementations adjusted.
7316         * ctf.c: All implementations adjusted.
7317         * darwin-nat.c: All implementations adjusted.
7318         * darwin-nat.h: All implementations adjusted.
7319         * exec.c: All implementations adjusted.
7320         * fbsd-nat.c: All implementations adjusted.
7321         * fbsd-nat.h: All implementations adjusted.
7322         * gnu-nat.c: All implementations adjusted.
7323         * gnu-nat.h: All implementations adjusted.
7324         * go32-nat.c: All implementations adjusted.
7325         * ia64-linux-nat.c: All implementations adjusted.
7326         * inf-child.c: All implementations adjusted.
7327         * inf-child.h: All implementations adjusted.
7328         * inf-ptrace.c: All implementations adjusted.
7329         * inf-ptrace.h: All implementations adjusted.
7330         * linux-nat.c: All implementations adjusted.
7331         * linux-nat.h: All implementations adjusted.
7332         * mips-linux-nat.c: All implementations adjusted.
7333         * nto-procfs.c: All implementations adjusted.
7334         * ppc-linux-nat.c: All implementations adjusted.
7335         * procfs.c: All implementations adjusted.
7336         * ravenscar-thread.c: All implementations adjusted.
7337         * record-btrace.c: All implementations adjusted.
7338         * record-full.c: All implementations adjusted.
7339         * remote-sim.c: All implementations adjusted.
7340         * remote.c: All implementations adjusted.
7341         * s390-linux-nat.c: All implementations adjusted.
7342         * sol-thread.c: All implementations adjusted.
7343         * spu-multiarch.c: All implementations adjusted.
7344         * target-delegates.c: All implementations adjusted.
7345         * target.c: All implementations adjusted.
7346         * target.h: All implementations adjusted.
7347         * tracefile-tfile.c: All implementations adjusted.
7348         * tracefile.c: All implementations adjusted.
7349         * tracefile.h: All implementations adjusted.
7350         * windows-nat.c: All implementations adjusted.
7351         * x86-linux-nat.h: All implementations adjusted.
7352         * x86-nat.h: All implementations adjusted.
7353
7354 2018-05-02  Pedro Alves  <palves@redhat.com>
7355
7356         * make-target-delegates (scan_target_h): Don't trim lines here.
7357         Replace sequences of tabs and/or whitespace with a single
7358         whitespace.
7359         (top level, parsing methods): Trim each line before processing it
7360         here.
7361
7362 2018-05-02  Pedro Alves  <palves@redhat.com>
7363             John Baldwin  <jhb@freebsd.org>
7364
7365         * target.h (enum strata) <debug_stratum>: New.
7366         (struct target_ops) <all delegation methods>: Replace by C++
7367         virtual methods, and drop "to_" prefix.  All references updated
7368         throughout.
7369         <to_shortname, to_longname, to_doc, to_data,
7370         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
7371         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
7372         virtual methods.  All references updated throughout.
7373         <can_attach, supports_terminal_ours, can_create_inferior,
7374         get_thread_control_capabilities, attach_no_wait>: New
7375         virtual methods.
7376         <insert_breakpoint, remove_breakpoint>: Now
7377         TARGET_DEFAULT_NORETURN methods.
7378         <info_proc>: Now returns bool.
7379         <to_magic>: Delete.
7380         (OPS_MAGIC): Delete.
7381         (current_target): Delete.  All references replaced by references
7382         to ...
7383         (target_stack): ... this.  New.
7384         (target_shortname, target_longname): Adjust.
7385         (target_can_run): Now a function declaration.
7386         (default_child_has_all_memory, default_child_has_memory)
7387         (default_child_has_stack, default_child_has_registers)
7388         (default_child_has_execution): Remove target_ops parameter.
7389         (complete_target_initialization): Delete.
7390         (memory_breakpoint_target): New template class.
7391         (test_target_ops): Refactor as a C++ class with virtual methods.
7392         * make-target-delegates (NAME_PART): Tighten.
7393         (POINTER_PART, CP_SYMBOL): New.
7394         (SIMPLE_RETURN_PART): Reimplement.
7395         (VEC_RETURN_PART): Expect less.
7396         (RETURN_PART, VIRTUAL_PART): New.
7397         (METHOD): Adjust to C++ virtual methods.
7398         (scan_target_h): Remove reference to C99.
7399         (dname): Output "target_ops::" prefix.
7400         (write_function_header): Adjust to output a C++ class method.
7401         (write_declaration): New.
7402         (write_delegator): Adjust to output a C++ class method.
7403         (tdname): Output "dummy_target::" prefix.
7404         (write_tdefault, write_debugmethod): Adjust to output a C++ class
7405         method.
7406         (tdefault_names, debug_names): Delete.
7407         (return_types, tdefaults, styles, argtypes_array): New.
7408         (top level): All methods are delegators.
7409         (print_class): New.
7410         (top level): Print dummy_target and debug_target classes.
7411         * target-delegates.c: Regenerate.
7412         * target-debug.h (target_debug_print_enum_info_proc_what)
7413         (target_debug_print_thread_control_capabilities)
7414         (target_debug_print_thread_info_p): New.
7415         * target.c (dummy_target): Delete.
7416         (the_dummy_target, the_debug_target): New.
7417         (target_stack): Now extern.
7418         (set_targetdebug): Push/unpush debug target.
7419         (default_child_has_all_memory, default_child_has_memory)
7420         (default_child_has_stack, default_child_has_registers)
7421         (default_child_has_execution): Remove target_ops parameter.
7422         (complete_target_initialization): Delete.
7423         (add_target_with_completer): No longer call
7424         complete_target_initialization.
7425         (target_supports_terminal_ours): Use regular delegation.
7426         (update_current_target): Delete.
7427         (push_target): No longer check magic number.  Don't call
7428         update_current_target.
7429         (unpush_target): Don't call update_current_target.
7430         (target_is_pushed): No longer check magic number.
7431         (target_require_runnable): Skip for all stratums over
7432         process_stratum.
7433         (target_ops::info_proc): New.
7434         (target_info_proc): Use find_target_at and
7435         find_default_run_target.
7436         (target_supports_disable_randomization): Use regular delegation.
7437         (target_get_osdata): Use find_target_at.
7438         (target_ops::open, target_ops::close, target_ops::can_attach)
7439         (target_ops::attach, target_ops::can_create_inferior)
7440         (target_ops::create_inferior, target_ops::can_run)
7441         (target_can_run): New.
7442         (default_fileio_target): Use regular delegation.
7443         (target_ops::fileio_open, target_ops::fileio_pwrite)
7444         (target_ops::fileio_pread, target_ops::fileio_fstat)
7445         (target_ops::fileio_close, target_ops::fileio_unlink)
7446         (target_ops::fileio_readlink): New.
7447         (target_fileio_open_1, target_fileio_unlink)
7448         (target_fileio_readlink): Always call the target method.  Handle
7449         FILEIO_ENOSYS.
7450         (return_zero, return_zero_has_execution): Delete.
7451         (init_dummy_target): Delete.
7452         (dummy_target::dummy_target, dummy_target::shortname)
7453         (dummy_target::longname, dummy_target::doc)
7454         (debug_target::debug_target, debug_target::shortname)
7455         (debug_target::longname, debug_target::doc): New.
7456         (target_supports_delete_record): Use regular delegation.
7457         (setup_target_debug): Delete.
7458         (maintenance_print_target_stack): Skip debug_stratum.
7459         (initialize_targets): Instantiate the_dummy_target and
7460         the_debug_target.
7461         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
7462         use target_stack.
7463         (target_auxv_search, fprint_target_auxv): Adjust.
7464         (info_auxv_command): Adjust to use target_stack.
7465         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
7466         * exceptions.c (print_flush): Handle a NULL target_stack.
7467         * regcache.c (target_ops_no_register): Refactor as class with
7468         virtual methods.
7469
7470         * exec.c (exec_target): New class.
7471         (exec_ops): Now an exec_target.
7472         (exec_open, exec_close_1, exec_get_section_table)
7473         (exec_xfer_partial, exec_files_info, exec_has_memory)
7474         (exec_make_note_section): Refactor as exec_target methods.
7475         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
7476         Delete.
7477         (exec_target::find_memory_regions): New.
7478         (_initialize_exec): Don't call init_exec_ops.
7479         * gdbcore.h (exec_file_clear): Delete.
7480
7481         * corefile.c (core_target): Delete.
7482         (core_file_command): Adjust.
7483         * corelow.c (core_target): New class.
7484         (the_core_target): New.
7485         (core_close): Remove target_ops parameter.
7486         (core_close_cleanup): Adjust.
7487         (core_target::close): New.
7488         (core_open, core_detach, get_core_registers, core_files_info)
7489         (core_xfer_partial, core_thread_alive, core_read_description)
7490         (core_pid_to_str, core_thread_name, core_has_memory)
7491         (core_has_stack, core_has_registers, core_info_proc): Rework as
7492         core_target methods.
7493         (ignore, core_remove_breakpoint, init_core_ops): Delete.
7494         (_initialize_corelow): Initialize the_core_target.
7495         * gdbcore.h (core_target): Delete.
7496         (the_core_target): New.
7497
7498         * ctf.c: (ctf_target): New class.
7499         (ctf_ops): Now a ctf_target.
7500         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
7501         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
7502         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
7503         methods.
7504         (init_ctf_ops): Delete.
7505         (_initialize_ctf): Don't call it.
7506         * tracefile-tfile.c (tfile_target): New class.
7507         (tfile_ops): Now a tfile_target.
7508         (tfile_open, tfile_close, tfile_files_info)
7509         (tfile_get_tracepoint_status, tfile_trace_find)
7510         (tfile_fetch_registers, tfile_xfer_partial)
7511         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
7512         Refactor as tfile_target methods.
7513         (tfile_xfer_partial_features): Remove target_ops parameter.
7514         (init_tfile_ops): Delete.
7515         (_initialize_tracefile_tfile): Don't call it.
7516         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
7517         (tracefile_has_stack, tracefile_has_registers)
7518         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
7519         tracefile_target methods.
7520         (init_tracefile_ops): Delete.
7521         (tracefile_target::tracefile_target): New.
7522         * tracefile.h: Include "target.h".
7523         (tracefile_target): New class.
7524         (init_tracefile_ops): Delete.
7525
7526         * spu-multiarch.c (spu_multiarch_target): New class.
7527         (spu_ops): Now a spu_multiarch_target.
7528         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
7529         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
7530         (spu_search_memory, spu_mourn_inferior): Refactor as
7531         spu_multiarch_target methods.
7532         (init_spu_ops): Delete.
7533         (_initialize_spu_multiarch): Remove references to init_spu_ops,
7534         complete_target_initialization.
7535
7536         * ravenscar-thread.c (ravenscar_thread_target): New class.
7537         (ravenscar_ops): Now a ravenscar_thread_target.
7538         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
7539         (ravenscar_thread_alive, ravenscar_pid_to_str)
7540         (ravenscar_fetch_registers, ravenscar_store_registers)
7541         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
7542         (ravenscar_stopped_by_hw_breakpoint)
7543         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
7544         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
7545         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
7546         methods.
7547         (init_ravenscar_thread_ops): Delete.
7548         (_initialize_ravenscar): Remove references to
7549         init_ravenscar_thread_ops and complete_target_initialization.
7550
7551         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
7552         (bsd_uthread_target): New class.
7553         (bsd_uthread_ops): Now a bsd_uthread_target.
7554         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
7555         (bsd_uthread_close, bsd_uthread_mourn_inferior)
7556         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
7557         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
7558         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
7559         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
7560         (bsd_uthread_target): Delete function.
7561         (_initialize_bsd_uthread): Remove reference to
7562         complete_target_initialization.
7563
7564         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
7565         (target_bfd): ... this new class.
7566         (target_bfd_xfer_partial, target_bfd_get_section_table)
7567         (target_bfd_close): Refactor as target_bfd methods.
7568         (target_bfd::~target_bfd): New.
7569         (target_bfd_reopen): Adjust.
7570         (target_bfd::close): New.
7571
7572         * record-btrace.c (record_btrace_target): New class.
7573         (record_btrace_ops): Now a record_btrace_target.
7574         (record_btrace_open, record_btrace_stop_recording)
7575         (record_btrace_disconnect, record_btrace_close)
7576         (record_btrace_async, record_btrace_info)
7577         (record_btrace_insn_history, record_btrace_insn_history_range)
7578         (record_btrace_insn_history_from, record_btrace_call_history)
7579         (record_btrace_call_history_range)
7580         (record_btrace_call_history_from, record_btrace_record_method)
7581         (record_btrace_is_replaying, record_btrace_will_replay)
7582         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
7583         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
7584         (record_btrace_store_registers, record_btrace_prepare_to_store)
7585         (record_btrace_to_get_unwinder)
7586         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
7587         (record_btrace_commit_resume, record_btrace_wait)
7588         (record_btrace_stop, record_btrace_can_execute_reverse)
7589         (record_btrace_stopped_by_sw_breakpoint)
7590         (record_btrace_supports_stopped_by_sw_breakpoint)
7591         (record_btrace_stopped_by_hw_breakpoint)
7592         (record_btrace_supports_stopped_by_hw_breakpoint)
7593         (record_btrace_update_thread_list, record_btrace_thread_alive)
7594         (record_btrace_goto_begin, record_btrace_goto_end)
7595         (record_btrace_goto, record_btrace_stop_replaying_all)
7596         (record_btrace_execution_direction)
7597         (record_btrace_prepare_to_generate_core)
7598         (record_btrace_done_generating_core): Refactor as
7599         record_btrace_target methods.
7600         (init_record_btrace_ops): Delete.
7601         (_initialize_record_btrace): Remove reference to
7602         init_record_btrace_ops.
7603         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
7604         the execution_direction global.
7605         (record_full_base_target, record_full_target)
7606         (record_full_core_target): New classes.
7607         (record_full_ops): Now a record_full_target.
7608         (record_full_core_ops): Now a record_full_core_target.
7609         (record_full_target::detach, record_full_target::disconnect)
7610         (record_full_core_target::disconnect)
7611         (record_full_target::mourn_inferior, record_full_target::kill):
7612         New.
7613         (record_full_open, record_full_close, record_full_async): Refactor
7614         as methods of the record_full_base_target class.
7615         (record_full_resume, record_full_commit_resume): Refactor
7616         as methods of the record_full_target class.
7617         (record_full_wait, record_full_stopped_by_watchpoint)
7618         (record_full_stopped_data_address)
7619         (record_full_stopped_by_sw_breakpoint)
7620         (record_full_supports_stopped_by_sw_breakpoint)
7621         (record_full_stopped_by_hw_breakpoint)
7622         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
7623         methods of the record_full_base_target class.
7624         (record_full_store_registers, record_full_xfer_partial)
7625         (record_full_insert_breakpoint, record_full_remove_breakpoint):
7626         Refactor as methods of the record_full_target class.
7627         (record_full_can_execute_reverse, record_full_get_bookmark)
7628         (record_full_goto_bookmark, record_full_execution_direction)
7629         (record_full_record_method, record_full_info, record_full_delete)
7630         (record_full_is_replaying, record_full_will_replay)
7631         (record_full_goto_begin, record_full_goto_end, record_full_goto)
7632         (record_full_stop_replaying): Refactor as methods of the
7633         record_full_base_target class.
7634         (record_full_core_resume, record_full_core_kill)
7635         (record_full_core_fetch_registers)
7636         (record_full_core_prepare_to_store)
7637         (record_full_core_store_registers, record_full_core_xfer_partial)
7638         (record_full_core_insert_breakpoint)
7639         (record_full_core_remove_breakpoint)
7640         (record_full_core_has_execution): Refactor
7641         as methods of the record_full_core_target class.
7642         (record_full_base_target::supports_delete_record): New.
7643         (init_record_full_ops): Delete.
7644         (init_record_full_core_ops): Delete.
7645         (record_full_save): Refactor as method of the
7646         record_full_base_target class.
7647         (_initialize_record_full): Remove references to
7648         init_record_full_ops and init_record_full_core_ops.
7649
7650         * remote.c (remote_target, extended_remote_target): New classes.
7651         (remote_ops): Now a remote_target.
7652         (extended_remote_ops): Now an extended_remote_target.
7653         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
7654         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
7655         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
7656         (remote_pass_signals, remote_set_syscall_catchpoint)
7657         (remote_program_signals, )
7658         (remote_thread_always_alive): Remove target_ops parameter.
7659         (remote_thread_alive, remote_thread_name)
7660         (remote_update_thread_list, remote_threads_extra_info)
7661         (remote_static_tracepoint_marker_at)
7662         (remote_static_tracepoint_markers_by_strid)
7663         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
7664         (remote_open): Refactor as methods of remote_target.
7665         (extended_remote_open, extended_remote_detach)
7666         (extended_remote_attach, extended_remote_post_attach):
7667         (extended_remote_supports_disable_randomization)
7668         (extended_remote_create_inferior): : Refactor as method of
7669         extended_remote_target.
7670         (remote_set_permissions, remote_open_1, remote_detach)
7671         (remote_follow_fork, remote_follow_exec, remote_disconnect)
7672         (remote_resume, remote_commit_resume, remote_stop)
7673         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
7674         (remote_terminal_ours, remote_wait, remote_fetch_registers)
7675         (remote_prepare_to_store, remote_store_registers)
7676         (remote_flash_erase, remote_flash_done, remote_files_info)
7677         (remote_kill, remote_mourn, remote_insert_breakpoint)
7678         (remote_remove_breakpoint, remote_insert_watchpoint)
7679         (remote_watchpoint_addr_within_range)
7680         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
7681         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
7682         (remote_supports_stopped_by_sw_breakpoint)
7683         (remote_stopped_by_hw_breakpoint)
7684         (remote_supports_stopped_by_hw_breakpoint)
7685         (remote_stopped_by_watchpoint, remote_stopped_data_address)
7686         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
7687         (remote_verify_memory): Refactor as methods of remote_target.
7688         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
7689         parameter.
7690         (remote_xfer_partial, remote_get_memory_xfer_limit)
7691         (remote_search_memory, remote_rcmd, remote_memory_map)
7692         (remote_pid_to_str, remote_get_thread_local_address)
7693         (remote_get_tib_address, remote_read_description): Refactor as
7694         methods of remote_target.
7695         (remote_target::fileio_open, remote_target::fileio_pwrite)
7696         (remote_target::fileio_pread, remote_target::fileio_close): New.
7697         (remote_hostio_readlink, remote_hostio_fstat)
7698         (remote_filesystem_is_local, remote_can_execute_reverse)
7699         (remote_supports_non_stop, remote_supports_disable_randomization)
7700         (remote_supports_multi_process, remote_supports_cond_breakpoints)
7701         (remote_supports_enable_disable_tracepoint)
7702         (remote_supports_string_tracing)
7703         (remote_can_run_breakpoint_commands, remote_trace_init)
7704         (remote_download_tracepoint, remote_can_download_tracepoint)
7705         (remote_download_trace_state_variable, remote_enable_tracepoint)
7706         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
7707         (remote_trace_start, remote_get_trace_status)
7708         (remote_get_tracepoint_status, remote_trace_stop)
7709         (remote_trace_find, remote_get_trace_state_variable_value)
7710         (remote_save_trace_data, remote_get_raw_trace_data)
7711         (remote_set_disconnected_tracing, remote_core_of_thread)
7712         (remote_set_circular_trace_buffer, remote_traceframe_info)
7713         (remote_get_min_fast_tracepoint_insn_len)
7714         (remote_set_trace_buffer_size, remote_set_trace_notes)
7715         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
7716         (remote_disable_btrace, remote_teardown_btrace)
7717         (remote_read_btrace, remote_btrace_conf)
7718         (remote_augmented_libraries_svr4_read, remote_load)
7719         (remote_pid_to_exec_file, remote_can_do_single_step)
7720         (remote_execution_direction, remote_thread_handle_to_thread_info):
7721         Refactor as methods of remote_target.
7722         (init_remote_ops, init_extended_remote_ops): Delete.
7723         (remote_can_async_p, remote_is_async_p, remote_async)
7724         (remote_thread_events, remote_upload_tracepoints)
7725         (remote_upload_trace_state_variables): Refactor as methods of
7726         remote_target.
7727         (_initialize_remote): Remove references to init_remote_ops and
7728         init_extended_remote_ops.
7729
7730         * remote-sim.c (gdbsim_target): New class.
7731         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
7732         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
7733         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
7734         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
7735         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
7736         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
7737         Refactor as methods of gdbsim_target.
7738         (gdbsim_ops): Now a gdbsim_target.
7739         (init_gdbsim_ops): Delete.
7740         (gdbsim_cntrl_c): Adjust.
7741         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
7742
7743         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
7744         (the_amd64_linux_nat_target): New.
7745         (amd64_linux_fetch_inferior_registers)
7746         (amd64_linux_store_inferior_registers): Refactor as methods of
7747         amd64_linux_nat_target.
7748         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
7749         * i386-linux-nat.c: Don't include "linux-nat.h".
7750         (i386_linux_nat_target): New class.
7751         (the_i386_linux_nat_target): New.
7752         (i386_linux_fetch_inferior_registers)
7753         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
7754         as methods of i386_linux_nat_target.
7755         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
7756         * inf-child.c (inf_child_ops): Delete.
7757         (inf_child_fetch_inferior_registers)
7758         (inf_child_store_inferior_registers): Delete.
7759         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
7760         methods of inf_child_target.
7761         (inf_child_target::supports_terminal_ours)
7762         (inf_child_target::terminal_init)
7763         (inf_child_target::terminal_inferior)
7764         (inf_child_target::terminal_ours_for_output)
7765         (inf_child_target::terminal_ours, inf_child_target::interrupt)
7766         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
7767         New.
7768         (inf_child_open, inf_child_disconnect, inf_child_close)
7769         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
7770         (inf_child_post_startup_inferior, inf_child_can_run)
7771         (inf_child_pid_to_exec_file): Refactor as methods of
7772         inf_child_target.
7773         (inf_child_follow_fork): Delete.
7774         (inf_child_target::can_create_inferior)
7775         (inf_child_target::can_attach): New.
7776         (inf_child_target::has_all_memory, inf_child_target::has_memory)
7777         (inf_child_target::has_stack, inf_child_target::has_registers)
7778         (inf_child_target::has_execution): New.
7779         (inf_child_fileio_open, inf_child_fileio_pwrite)
7780         (inf_child_fileio_pread, inf_child_fileio_fstat)
7781         (inf_child_fileio_close, inf_child_fileio_unlink)
7782         (inf_child_fileio_readlink, inf_child_use_agent)
7783         (inf_child_can_use_agent): Refactor as methods of
7784         inf_child_target.
7785         (return_zero, inf_child_target): Delete.
7786         (inf_child_target::inf_child_target): New.
7787         * inf-child.h: Include "target.h".
7788         (inf_child_target): Delete function prototype.
7789         (inf_child_target): New class.
7790         (inf_child_open_target, inf_child_mourn_inferior)
7791         (inf_child_maybe_unpush_target): Delete.
7792         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
7793         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
7794         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
7795         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
7796         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
7797         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
7798         (inf_ptrace_wait, inf_ptrace_xfer_partial)
7799         (inf_ptrace_thread_alive, inf_ptrace_files_info)
7800         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
7801         methods of inf_ptrace_target.
7802         (inf_ptrace_target): Delete function.
7803         * inf-ptrace.h: Include "inf-child.h".
7804         (inf_ptrace_target): Delete function declaration.
7805         (inf_ptrace_target): New class.
7806         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
7807         * linux-nat.c (linux_target): New.
7808         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
7809         (linux_nat_target::~linux_nat_target): New.
7810         (linux_child_post_attach, linux_child_post_startup_inferior)
7811         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
7812         (linux_child_remove_fork_catchpoint)
7813         (linux_child_insert_vfork_catchpoint)
7814         (linux_child_remove_vfork_catchpoint)
7815         (linux_child_insert_exec_catchpoint)
7816         (linux_child_remove_exec_catchpoint)
7817         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
7818         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
7819         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
7820         (linux_nat_stopped_data_address)
7821         (linux_nat_stopped_by_sw_breakpoint)
7822         (linux_nat_supports_stopped_by_sw_breakpoint)
7823         (linux_nat_stopped_by_hw_breakpoint)
7824         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
7825         (linux_nat_kill, linux_nat_mourn_inferior)
7826         (linux_nat_xfer_partial, linux_nat_thread_alive)
7827         (linux_nat_update_thread_list, linux_nat_pid_to_str)
7828         (linux_nat_thread_name, linux_child_pid_to_exec_file)
7829         (linux_child_static_tracepoint_markers_by_strid)
7830         (linux_nat_is_async_p, linux_nat_can_async_p)
7831         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
7832         (linux_nat_supports_multi_process)
7833         (linux_nat_supports_disable_randomization, linux_nat_async)
7834         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
7835         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
7836         (linux_nat_fileio_open, linux_nat_fileio_readlink)
7837         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
7838         methods of linux_nat_target.
7839         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
7840         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
7841         parameter.
7842         (check_stopped_by_watchpoint): Adjust.
7843         (linux_xfer_partial): Delete.
7844         (linux_target_install_ops, linux_target, linux_nat_add_target):
7845         Delete.
7846         (linux_nat_target::linux_nat_target): New.
7847         * linux-nat.h: Include "inf-ptrace.h".
7848         (linux_nat_target): New.
7849         (linux_target, linux_target_install_ops, linux_nat_add_target):
7850         Delete function declarations.
7851         (linux_target): Declare global.
7852         * linux-thread-db.c (thread_db_target): New.
7853         (thread_db_target::thread_db_target): New.
7854         (thread_db_ops): Delete.
7855         (the_thread_db_target): New.
7856         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
7857         (thread_db_update_thread_list, thread_db_pid_to_str)
7858         (thread_db_extra_thread_info)
7859         (thread_db_thread_handle_to_thread_info)
7860         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
7861         (thread_db_resume): Refactor as methods of thread_db_target.
7862         (init_thread_db_ops): Delete.
7863         (_initialize_thread_db): Remove reference to init_thread_db_ops.
7864         * x86-linux-nat.c: Don't include "linux-nat.h".
7865         (super_post_startup_inferior): Delete.
7866         (x86_linux_nat_target::~x86_linux_nat_target): New.
7867         (x86_linux_child_post_startup_inferior)
7868         (x86_linux_read_description, x86_linux_enable_btrace)
7869         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
7870         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
7871         methods of x86_linux_nat_target.
7872         (x86_linux_create_target): Delete.  Bits folded ...
7873         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
7874         pointer.
7875         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
7876         (x86_linux_nat_target): New class.
7877         (x86_linux_create_target): Delete.
7878         (x86_linux_add_target): Now takes a linux_nat_target pointer.
7879         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
7880         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
7881         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
7882         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
7883         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
7884         make extern.
7885         (x86_use_watchpoints): Delete.
7886         * x86-nat.h: Include "breakpoint.h" and "target.h".
7887         (x86_use_watchpoints): Delete.
7888         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
7889         (x86_stopped_by_watchpoint, x86_stopped_data_address)
7890         (x86_insert_watchpoint, x86_remove_watchpoint)
7891         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
7892         (x86_stopped_by_hw_breakpoint): New declarations.
7893         (x86_nat_target): New template class.
7894
7895         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
7896         (the_ppc_linux_nat_target): New.
7897         (ppc_linux_fetch_inferior_registers)
7898         (ppc_linux_can_use_hw_breakpoint)
7899         (ppc_linux_region_ok_for_hw_watchpoint)
7900         (ppc_linux_ranged_break_num_registers)
7901         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
7902         (ppc_linux_insert_mask_watchpoint)
7903         (ppc_linux_remove_mask_watchpoint)
7904         (ppc_linux_can_accel_watchpoint_condition)
7905         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
7906         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
7907         (ppc_linux_watchpoint_addr_within_range)
7908         (ppc_linux_masked_watch_num_registers)
7909         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
7910         (ppc_linux_read_description): Refactor as methods of
7911         ppc_linux_nat_target.
7912         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
7913
7914         * procfs.c (procfs_xfer_partial): Delete forward declaration.
7915         (procfs_target): New class.
7916         (the_procfs_target): New.
7917         (procfs_target): Delete function.
7918         (procfs_auxv_parse, procfs_attach, procfs_detach)
7919         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
7920         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
7921         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
7922         (procfs_create_inferior, procfs_update_thread_list)
7923         (procfs_thread_alive, procfs_pid_to_str)
7924         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
7925         (procfs_stopped_data_address, procfs_insert_watchpoint)
7926         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
7927         (proc_find_memory_regions, procfs_info_proc)
7928         (procfs_make_note_section): Refactor as methods of procfs_target.
7929         (_initialize_procfs): Adjust.
7930         * sol-thread.c (sol_thread_target): New class.
7931         (sol_thread_ops): Now a sol_thread_target.
7932         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
7933         (sol_thread_fetch_registers, sol_thread_store_registers)
7934         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
7935         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
7936         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
7937         (init_sol_thread_ops): Delete.
7938         (_initialize_sol_thread): Adjust.  Remove references to
7939         init_sol_thread_ops and complete_target_initialization.
7940
7941         * windows-nat.c (windows_nat_target): New class.
7942         (windows_fetch_inferior_registers)
7943         (windows_store_inferior_registers, windows_resume, windows_wait)
7944         (windows_attach, windows_detach, windows_pid_to_exec_file)
7945         (windows_files_info, windows_create_inferior)
7946         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
7947         (windows_close, windows_pid_to_str, windows_xfer_partial)
7948         (windows_get_tib_address, windows_get_ada_task_ptid)
7949         (windows_thread_name, windows_thread_alive): Refactor as
7950         windows_nat_target methods.
7951         (do_initial_windows_stuff): Adjust.
7952         (windows_target): Delete function.
7953         (_initialize_windows_nat): Adjust.
7954
7955         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
7956         (darwin_mourn_inferior, darwin_kill_inferior)
7957         (darwin_create_inferior, darwin_attach, darwin_detach)
7958         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
7959         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
7960         (darwin_supports_multi_process): Refactor as darwin_nat_target
7961         methods.
7962         (darwin_resume_to, darwin_files_info): Delete.
7963         (_initialize_darwin_inferior): Rename to ...
7964         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
7965         * darwin-nat.h: Include "inf-child.h".
7966         (darwin_nat_target): New class.
7967         (darwin_complete_target): Delete.
7968         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
7969         (darwin_target): New.
7970         (i386_darwin_fetch_inferior_registers)
7971         (i386_darwin_store_inferior_registers): Refactor as methods of
7972         darwin_nat_target.
7973         (darwin_complete_target): Delete, with ...
7974         (_initialize_i386_darwin_nat): ... bits factored out here.
7975
7976         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
7977         (the_alpha_linux_nat_target): New.
7978         (alpha_linux_register_u_offset): Refactor as
7979         alpha_linux_nat_target method.
7980         (_initialize_alpha_linux_nat): Adjust.
7981         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
7982         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7983         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
7984         methods of linux_nat_trad_target.
7985         (linux_trad_target): Delete.
7986         * linux-nat-trad.h (linux_trad_target): Delete function.
7987         (linux_nat_trad_target): New class.
7988         * mips-linux-nat.c (mips_linux_nat_target): New class.
7989         (super_fetch_registers, super_store_registers, super_close):
7990         Delete.
7991         (the_mips_linux_nat_target): New.
7992         (mips64_linux_regsets_fetch_registers)
7993         (mips64_linux_regsets_store_registers)
7994         (mips64_linux_fetch_registers, mips64_linux_store_registers)
7995         (mips_linux_register_u_offset, mips_linux_read_description)
7996         (mips_linux_can_use_hw_breakpoint)
7997         (mips_linux_stopped_by_watchpoint)
7998         (mips_linux_stopped_data_address)
7999         (mips_linux_region_ok_for_hw_watchpoint)
8000         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
8001         (mips_linux_close): Refactor as methods of mips_linux_nat.
8002         (_initialize_mips_linux_nat): Adjust to C++ification.
8003
8004         * aix-thread.c (aix_thread_target): New class.
8005         (aix_thread_ops): Now an aix_thread_target.
8006         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
8007         (aix_thread_fetch_registers, aix_thread_store_registers)
8008         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
8009         (aix_thread_thread_alive, aix_thread_pid_to_str)
8010         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
8011         Refactor as methods of aix_thread_target.
8012         (init_aix_thread_ops): Delete.
8013         (_initialize_aix_thread): Remove references to init_aix_thread_ops
8014         and complete_target_initialization.
8015         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
8016         (rs6000_nat_target): New class.
8017         (the_rs6000_nat_target): New.
8018         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
8019         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
8020         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
8021         (super_create_inferior): Delete.
8022         (_initialize_rs6000_nat): Adjust to C++ification.
8023
8024         * arm-linux-nat.c (arm_linux_nat_target): New class.
8025         (the_arm_linux_nat_target): New.
8026         (arm_linux_fetch_inferior_registers)
8027         (arm_linux_store_inferior_registers, arm_linux_read_description)
8028         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
8029         (arm_linux_remove_hw_breakpoint)
8030         (arm_linux_region_ok_for_hw_watchpoint)
8031         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
8032         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
8033         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
8034         arm_linux_nat_target.
8035         (_initialize_arm_linux_nat): Adjust to C++ification.
8036
8037         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
8038         (the_aarch64_linux_nat_target): New.
8039         (aarch64_linux_fetch_inferior_registers)
8040         (aarch64_linux_store_inferior_registers)
8041         (aarch64_linux_child_post_startup_inferior)
8042         (aarch64_linux_read_description)
8043         (aarch64_linux_can_use_hw_breakpoint)
8044         (aarch64_linux_insert_hw_breakpoint)
8045         (aarch64_linux_remove_hw_breakpoint)
8046         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
8047         (aarch64_linux_region_ok_for_hw_watchpoint)
8048         (aarch64_linux_stopped_data_address)
8049         (aarch64_linux_stopped_by_watchpoint)
8050         (aarch64_linux_watchpoint_addr_within_range)
8051         (aarch64_linux_can_do_single_step): Refactor as methods of
8052         aarch64_linux_nat_target.
8053         (super_post_startup_inferior): Delete.
8054         (_initialize_aarch64_linux_nat): Adjust to C++ification.
8055
8056         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
8057         (the_hppa_linux_nat_target): New.
8058         (hppa_linux_fetch_inferior_registers)
8059         (hppa_linux_store_inferior_registers): Refactor as methods of
8060         hppa_linux_nat_target.
8061         (_initialize_hppa_linux_nat): Adjust to C++ification.
8062
8063         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
8064         (the_ia64_linux_nat_target): New.
8065         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
8066         (ia64_linux_stopped_data_address)
8067         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
8068         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
8069         ia64_linux_nat_target methods.
8070         (super_xfer_partial): Delete.
8071         (_initialize_ia64_linux_nat): Adjust to C++ification.
8072
8073         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
8074         (the_m32r_linux_nat_target): New.
8075         (m32r_linux_fetch_inferior_registers)
8076         (m32r_linux_store_inferior_registers): Refactor as
8077         m32r_linux_nat_target methods.
8078         (_initialize_m32r_linux_nat): Adjust to C++ification.
8079
8080         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
8081         (the_m68k_linux_nat_target): New.
8082         (m68k_linux_fetch_inferior_registers)
8083         (m68k_linux_store_inferior_registers): Refactor as
8084         m68k_linux_nat_target methods.
8085         (_initialize_m68k_linux_nat): Adjust to C++ification.
8086
8087         * s390-linux-nat.c (s390_linux_nat_target): New class.
8088         (the_s390_linux_nat_target): New.
8089         (s390_linux_fetch_inferior_registers)
8090         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
8091         (s390_insert_watchpoint, s390_remove_watchpoint)
8092         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
8093         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
8094         (s390_auxv_parse, s390_read_description): Refactor as methods of
8095         s390_linux_nat_target.
8096         (_initialize_s390_nat): Adjust to C++ification.
8097
8098         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
8099         (the_sparc_linux_nat_target): New.
8100         (_initialize_sparc_linux_nat): Adjust to C++ification.
8101         * sparc-nat.c (sparc_fetch_inferior_registers)
8102         (sparc_store_inferior_registers): Remove target_ops parameter.
8103         * sparc-nat.h (sparc_fetch_inferior_registers)
8104         (sparc_store_inferior_registers): Remove target_ops parameter.
8105         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
8106         (the_sparc64_linux_nat_target): New.
8107         (_initialize_sparc64_linux_nat): Adjust to C++ification.
8108
8109         * spu-linux-nat.c (spu_linux_nat_target): New class.
8110         (the_spu_linux_nat_target): New.
8111         (spu_child_post_startup_inferior, spu_child_post_attach)
8112         (spu_child_wait, spu_fetch_inferior_registers)
8113         (spu_store_inferior_registers, spu_xfer_partial)
8114         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
8115         methods.
8116         (_initialize_spu_nat): Adjust to C++ification.
8117
8118         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
8119         (the_tilegx_linux_nat_target): New.
8120         (fetch_inferior_registers, store_inferior_registers):
8121         Refactor as methods.
8122         (_initialize_tile_linux_nat): Adjust to C++ification.
8123
8124         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
8125         (the_xtensa_linux_nat_target): New.
8126         (xtensa_linux_fetch_inferior_registers)
8127         (xtensa_linux_store_inferior_registers): Refactor as
8128         xtensa_linux_nat_target methods.
8129         (_initialize_xtensa_linux_nat): Adjust to C++ification.
8130
8131         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
8132         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
8133         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
8134         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
8135         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
8136         (fbsd_stopped_by_sw_breakpoint)
8137         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
8138         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
8139         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
8140         (fbsd_post_startup_inferior, fbsd_post_attach)
8141         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
8142         (fbsd_set_syscall_catchpoint)
8143         (super_xfer_partial, super_resume, super_wait)
8144         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
8145         (fbsd_handle_debug_trap): Remove target_ops parameter.
8146         (fbsd_nat_add_target): Delete.
8147         * fbsd-nat.h: Include "inf-ptrace.h".
8148         (fbsd_nat_add_target): Delete.
8149         (USE_SIGTRAP_SIGINFO): Define.
8150         (fbsd_nat_target): New class.
8151
8152         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
8153         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
8154         (amd64bsd_target): Delete.
8155         * amd64-bsd-nat.h: New file.
8156         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
8157         "x86-bsd-nat.h".
8158         (amd64_fbsd_nat_target): New class.
8159         (the_amd64_fbsd_nat_target): New.
8160         (amd64fbsd_read_description): Refactor as method of
8161         amd64_fbsd_nat_target.
8162         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8163         (_initialize_amd64fbsd_nat): Adjust to C++ification.
8164         * amd64-nat.h (amd64bsd_target): Delete function declaration.
8165         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
8166         (i386bsd_store_inferior_registers): Remove target_ops parameter.
8167         (i386bsd_target): Delete.
8168         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
8169         (i386bsd_fetch_inferior_registers)
8170         (i386bsd_store_inferior_registers): Declare.
8171         (i386_bsd_nat_target): New class.
8172         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
8173         (the_i386_fbsd_nat_target): New.
8174         (i386fbsd_resume, i386fbsd_read_description): Refactor as
8175         i386_fbsd_nat_target methods.
8176         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8177         (_initialize_i386fbsd_nat): Adjust to C++ification.
8178         * x86-bsd-nat.c (super_mourn_inferior): Delete.
8179         (x86bsd_mourn_inferior, x86bsd_target): Delete.
8180         (_initialize_x86_bsd_nat): Adjust to C++ification.
8181         * x86-bsd-nat.h: Include "x86-nat.h".
8182         (x86bsd_target): Delete declaration.
8183         (x86bsd_nat_target): New class.
8184
8185         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
8186         (the_aarch64_fbsd_nat_target): New.
8187         (aarch64_fbsd_fetch_inferior_registers)
8188         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
8189         aarch64_fbsd_nat_target.
8190         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
8191         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
8192         (the_alpha_bsd_nat_target): New.
8193         (alphabsd_fetch_inferior_registers)
8194         (alphabsd_store_inferior_registers): Refactor as
8195         alpha_bsd_nat_target methods.
8196         (_initialize_alphabsd_nat): Refactor as methods of
8197         alpha_bsd_nat_target.
8198         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
8199         (the_amd64_nbsd_nat_target): New.
8200         (_initialize_amd64nbsd_nat): Adjust to C++ification.
8201         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
8202         (the_amd64_obsd_nat_target): New.
8203         (_initialize_amd64obsd_nat): Adjust to C++ification.
8204         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
8205         (the_arm_fbsd_nat_target): New.
8206         (arm_fbsd_fetch_inferior_registers)
8207         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
8208         (_initialize_arm_fbsd_nat): Refactor as methods of
8209         arm_fbsd_nat_target.
8210         (_initialize_arm_fbsd_nat): Adjust to C++ification.
8211         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
8212         (the_arm_netbsd_nat_target): New.
8213         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
8214         arm_netbsd_nat_target.
8215         (_initialize_arm_netbsd_nat): Adjust to C++ification.
8216         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
8217         (the_hppa_nbsd_nat_target): New.
8218         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
8219         hppa_nbsd_nat_target methods.
8220         (_initialize_hppanbsd_nat): Adjust to C++ification.
8221         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
8222         (the_hppa_obsd_nat_target): New.
8223         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
8224         methods of hppa_obsd_nat_target.
8225         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
8226         add_target.
8227         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
8228         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
8229         add_target.
8230         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
8231         (_initialize_i386obsd_nat): Use add_target.
8232         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
8233         (the_m68k_bsd_nat_target): New.
8234         (m68kbsd_fetch_inferior_registers)
8235         (m68kbsd_store_inferior_registers): Refactor as methods of
8236         m68k_bsd_nat_target.
8237         (_initialize_m68kbsd_nat): Adjust to C++ification.
8238         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
8239         (the_mips_fbsd_nat_target): New.
8240         (mips_fbsd_fetch_inferior_registers)
8241         (mips_fbsd_store_inferior_registers): Refactor as methods of
8242         mips_fbsd_nat_target.
8243         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
8244         add_target.
8245         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
8246         (the_mips_nbsd_nat_target): New.
8247         (mipsnbsd_fetch_inferior_registers)
8248         (mipsnbsd_store_inferior_registers): Refactor as methods of
8249         mips_nbsd_nat_target.
8250         (_initialize_mipsnbsd_nat): Adjust to C++ification.
8251         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
8252         (the_mips64_obsd_nat_target): New.
8253         (mips64obsd_fetch_inferior_registers)
8254         (mips64obsd_store_inferior_registers): Refactor as methods of
8255         mips64_obsd_nat_target.
8256         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
8257         add_target.
8258         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
8259         nbsd_nat_target.
8260         * nbsd-nat.h: Include "inf-ptrace.h".
8261         (nbsd_nat_target): New class.
8262         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
8263         (obsd_wait): Refactor as methods of obsd_nat_target.
8264         (obsd_add_target): Delete.
8265         * obsd-nat.h: Include "inf-ptrace.h".
8266         (obsd_nat_target): New class.
8267         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
8268         (the_ppc_fbsd_nat_target): New.
8269         (ppcfbsd_fetch_inferior_registers)
8270         (ppcfbsd_store_inferior_registers): Refactor as methods of
8271         ppc_fbsd_nat_target.
8272         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
8273         add_target.
8274         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
8275         (the_ppc_nbsd_nat_target): New.
8276         (ppcnbsd_fetch_inferior_registers)
8277         (ppcnbsd_store_inferior_registers): Refactor as methods of
8278         ppc_nbsd_nat_target.
8279         (_initialize_ppcnbsd_nat): Adjust to C++ification.
8280         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
8281         (the_ppc_obsd_nat_target): New.
8282         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
8283         methods of ppc_obsd_nat_target.
8284         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
8285         add_target.
8286         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
8287         (the_sh_nbsd_nat_target): New.
8288         (shnbsd_fetch_inferior_registers)
8289         (shnbsd_store_inferior_registers): Refactor as methods of
8290         sh_nbsd_nat_target.
8291         (_initialize_shnbsd_nat): Adjust to C++ification.
8292         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
8293         (inf_ptrace_xfer_partial): Delete.
8294         (sparc_xfer_partial, sparc_target): Delete.
8295         * sparc-nat.h (sparc_fetch_inferior_registers)
8296         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
8297         (sparc_target): Delete function declaration.
8298         (sparc_target): New template class.
8299         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
8300         (_initialize_sparcnbsd_nat): Adjust to C++ification.
8301         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
8302         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
8303         add_target.
8304         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
8305         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
8306         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
8307         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
8308         add_target.
8309         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
8310         (the_vax_bsd_nat_target): New.
8311         (vaxbsd_fetch_inferior_registers)
8312         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
8313         methods.
8314         (_initialize_vaxbsd_nat): Adjust to C++ification.
8315
8316         * bsd-kvm.c (bsd_kvm_target): New class.
8317         (bsd_kvm_ops): Now a bsd_kvm_target.
8318         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
8319         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
8320         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
8321         bsd_kvm_target.
8322         (bsd_kvm_return_one): Delete.
8323         (bsd_kvm_add_target): Adjust to C++ification.
8324
8325         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
8326         (nto_procfs_target_procfs): New classes.
8327         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
8328         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
8329         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
8330         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
8331         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
8332         (procfs_remove_hw_breakpoint, procfs_resume)
8333         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
8334         (procfs_kill_inferior, procfs_store_registers)
8335         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
8336         as methods of nto_procfs_target.
8337         (nto_procfs_ops): Now an nto_procfs_target_procfs.
8338         (nto_native_ops): Delete.
8339         (procfs_open, procfs_native_open): Delete.
8340         (nto_native_ops): Now an nto_procfs_target_native.
8341         (init_procfs_targets): Adjust to C++ification.
8342         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
8343         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
8344         Refactor as methods of nto_procfs_target.
8345
8346         * go32-nat.c (go32_nat_target): New class.
8347         (the_go32_nat_target): New.
8348         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
8349         (go32_store_registers, go32_xfer_partial, go32_files_info)
8350         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
8351         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
8352         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
8353         (go32_pid_to_str): Refactor as methods of go32_nat_target.
8354         (go32_target): Delete.
8355         (_initialize_go32_nat): Adjust to C++ification.
8356
8357         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
8358         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
8359         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
8360         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
8361         gnu_nat_target.
8362         (gnu_target): Delete.
8363         * gnu-nat.h (gnu_target): Delete.
8364         (gnu_nat_target): New class.
8365         * i386-gnu-nat.c (gnu_base_target): New.
8366         (i386_gnu_nat_target): New class.
8367         (the_i386_gnu_nat_target): New.
8368         (_initialize_i386gnu_nat): Adjust to C++ification.
8369
8370 2018-05-02  Pedro Alves  <palves@redhat.com>
8371
8372         * bfd-target.c (target_bfd_xclose): Rename to ...
8373         (target_bfd_close): ... this.
8374         (target_bfd_reopen): Adjust.
8375         * target.c (target_close): Remove references to to_xclose.
8376         * target.h (target_ops::to_xclose): Delete.
8377         (target_ops::to_close): Update comments.
8378
8379 2018-05-02  Pedro Alves  <palves@redhat.com>
8380
8381         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
8382         "linux-nat.h".
8383         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
8384         * inf-ptrace.c (inf_ptrace_register_u_offset)
8385         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8386         (inf_ptrace_store_register, inf_ptrace_store_registers)
8387         (inf_ptrace_trad_target): Move to ...
8388         * linux-nat-trad.c: ... this new file.
8389         * linux-nat-trad.h: New file.
8390         * linux-nat.c (linux_target_install_ops): Make extern.
8391         (linux_trad_target): Delete.
8392         * linux-nat.h (linux_trad_target): Delete declaration.
8393         (linux_target_install_ops): Declare.
8394         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
8395         "linux-nat.h".
8396
8397 2018-05-02  Pedro Alves  <palves@redhat.com>
8398
8399         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
8400         procfs_target/add_target here.
8401         * procfs.c (procfs_target): Make static.
8402         (_initialize_procfs): Call add_target here.
8403         * procfs.h (struct target_ops): Remove forward declaration.
8404         (procfs_target): Remove declaration.
8405         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
8406
8407 2018-05-02  Pedro Alves  <palves@redhat.com>
8408
8409         * procfs.c (procfs_stopped_by_watchpoint)
8410         (procfs_insert_watchpoint, procfs_remove_watchpoint)
8411         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
8412         Forward declare.
8413         (procfs_use_watchpoints): Delete, move contents...
8414         (procfs_target): ... here.
8415         * procfs.h (procfs_use_watchpoints): Delete declaration.
8416         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
8417         procfs_use_watchpoints.
8418         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
8419         procfs_use_watchpoints.
8420
8421 2018-05-02  Tom Tromey  <tom@tromey.com>
8422
8423         PR python/20084:
8424         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
8425         and var_zuinteger_unlimited.
8426         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
8427         and PARAM_ZUINTEGER_UNLIMITED.
8428         (set_parameter_value): Handle var_zuinteger and
8429         var_zuinteger_unlimited.
8430         (add_setshow_generic): Likewise.
8431         (parmpy_init): Likewise.
8432
8433 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
8434
8435         PR rust/23124
8436         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
8437         pointer is not null before dereferencing it.
8438
8439 2018-04-30  Tom Tromey  <tom@tromey.com>
8440
8441         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
8442         is_mi_like_p.
8443
8444 2018-04-30  Tom Tromey  <tom@tromey.com>
8445
8446         * breakpoint.c (mention): Remove use of is_mi_like_p.
8447         (print_mention_ranged_breakpoint): Likewise.
8448         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
8449         of is_mi_like_p.
8450
8451 2018-04-30  Tom Tromey  <tom@tromey.com>
8452
8453         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
8454
8455 2018-04-30  Tom Tromey  <tom@tromey.com>
8456
8457         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
8458         (info_spu_event_command): Remove some uses of is_mi_like_p.
8459
8460 2018-04-30  Tom Tromey  <tom@tromey.com>
8461
8462         * python/py-framefilter.c (py_print_single_arg)
8463         (enumerate_locals, py_print_args, py_print_frame): Remove some
8464         uses of is_mi_like_p.
8465
8466 2018-04-30  Tom Tromey  <tom@tromey.com>
8467
8468         * ui-out.c: Update.
8469         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
8470         * ui-out.h (ui_out::is_mi_like_p): Now const.
8471         (ui_out::do_is_mi_like_p): Now const.
8472         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
8473
8474 2018-04-30  Tom Tromey  <tom@tromey.com>
8475
8476         * varobj.c (varobj_set_visualizer): Use new_reference.
8477         * python/python.c (gdbpy_decode_line): Use new_reference.
8478         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
8479         new_reference.
8480
8481 2018-04-30  Tom Tromey  <tom@tromey.com>
8482
8483         * varobj.c (install_new_value): Use new_reference.
8484         * value.h (value_incref): Return void.  Swap intro comment with
8485         value_decref.
8486         * value.c (set_value_parent): Use new_reference.
8487         (value_incref): Return void.  Update intro comment.
8488         (release_value): Use new_reference.
8489         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
8490
8491 2018-04-30  Tom Tromey  <tom@tromey.com>
8492
8493         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
8494         * gdb_bfd.h (new_bfd_ref): Remove.
8495         (gdb_bfd_open): Update comment.
8496         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
8497         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
8498         (gdb_bfd_fdopenr): Use new_reference.
8499         * exec.c (exec_file_attach): Use new_reference.
8500
8501 2018-04-30  Tom Tromey  <tom@tromey.com>
8502
8503         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
8504         method.
8505
8506 2018-04-30  Tom Tromey  <tom@tromey.com>
8507
8508         * jit.c (jit_read_code_entry): Use type_align.
8509         * i386-tdep.c (i386_gdbarch_init): Don't call
8510         set_gdbarch_long_long_align_bit.
8511         * gdbarch.sh: Remove long_long_align_bit.
8512         * gdbarch.c, gdbarch.h: Rebuild.
8513         * arc-tdep.c (arc_type_align): New function.
8514         (arc_gdbarch_init): Use arc_type_align.  Don't call
8515         set_gdbarch_long_long_align_bit.
8516
8517 2018-04-30  Tom Tromey  <tom@tromey.com>
8518
8519         * rust-lang.c (rust_type_alignment): Remove.
8520         (rust_composite_type): Use type_align.
8521
8522 2018-04-30  Tom Tromey  <tom@tromey.com>
8523
8524         * NEWS: Mention Type.align.
8525         * python/py-type.c (typy_get_alignof): New function.
8526         (type_object_getset): Add "alignof".
8527
8528 2018-04-30  Tom Tromey  <tom@tromey.com>
8529
8530         PR exp/17095:
8531         * NEWS: Update.
8532         * std-operator.def (UNOP_ALIGNOF): New operator.
8533         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
8534         New.
8535         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
8536         * c-lang.c (c_op_print_tab): Add alignof.
8537         * c-exp.y (ALIGNOF): New token.
8538         (exp): Add "ALIGNOF" production.
8539         (ident_tokens): Add _Alignof and alignof.
8540
8541 2018-04-30  Tom Tromey  <tom@tromey.com>
8542
8543         * i386-tdep.c (i386_type_align): New function.
8544         (i386_gdbarch_init): Update.
8545         * gdbarch.sh (type_align): New method.
8546         * gdbarch.c, gdbarch.h: Rebuild.
8547         * arch-utils.h (default_type_align): Declare.
8548         * arch-utils.c (default_type_align): New function.
8549         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
8550         (struct type) <align_log2>: New field.
8551         <instance_flags>: Now a bitfield.
8552         (TYPE_RAW_ALIGN): New macro.
8553         (type_align, type_raw_align, set_type_align): Declare.
8554         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
8555         functions.
8556         * dwarf2read.c (quirk_rust_enum): Set type alignment.
8557         (get_alignment, maybe_set_alignment): New functions.
8558         (read_structure_type, read_enumeration_type, read_array_type)
8559         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
8560         (read_subrange_type, read_base_type): Set type alignment.
8561
8562 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
8563
8564         * dwarf2read.c (read_index_from_section): Use bool.
8565
8566 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
8567
8568         PR gdb/22950
8569         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
8570         with #ifdef.
8571
8572 2018-04-29  John Reiser  <jreiser@BitWagon.com>
8573
8574         PR build/22873
8575         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
8576         last step, and do it atomically.
8577
8578 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
8579
8580         * compile/compile-c-types.c (convert_int, convert_float):
8581         Update for C FE v1.
8582
8583 2018-04-27  Tom Tromey  <tom@tromey.com>
8584
8585         PR rust/22545:
8586         * rust-lang.c (rust_inclusive_range_type_p): New function.
8587         (rust_range): Handle inclusive ranges.
8588         (rust_compute_range): Likewise.
8589         * rust-exp.y (struct rust_op) <inclusive>: New field.
8590         (DOTDOTEQ): New constant.
8591         (range_expr): Add "..=" productions.
8592         (operator_tokens): Add "..=" token.
8593         (ast_range): Add "inclusive" parameter.
8594         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
8595         ranges.
8596         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
8597         bounds values.
8598         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
8599         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
8600         Update comments.
8601         * expprint.c (print_subexp_standard): Handle new bounds values.
8602         (dump_subexp_body_standard): Likewise.
8603
8604 2018-04-27  Tom Tromey  <tom@tromey.com>
8605
8606         * configure: Rebuild.
8607         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
8608         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
8609         "OVERRIDE".
8610         (class symbol_needs_eval_context): Likewise.
8611         * dwarf2read.c (mock_mapped_index::symbol_name_count)
8612         (mock_mapped_index::symbol_name_at): Use "override".  Remove
8613         "virtual".
8614         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
8615         "override".
8616         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
8617         * aarch64-tdep.c (instruction_reader::read): Use "override".
8618         (instruction_reader_test::read): Likewise.
8619         * arm-tdep.c (instruction_reader::read): Use "override".
8620         (instruction_reader_thumb::read): Likewise.
8621
8622 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
8623
8624         PR remote/9665
8625         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
8626         instead of remote_send.
8627         (remote_send): Remove.
8628
8629 2018-04-26  Pedro Alves  <palves@redhat.com>
8630
8631         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
8632         find_function_start_sal instead of find_pc_line.
8633
8634 2018-04-26  Pedro Alves  <palves@redhat.com>
8635
8636         * breakpoint.c (set_breakpoint_location_function): Handle
8637         mst_data_gnu_ifunc.
8638         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
8639         * elfread.c (elf_symtab_read): Give data symbols with
8640         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
8641         (elf_rel_plt_read): Update comment.
8642         * linespec.c (convert_linespec_to_sals): Handle
8643         mst_data_gnu_ifunc.
8644         (minsym_found): Handle mst_data_gnu_ifunc.
8645         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
8646         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
8647         * parse.c (find_minsym_type_and_address): Handle
8648         mst_data_gnu_ifunc.
8649         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
8650         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
8651         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
8652         comment.
8653         <mst_data_gnu_ifunc>: New enumerator.
8654
8655 2018-04-26  Pedro Alves  <palves@redhat.com>
8656
8657         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
8658         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
8659         'want_trampoline' parameter by a lookup_msym_prefer parameter.
8660         Handle it.
8661         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
8662         (lookup_minimal_symbol_by_pc): Adjust.
8663         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
8664         (lookup_solib_trampoline_symbol_by_pc): Adjust.
8665         * minsyms.h (lookup_msym_prefer): New enum.
8666         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8667         parameter by a lookup_msym_prefer parameter.
8668
8669 2018-04-26  Pedro Alves  <palves@redhat.com>
8670
8671         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
8672         ends in "@plt" instead of looking at the symbol's section.
8673
8674 2018-04-26  Pedro Alves  <palves@redhat.com>
8675
8676         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
8677         all references.
8678         (find_pc_partial_function_gnu_ifunc): Rename to ...
8679         (find_pc_partial_function): ... this, and remove references to
8680         'is_gnu_ifunc_p'.
8681         (find_pc_partial_function): Delete old implementation.
8682         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
8683
8684 2018-04-26  Pedro Alves  <palves@redhat.com>
8685
8686         * linespec.c (struct bound_minimal_symbol_search_key): New.
8687         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
8688         skip first line if we found a GNU ifunc minimal symbol by name.
8689         (compare_msymbols): Change parameters to work with a destructured
8690         lhs minsym.
8691         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
8692         functions.
8693
8694 2018-04-26  Pedro Alves  <palves@redhat.com>
8695
8696         * breakpoint.c (set_breakpoint_location_function): Don't resolve
8697         ifunc targets here.  Instead, if we have an ifunc minsym, use its
8698         address/name.
8699         (add_location_to_breakpoint): Store the minsym and the objfile in
8700         the breakpoint location.
8701         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
8702         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
8703         Record the minsym in the sal.
8704         * symtab.h (symtab_and_line) <msymbol>: New field.
8705
8706 2018-04-26  Pedro Alves  <palves@redhat.com>
8707
8708         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
8709         unless we actually resolved the ifunc.
8710
8711 2018-04-26  Pedro Alves  <palves@redhat.com>
8712
8713         * c-exp.y (variable production): Prefer ifunc minsyms over
8714         regular function symbols.
8715         * symtab.c (find_gnu_ifunc): New function.
8716         * minsyms.h (lookup_msym_prefer): New enum.
8717         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8718         parameter by a lookup_msym_prefer parameter.
8719         * symtab.h (find_gnu_ifunc): New declaration.
8720
8721 2018-04-26  Pedro Alves  <palves@redhat.com>
8722
8723         * blockframe.c (find_gnu_ifunc_target_type): New function.
8724         (find_function_type): New.
8725         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
8726         return a value with a memory address.
8727         (eval_call): For calls to GNU ifunc functions, try to find the
8728         type of the target function from the type that the resolver
8729         returns.
8730         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
8731         symbols.
8732         * infcall.c (find_function_return_type): Delete.
8733         (find_function_addr): Add 'function_type' parameter.  For calls to
8734         GNU ifunc functions, try to find the type of the target function
8735         from the type that the resolver returns, and return it via
8736         FUNCTION_TYPE.
8737         (call_function_by_hand_dummy): Adjust to use the function type
8738         returned by find_function_addr.
8739         (find_function_addr): Add 'function_type' parameter and move
8740         description here.
8741         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
8742         declarations.
8743
8744 2018-04-26  Pedro Alves  <palves@redhat.com>
8745
8746         * c-exp.y (variable production): Skip finding an alias for ifunc
8747         symbols.
8748
8749 2018-04-26  Pedro Alves  <palves@redhat.com>
8750
8751         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
8752
8753 2018-04-25  Pedro Alves  <palves@redhat.com>
8754
8755         * infcmd.c (kill_command): Print the pid as string, not the whole
8756         thread's ptid.  Add comment.  s/has been killed/killed/ in output
8757         message.
8758         * remote.c (remote_detach_1): Print the pid as string, not the
8759         whole thread's ptid.
8760
8761 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8762             Sergio Durigan Junior  <sergiodj@redhat.com>
8763             Pedro Alves  <palves@redhat.com>
8764
8765         * infcmd.c (kill_command): Print message when inferior has
8766         been killed.
8767         * inferior.c (print_inferior_events): Remove 'static'.  Set as
8768         '1'.
8769         (add_inferior): Improve message printed when
8770         'print_inferior_events' is on.
8771         (exit_inferior): Remove message printed when
8772         'print_inferior_events' is on.
8773         (detach_inferior): Improve message printed when
8774         'print_inferior_events' is on.
8775         (initialize_inferiors): Use 'add_inferior_silent' to set
8776         'current_inferior_'.
8777         * inferior.h (print_inferior_events): Declare here as
8778         'extern'.
8779         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
8780         '[Detaching...]' messages when 'print_inferior_events' is on.
8781         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
8782         as prefix/suffix for messages.  Remove periods.  Fix erroneous
8783         'Detaching after fork from child...', replace it by '... from
8784         parent...'.
8785         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
8786         prefix/suffix when printing 'Detaching...' messages.  Print
8787         them when 'print_inferior_events' is on.
8788         * remote.c (remote_detach_1): Print message when detaching
8789         from inferior and '!is_fork_parent'.
8790
8791 2018-04-24  Tom Tromey  <tom@tromey.com>
8792
8793         * cli-out.h: Reindent.
8794
8795 2018-04-24  Tom Tromey  <tom@tromey.com>
8796
8797         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
8798         (cli_ui_out::do_field_string): Use fputs_filtered.
8799         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
8800
8801 2018-04-23  Tom Tromey  <tom@tromey.com>
8802
8803         * guile/scm-frame.c (gdbscm_frame_read_var): Use
8804         gdb::unique_xmalloc_ptr.
8805
8806 2018-04-23  Tom Tromey  <tom@tromey.com>
8807
8808         * configure: Rebuild.
8809
8810 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
8811
8812         PR gdb/23095
8813         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
8814         prepare_for_testing.  Set normal_bp to r_debug_state if target
8815         is bsd.
8816
8817 2018-04-21  Pedro Alves  <palves@redhat.com>
8818             Rajendra SY  <rajendra.sy@gmail.com>
8819
8820         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
8821         * remote.c (extended_remote_attach): In all-stop mode, mark the
8822         thread as executing.
8823
8824 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8825
8826         * thread.c (thread_apply_all_command): Fix comment.
8827         (thread_command): Fix comment.
8828
8829 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
8830
8831         * common/tdesc.h (tdesc_create_feature): Remove xml filename
8832         parameter.
8833         * features/aarch64-core.c (create_feature_aarch64_core):
8834         Regenerate.
8835         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
8836         Likewise.
8837         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
8838         Likewise.
8839         * features/i386/32bit-avx512.c
8840         (create_feature_i386_32bit_avx512): Likewise.
8841         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
8842         Likewise.
8843         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
8844         Likewise.
8845         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
8846         Likewise.
8847         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
8848         Likewise.
8849         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
8850         Likewise.
8851         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
8852         Likewise.
8853         * features/i386/64bit-avx512.c
8854         (create_feature_i386_64bit_avx512): Likewise.
8855         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
8856         Likewise.
8857         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
8858         Likewise.
8859         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
8860         Likewise.
8861         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
8862         Likewise.
8863         * features/i386/64bit-segments.c
8864         (create_feature_i386_64bit_segments): Likewise.
8865         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
8866         Likewise.
8867         * features/i386/x32-core.c
8868         (create_feature_i386_x32_core): Likewise.
8869         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
8870         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
8871         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
8872         * target-descriptions.c: In generated code, don't pass xml
8873         filename.
8874
8875 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8876
8877         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
8878         (print_xml_feature::visit_post): Likewise.
8879         (print_xml_feature::visit): Likewise.
8880         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
8881         (print_xml_feature): Add new class.
8882         * regformats/regdat.sh: Null xmltarget on feature targets.
8883         * target-descriptions.c (struct target_desc): Add xmltarget.
8884         (maintenance_check_tdesc_xml_convert): Add unittest function.
8885         (tdesc_get_features_xml): Add function to get xml.
8886         (maintenance_check_xml_descriptions): Test xml generation.
8887         * xml-tdesc.c (string_read_description_xml): Add function.
8888         * xml-tdesc.h (string_read_description_xml): Add declaration.
8889
8890 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8891
8892         * features/Makefile: Add feature marker to targets with new style
8893         target descriptions.
8894         * regformats/aarch64.dat: Regenerate.
8895         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
8896         * regformats/i386/amd64-avx-linux.dat: Likewise.
8897         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
8898         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
8899         * regformats/i386/amd64-linux.dat: Likewise.
8900         * regformats/i386/amd64-mpx-linux.dat: Likewise.
8901         * regformats/i386/amd64.dat: Likewise.
8902         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
8903         * regformats/i386/i386-avx-linux.dat: Likewise.
8904         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
8905         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
8906         * regformats/i386/i386-linux.dat: Likewise.
8907         * regformats/i386/i386-mmx-linux.dat: Likewise.
8908         * regformats/i386/i386-mpx-linux.dat: Likewise.
8909         * regformats/i386/i386.dat: Likewise.
8910         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
8911         * regformats/i386/x32-avx-linux.dat: Likewise.
8912         * regformats/i386/x32-linux.dat: Likewise.
8913         * regformats/tic6x-c62x-linux.dat: Likewise.
8914         * regformats/tic6x-c64x-linux.dat: Likewise.
8915         * regformats/tic6x-c64xp-linux.dat: Likewise.
8916         * regformats/regdat.sh: Parse feature marker.
8917
8918 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8919
8920         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
8921         (tdesc_osabi_name): Likewise.
8922         * target-descriptions.c (tdesc_architecture_name): Add new
8923         function.
8924         (tdesc_osabi_name): Likewise.
8925
8926 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8927
8928         * common/tdesc.c (tdesc_predefined_type): Move to here.
8929         (tdesc_named_type): Likewise.
8930         (tdesc_create_vector): Likewise.
8931         (tdesc_create_struct): Likewise.
8932         (tdesc_set_struct_size): Likewise.
8933         (tdesc_create_union): Likewise.
8934         (tdesc_create_flags): Likewise.
8935         (tdesc_create_enum): Likewise.
8936         (tdesc_add_field): Likewise.
8937         (tdesc_add_typed_bitfield): Likewise.
8938         (tdesc_add_bitfield): Likewise.
8939         (tdesc_add_flag): Likewise.
8940         (tdesc_add_enum_value): Likewise.
8941         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
8942         (struct tdesc_type_vector): Likewise.
8943         (struct tdesc_type_field): Likewise.
8944         (struct tdesc_type_with_fields): Likewise.
8945         (tdesc_create_enum): Add declaration.
8946         (tdesc_add_typed_bitfield): Likewise.
8947         (tdesc_add_enum_value): Likewise.
8948         * target-descriptions.c (tdesc_type_field): Move from here.
8949         (tdesc_type_builtin): Likewise.
8950         (tdesc_type_vector): Likewise.
8951         (tdesc_type_with_fields): Likewise.
8952         (tdesc_predefined_types): Likewise.
8953         (tdesc_named_type): Likewise.
8954         (tdesc_create_vector): Likewise.
8955         (tdesc_create_struct): Likewise.
8956         (tdesc_set_struct_size): Likewise.
8957         (tdesc_create_union): Likewise.
8958         (tdesc_create_flags): Likewise.
8959         (tdesc_create_enum): Likewise.
8960         (tdesc_add_field): Likewise.
8961         (tdesc_add_typed_bitfield): Likewise.
8962         (tdesc_add_bitfield): Likewise.
8963         (tdesc_add_flag): Likewise.
8964         (tdesc_add_enum_value): Likewise.
8965         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
8966         (tdesc_add_typed_bitfield): Likewise.
8967         (tdesc_add_enum_value): Likewise.
8968
8969 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8970
8971         * common/tdesc.c (tdesc_feature::accept): Move to here.
8972         (tdesc_feature::operator==): Likewise.
8973         (tdesc_create_reg): Likewise.
8974         * common/tdesc.h (tdesc_type_kind): Likewise.
8975         (struct tdesc_type): Likewise.
8976         (struct tdesc_feature): Likewise.
8977         * regformats/regdat.sh: Create a feature.
8978         * target-descriptions.c (tdesc_type_kind): Move from here.
8979         (tdesc_type): Likewise.
8980         (tdesc_type_up): Likewise.
8981         (tdesc_feature): Likewise.
8982         (tdesc_create_reg): Likewise.
8983
8984 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8985
8986         * Makefile.in: Add arch/tdesc.c
8987         * common/tdesc.c: New file.
8988         * common/tdesc.h (tdesc_element_visitor): Move to here.
8989         (tdesc_element): Likewise.
8990         (tdesc_reg): Likewise.
8991         (tdesc_reg_up): Likewise.
8992         * regformats/regdef.h (reg): Add offset to constructors.
8993         * target-descriptions.c (tdesc_element_visitor): Move from here.
8994         (tdesc_element): Likewise.
8995         (tdesc_reg): Likewise.
8996         (tdesc_reg_up): Likewise.
8997
8998 2018-04-17  Tom Tromey  <tom@tromey.com>
8999
9000         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
9001         discriminant field.
9002
9003 2018-04-17  Tom Tromey  <tom@tromey.com>
9004
9005         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
9006
9007 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9008
9009         * symtab.c (print_symbol_info): Skip printing filename and line
9010         number when `last' is NULL.
9011         (symtab_symbol_info): Use empty string instead of NULL for first
9012         invocation of print_symbol_info.
9013         (rbreak_command): Pass NULL to `last' parameter of
9014         print_symbol_info.
9015
9016 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
9017
9018         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
9019         instead of nullptr.
9020
9021 2018-04-16  Pedro Alves  <palves@redhat.com>
9022
9023         * MAINTAINERS (sh): Remove.
9024         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
9025         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
9026         (ALLDEPFILES): Remove sh64-tdep.c.
9027         * NEWS: Mentions that support for SH-5/SH64 is removed.
9028         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
9029         (sh*-*-openbsd*): Ditto.
9030         (sh64-*-elf*): Remove.
9031         (sh*): Remove.
9032         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
9033         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
9034         * sh-tdep.c: No longer include "sh64-tdep.h".
9035         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
9036         * sh64-tdep.c, sh64-tdep.h: Remove files.
9037
9038 2018-04-16  Pedro Alves  <palves@redhat.com>
9039
9040         * MAINTAINERS: Remove m88k.
9041         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
9042         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
9043         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
9044         * NEWS: Mention that support for m88k was removed.
9045         * configure.host (m88*-*-*): Remove support.
9046         * configure.nat (m88k-*-*): Remove support.
9047         * configure.tgt (m88*-*-openbsd*): Remove.
9048         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
9049
9050 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
9051
9052         * configure.tgt (x86_tobjs): New variable.
9053         (amd64_tobjs, i386_tobjs): Use it.
9054
9055 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9056
9057         * symtab.c (print_symbol_info): Precede the symbol definition by
9058         the line number when available.
9059         * NEWS: Advertise this enhancement.
9060
9061 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9062
9063         * NEWS (New options): announce set/show record btrace cpu.
9064         * btrace.c: Include record-btrace.h.
9065         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
9066         the vendor is unknown.
9067         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
9068         Maybe overwrite the btrace configuration's cpu.
9069         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
9070         (btrace_fetch): Add cpu parameter.  Update callers.
9071         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
9072         Maybe overwrite the btrace configuration's cpu.  Skip enabling
9073         errata workarounds if the vendor is unknown.
9074         * python/py-record-btrace.c: Include record-btrace.h.
9075         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
9076         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
9077         * record-btrace.c (record_btrace_cpu_state_kind): New.
9078         (record_btrace_cpu): New.
9079         (set_record_btrace_cpu_cmdlist): New.
9080         (record_btrace_get_cpu): New.
9081         (require_btrace_thread, record_btrace_info)
9082         (record_btrace_resume_thread): Call record_btrace_get_cpu.
9083         (cmd_set_record_btrace_cpu_none): New.
9084         (cmd_set_record_btrace_cpu_auto): New.
9085         (cmd_set_record_btrace_cpu): New.
9086         (cmd_show_record_btrace_cpu): New.
9087         (_initialize_record_btrace): Initialize set/show record btrace cpu
9088         commands.
9089         * record-btrace.h (record_btrace_get_cpu): New.
9090
9091 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9092
9093         * record.c (set_record_command): Fix typo in message.
9094
9095 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9096
9097         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
9098
9099 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9100
9101         * infrun.c (process_event_stop_test): Call
9102         gdbarch_in_indirect_branch_thunk.
9103         * gdbarch.sh (in_indirect_branch_thunk): New.
9104         * gdbarch.c: Regenerated.
9105         * gdbarch.h: Regenerated.
9106         * x86-tdep.h: New.
9107         * x86-tdep.c: New.
9108         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
9109         (HFILES_NO_SRCDIR): Add x86-tdep.h.
9110         (ALLDEPFILES): Add x86-tdep.c.
9111         * arch-utils.h (default_in_indirect_branch_thunk): New.
9112         * arch-utils.c (default_in_indirect_branch_thunk): New.
9113         * i386-tdep: Include x86-tdep.h.
9114         (i386_in_indirect_branch_thunk): New.
9115         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
9116         function.
9117         * amd64-tdep: Include x86-tdep.h.
9118         (amd64_in_indirect_branch_thunk): New.
9119         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
9120
9121 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
9122
9123         PR gdb/23053
9124         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
9125         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
9126         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
9127         regression.
9128
9129 2018-04-12  Tom Tromey  <tom@tromey.com>
9130
9131         * rust-lang.c (rust_print_struct_def): Remove univariant code.
9132         (rust_evaluate_subexp): Likewise.
9133
9134 2018-04-12  Pedro Alves  <palves@redhat.com>
9135
9136         * procfs.c (procfs_detach): Make forward declaration's prototype
9137         match definition's protototype.
9138         (proc_get_LDT_entry): Remove stale do_cleanups call.
9139
9140 2018-04-12  Pedro Alves  <palves@redhat.com>
9141
9142         * target.h (target_ops::to_has_exited): Delete.
9143         (target_has_exited): Delete.
9144         * target-delegates.c: Regenerate.
9145
9146 2018-04-11  Pedro Alves  <palves@redhat.com>
9147
9148         * target.c (fileio_fh_t::t): Add comment.
9149         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9150         (target_fileio_close): Handle a NULL target.
9151         (invalidate_fileio_fh): New.
9152         (target_close): Call it.
9153         * remote.c (remote_hostio_send_command): No longer check whether
9154         remote_desc is open.
9155
9156 2018-04-11  Pedro Alves  <palves@redhat.com>
9157
9158         * target.c (fileio_fh_t): Make it a named struct instead of a
9159         typedef.
9160         (fileio_fh_t::is_closed): New method.
9161         (DEF_VEC_O (fileio_fh_t)): Remove.
9162         (fileio_fhandles): Now a std::vector.
9163         (is_closed_fileio_fh): Delete.
9164         (acquire_fileio_fd): Adjust.  Rename parameters.
9165         (release_fileio_fd): Adjust.
9166         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
9167         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9168         (target_fileio_close): Adjust.
9169
9170 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
9171
9172         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
9173         index.
9174
9175 2018-04-10  Pedro Alves  <palves@redhat.com>
9176
9177         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
9178         (scoped_finish_thread_state): New class.
9179         * infcmd.c (run_command_1): Use it instead of finish_thread_state
9180         cleanup.
9181         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
9182         (fetch_inferior_event, normal_stop): Likewise.
9183         * thread.c (finish_thread_state_cleanup): Delete.
9184
9185 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9186             Pedro Alves  <palves@redhat.com>
9187
9188         * value.c: Include "selftest.h" and "common/array-view.h".
9189         (struct range) <operator ==>: New.
9190         (test_ranges_contain): New.
9191         (check_ranges_vector): New.
9192         (test_insert_into_bit_range_vector): New.
9193         (_initialize_values): Register selftests.
9194         * common/array-view.h (operator==, operator!=): New.
9195
9196 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9197
9198         * common/gdb_vecs.h (unordered_remove): Add overload that takes
9199         an iterator.
9200         * inline-frame.c: Include <algorithm>.
9201         (struct inline_state): Add constructor.
9202         (inline_state_s): Remove.
9203         (DEF_VEC_O(inline_state_s)): Remove.
9204         (inline_states): Change type to std::vector.
9205         (find_inline_frame_state): Adjust to std::vector.
9206         (allocate_inline_frame_state): Remove.
9207         (clear_inline_frame_state): Adjust to std::vector.
9208         (skip_inline_frames): Adjust to std::vector.
9209
9210 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9211
9212         * tracepoint.h (struct trace_state_variable): Add constructor.
9213         <name>: Change type to std::string.
9214         * tracepoint.c (tsv_s): Remove.
9215         (DEF_VEC_O(tsv_s)): Remove.
9216         (tvariables): Change to std::vector.
9217         (create_trace_state_variable): Adjust to std::vector.
9218         (find_trace_state_variable): Likewise.
9219         (find_trace_state_variable_by_number): Likewise.
9220         (delete_trace_state_variable): Likewise.
9221         (trace_variable_command): Adjust to std::string.
9222         (delete_trace_variable_command): Likewise.
9223         (tvariables_info_1): Adjust to std::vector.
9224         (save_trace_state_variables): Likewise.
9225         (start_tracing): Likewise.
9226         (merge_uploaded_trace_state_variables): Adjust to std::vector
9227         and std::string.
9228         * target.h (struct target_ops)
9229         <to_download_trace_state_variable>: Pass reference to
9230         trace_state_variable.
9231         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
9232         * target-delegates.c: Re-generate.
9233         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
9234         (mi_tsv_deleted): Likewise.
9235         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
9236         * remote.c (remote_download_trace_state_variable): Change
9237         pointer to reference and adjust.
9238         * make-target-delegates (parse_argtypes): Handle references.
9239         (write_function_header): Likewise.
9240         (munge_type): Likewise.
9241
9242 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9243
9244         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9245         string_view-selftests.c.
9246         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
9247         testsuite.
9248         * unittests/basic_string_view/cons/char/1.cc: Likewise.
9249         * unittests/basic_string_view/cons/char/2.cc: Likewise.
9250         * unittests/basic_string_view/cons/char/3.cc: Likewise.
9251         * unittests/basic_string_view/element_access/char/1.cc:
9252         Likewise.
9253         * unittests/basic_string_view/element_access/char/empty.cc:
9254         Likewise.
9255         * unittests/basic_string_view/element_access/char/front_back.cc:
9256         Likewise.
9257         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
9258         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
9259         Likewise.
9260         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
9261         Likewise.
9262         * unittests/basic_string_view/modifiers/swap/char/1.cc:
9263         Likewise.
9264         * unittests/basic_string_view/operations/compare/char/1.cc:
9265         Likewise.
9266         * unittests/basic_string_view/operations/compare/char/13650.cc:
9267         Likewise.
9268         * unittests/basic_string_view/operations/copy/char/1.cc:
9269         Likewise.
9270         * unittests/basic_string_view/operations/data/char/1.cc:
9271         Likewise.
9272         * unittests/basic_string_view/operations/find/char/1.cc:
9273         Likewise.
9274         * unittests/basic_string_view/operations/find/char/2.cc:
9275         Likewise.
9276         * unittests/basic_string_view/operations/find/char/3.cc:
9277         Likewise.
9278         * unittests/basic_string_view/operations/find/char/4.cc:
9279         Likewise.
9280         * unittests/basic_string_view/operations/rfind/char/1.cc:
9281         Likewise.
9282         * unittests/basic_string_view/operations/rfind/char/2.cc:
9283         Likewise.
9284         * unittests/basic_string_view/operations/rfind/char/3.cc:
9285         Likewise.
9286         * unittests/basic_string_view/operations/substr/char/1.cc:
9287         Likewise.
9288         * unittests/basic_string_view/operators/char/2.cc: Likewise.
9289         * unittests/string_view-selftests.c: New file.
9290
9291 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9292
9293         * unittests/basic_string_view/capacity/1.cc: New file.
9294         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
9295         * unittests/basic_string_view/cons/char/1.cc: New file.
9296         * unittests/basic_string_view/cons/char/2.cc: New file.
9297         * unittests/basic_string_view/cons/char/3.cc: New file.
9298         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
9299         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
9300         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
9301         * unittests/basic_string_view/element_access/char/1.cc: New file.
9302         * unittests/basic_string_view/element_access/char/2.cc: New file.
9303         * unittests/basic_string_view/element_access/char/empty.cc: New file.
9304         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
9305         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
9306         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
9307         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
9308         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
9309         * unittests/basic_string_view/include.cc: New file.
9310         * unittests/basic_string_view/inserters/char/1.cc: New file.
9311         * unittests/basic_string_view/inserters/char/2.cc: New file.
9312         * unittests/basic_string_view/inserters/char/3.cc: New file.
9313         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
9314         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
9315         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
9316         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
9317         * unittests/basic_string_view/literals/types.cc: New file.
9318         * unittests/basic_string_view/literals/values.cc: New file.
9319         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
9320         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
9321         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
9322         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
9323         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
9324         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
9325         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
9326         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
9327         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
9328         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
9329         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
9330         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
9331         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
9332         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
9333         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
9334         * unittests/basic_string_view/operations/data/char/1.cc: New file.
9335         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
9336         * unittests/basic_string_view/operations/find/char/1.cc: New file.
9337         * unittests/basic_string_view/operations/find/char/2.cc: New file.
9338         * unittests/basic_string_view/operations/find/char/3.cc: New file.
9339         * unittests/basic_string_view/operations/find/char/4.cc: New file.
9340         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
9341         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
9342         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
9343         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
9344         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
9345         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
9346         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
9347         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
9348         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
9349         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
9350         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
9351         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
9352         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
9353         * unittests/basic_string_view/operators/char/2.cc: New file.
9354         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
9355         * unittests/basic_string_view/range_access/char/1.cc: New file.
9356         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
9357         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
9358         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
9359         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
9360         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
9361         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
9362         * unittests/basic_string_view/requirements/typedefs.cc: New file.
9363         * unittests/basic_string_view/typedefs.cc: New file.
9364         * unittests/basic_string_view/types/1.cc: New file.
9365
9366 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9367
9368         * common/gdb_string_view.h: Remove libstdc++ implementation
9369         details, adjust to gdb reality.
9370         * common/gdb_string_view.tcc: Likewise.
9371         * cli/cli-script.c (struct string_view): Remove.
9372         (user_args) <m_args>: Change element type to gdb::string_view.
9373         (user_args::insert_args): Adjust.
9374
9375 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9376
9377         * common/gdb_string_view.h: New file.
9378         * common/gdb_string_view.tcc: New file.
9379
9380 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9381
9382         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
9383         * configure: Re-generate.
9384
9385 2018-04-09  Pedro Alves  <palves@redhat.com>
9386
9387         * gdbarch.sh: Include "observable.h" instead of "observer.h".
9388         (set_target_gdbarch): Call
9389         gdb::observers::architecture_changed.notify instead of
9390         observer_notify_architecture_changed.
9391
9392 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9393
9394         * tracepoint.c (struct current_traceframe_cleanup): Remove.
9395         (do_restore_current_traceframe_cleanup): Remove.
9396         (restore_current_traceframe_cleanup_dtor): Remove.
9397         (make_cleanup_restore_current_traceframe): Remove.
9398         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
9399         New.
9400         * tracepoint.h (struct scoped_restore_current_traceframe): New.
9401         * infrun.c (fetch_inferior_event): Use
9402         scoped_restore_current_traceframe.
9403
9404 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9405
9406         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
9407         Remove.
9408         <n_allocated_type_units>: Remove.
9409         <all_type_units>: Change to std::vector.
9410         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
9411         to std::vector change.
9412         (dwarf2_per_objfile::get_cutu): Likewise.
9413         (dwarf2_per_objfile::get_tu): Likewise.
9414         (create_signatured_type_table_from_index): Likewise.
9415         (create_signatured_type_table_from_debug_names): Likewise.
9416         (dw2_symtab_iter_next): Likewise.
9417         (dw2_print_stats): Likewise.
9418         (dw2_expand_all_symtabs): Likewise.
9419         (dw2_expand_marked_cus): Likewise.
9420         (dw2_debug_names_iterator::next): Likewise.
9421         (dwarf2_initialize_objfile): Likewise.
9422         (add_signatured_type_cu_to_table): Likewise.
9423         (create_all_type_units): Likewise.
9424         (add_type_unit): Likewise.
9425         (struct tu_abbrev_offset): Add constructor.
9426         (build_type_psymtabs_1): Adjust to std::vector change.
9427         (print_tu_stats): Likewise.
9428         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
9429         (write_debug_names): Likewise.
9430
9431 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9432
9433         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
9434         Make an std::vector.
9435         <n_comp_units>: Remove.
9436         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
9437         to std::vector change.
9438         (dwarf2_per_objfile::get_cutu): Likewise.
9439         (dwarf2_per_objfile::get_cu): Likewise.
9440         (create_cus_from_index): Likewise.
9441         (create_addrmap_from_index): Likewise.
9442         (create_addrmap_from_aranges): Likewise.
9443         (dwarf2_read_index): Likewise.
9444         (dw2_find_last_source_symtab): Likewise.
9445         (dw2_map_symtabs_matching_filename): Likewise.
9446         (dw2_symtab_iter_next): Likewise.
9447         (dw2_print_stats): Likewise.
9448         (dw2_expand_all_symtabs): Likewise.
9449         (dw2_expand_symtabs_with_fullname): Likewise.
9450         (dw2_expand_marked_cus): Likewise.
9451         (dw2_map_symbol_filenames): Likewise.
9452         (create_cus_from_debug_names): Likewise.
9453         (dwarf2_read_debug_names): Likewise.
9454         (dw2_debug_names_iterator::next): Likewise.
9455         (dwarf2_initialize_objfile): Likewise.
9456         (set_partial_user): Likewise.
9457         (dwarf2_build_psymtabs_hard): Likewise.
9458         (read_comp_units_from_section): Remove arguments, adjust to
9459         std::vector change.
9460         (create_all_comp_units): Adjust to std::vector and
9461         read_comp_units_from_section changes.
9462         (dwarf2_find_containing_comp_unit): Adjust to std::vector
9463         change.
9464         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
9465         (psyms_seen_size): Likewise.
9466         (write_gdbindex): Likewise.
9467         (write_debug_names): Likewise.
9468
9469 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9470
9471         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
9472         with dwarf2_per_objfile.
9473         (create_cus_from_index): Likewise.
9474         (create_signatured_type_table_from_index): Likewise.
9475         (dwarf2_read_index): Likewise.
9476         (dwarf2_initialize_objfile): Likewise.
9477         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
9478         per_cu rather than get_dwarf2_per_objfile.
9479
9480 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9481
9482         * dwarf2read.h (struct signatured_type): Forward declare.
9483         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
9484         New methods.
9485         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
9486         (dw2_get_cutu): ...this.
9487         (dwarf2_per_objfile::get_cu): Rename from...
9488         (dw2_get_cu): ...this.
9489         (dwarf2_per_objfile::get_tu): New.
9490         (create_addrmap_from_index): Adjust.
9491         (create_addrmap_from_aranges): Adjust.
9492         (dw2_find_last_source_symtab): Adjust.
9493         (dw2_map_symtabs_matching_filename): Adjust.
9494         (dw2_symtab_iter_next): Adjust.
9495         (dw2_print_stats): Adjust.
9496         (dw2_expand_all_symtabs): Adjust.
9497         (dw2_expand_symtabs_with_fullname): Adjust.
9498         (dw2_expand_marked_cus): Adjust.
9499         (dw_expand_symtabs_matching_file_matcher): Adjust.
9500         (dw2_map_symbol_filenames): Adjust.
9501         (dw2_debug_names_iterator::next): Adjust.
9502         (dwarf2_initialize_objfile): Adjust.
9503         (set_partial_user): Adjust.
9504         (dwarf2_build_psymtabs_hard): Adjust.
9505
9506 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9507
9508         * dwarf2read.c (create_signatured_type_table_from_debug_names):
9509         Remove unused variables.
9510         (dw2_map_symtabs_matching_filename): Likewise.
9511         (dwarf2_record_block_ranges): Likewise.
9512         (dwarf2_read_addr_index): Likewise.
9513         (follow_die_offset): Likewise.
9514
9515 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9516
9517         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
9518         to symbol_file_add_main.
9519
9520 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9521
9522         PR mi/22299
9523         * mi/mi-console.c (do_fputc_async_safe): New.
9524         (mi_console_file::write_async_safe): New.
9525         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
9526         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
9527         New.
9528         * ui-file.c (ui_file::putstrn): Adjust call to
9529         fputstrn_unfiltered.
9530         * utils.c (printchar): Replace do_fputs and do_fprintf
9531         parameters by do_fputc.
9532         (fputstr_filtered): Adjust call to printchar.
9533         (fputstr_unfiltered): Likewise.
9534         (fputstrn_filtered): Likewise.
9535         (fputstrn_unfiltered): Add do_fputc parameter, pass to
9536         printchar.
9537         * utils.h (do_fputc_ftype): New typedef.
9538         (fputstrn_unfiltered): Add do_fputc parameter.
9539
9540 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9541
9542         * regformats/i386/i386-avx.dat: Remove.
9543
9544 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9545
9546         PR gdb/22979
9547         * amd64-tdep.c (amd64_none_init_abi): New function.
9548         (amd64_x32_none_init_abi): New function.
9549         (_initialize_amd64_tdep): Register handlers for x86-64 and
9550         x64_32 with GDB_OSABI_NONE.
9551         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
9552         GDB_OSABI_NONE osabi.
9553
9554 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9555
9556         PR gdb/22980
9557         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
9558         GDB_OSABI_NONE.
9559         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
9560         * osabi.c (gdb_osabi_names): Add "unknown" entry.
9561
9562 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9563
9564         * common/byte-vector.h (char_vector): New type.
9565         * target.h (target_read_alloc): Return
9566         gdb::optional<byte_vector>.
9567         (target_read_stralloc): Return gdb::optional<char_vector>.
9568         (target_get_osdata): Return gdb::optional<char_vector>.
9569         * target.c (target_read_alloc_1): Templatize.  Replacement
9570         manual memory management with vector.
9571         (target_read_alloc): Change return type, adjust.
9572         (target_read_stralloc): Change return type, adjust.
9573         (target_get_osdata): Change return type, adjust.
9574         * auxv.c (struct auxv_info) <length>: Remove.
9575         <data>: Change type to gdb::optional<byte_vector>.
9576         (auxv_inferior_data_cleanup): Free auxv_info with delete.
9577         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
9578         (target_auxv_search): Adjust.
9579         (fprint_target_auxv): Adjust.
9580         * avr-tdep.c (avr_io_reg_read_command): Adjust.
9581         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
9582         (linux_make_corefile_notes): Adjust.
9583         * osdata.c (get_osdata): Adjust.
9584         * remote.c (remote_get_threads_with_qxfer): Adjust.
9585         (remote_memory_map): Adjust.
9586         (remote_traceframe_info): Adjust.
9587         (btrace_read_config): Adjust.
9588         (remote_read_btrace): Adjust.
9589         (remote_pid_to_exec_file): Adjust.
9590         * solib-aix.c (solib_aix_get_library_list): Adjust.
9591         * solib-dsbt.c (decode_loadmap): Don't free buf.
9592         (dsbt_get_initial_loadmaps): Adjust.
9593         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
9594         * solib-target.c (solib_target_current_sos): Adjust.
9595         * tracepoint.c (sdata_make_value): Adjust.
9596         * xml-support.c (xinclude_start_include): Adjust.
9597         (xml_fetch_content_from_file): Adjust.
9598         * xml-support.h (xml_fetch_another): Change return type.
9599         (xml_fetch_content_from_file): Change return type.
9600         * xml-syscall.c (xml_init_syscalls_info): Adjust.
9601         * xml-tdesc.c (file_read_description_xml): Adjust.
9602         (fetch_available_features_from_target): Change return type.
9603         (target_fetch_description_xml): Adjust.
9604         (target_read_description_xml): Adjust.
9605
9606 2018-04-06  Tom Tromey  <tom@tromey.com>
9607
9608         * value.c (~value): Update.
9609         (struct value) <contents>: Now unique_xmalloc_ptr.
9610         (value_contents_bits_eq, allocate_value_contents)
9611         (value_contents_raw, value_contents_all_raw)
9612         (value_contents_for_printing, value_contents_for_printing_const)
9613         (set_value_enclosing_type): Update.
9614
9615 2018-04-06  Tom Tromey  <tom@tromey.com>
9616
9617         * value.c (range_s): Remove typedef, VEC.
9618         (struct range): Add operator<.
9619         (range_lessthan): Remove.
9620         (ranges_contain): Change type.
9621         (~value): Update.
9622         (struct value) <unavailable, optimized_out>: Now std::vector.
9623         (value_entirely_available)
9624         (value_entirely_covered_by_range_vector)
9625         (value_entirely_unavailable, value_entirely_optimized_out):
9626         Update.
9627         (insert_into_bit_range_vector): Change argument type.
9628         (find_first_range_overlap): Likewise.
9629         (struct ranges_and_idx, value_contents_bits_eq)
9630         (require_not_optimized_out, require_available): Update.
9631         (ranges_copy_adjusted): Change argument types.
9632         (value_optimized_out, value_copy, value_fetch_lazy): Update.
9633
9634 2018-04-06  Tom Tromey  <tom@tromey.com>
9635
9636         * value.c (~value): Update.
9637         (struct value) <parent>: Now a value_ref_ptr.
9638         (value_parent, set_value_parent, value_address, value_copy):
9639         Update.
9640
9641 2018-04-06  Tom Tromey  <tom@tromey.com>
9642
9643         * value.c (struct value): Add constructor, destructor, and member
9644         initializers.
9645         (allocate_value_lazy, value_decref): Update.
9646
9647 2018-04-06  Tom Tromey  <tom@tromey.com>
9648
9649         * value.c (struct value) <released, next>: Remove.
9650         (all_values): Now a std::vector.
9651         (allocate_value_lazy): Update.
9652         (value_next): Remove.
9653         (value_mark, value_free_to_mark, release_value)
9654         (value_release_to_mark): Update.
9655
9656 2018-04-06  Tom Tromey  <tom@tromey.com>
9657
9658         * value.h (fetch_subexp_value, value_release_to_mark): Update.
9659         (free_value_chain): Remove.
9660         * value.c (free_value_chain): Remove.
9661         (value_release_to_mark): Return a std::vector.
9662         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
9663         std::vector.
9664         (check_condition): Update.
9665         * eval.c (fetch_subexp_value): Change "val_chain" to a
9666         std::vector.
9667         * breakpoint.c (update_watchpoint): Update.
9668         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
9669
9670 2018-04-06  Tom Tromey  <tom@tromey.com>
9671
9672         * value.h (free_all_values): Remove.
9673         * value.c (free_all_values): Remove.
9674
9675 2018-04-06  Tom Tromey  <tom@tromey.com>
9676
9677         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
9678         (value_history_chain, value_history_count): Remove.
9679         (value_history): New global.
9680         (record_latest_value, access_value_history, show_values)
9681         (preserve_values): Update.
9682
9683 2018-04-06  Tom Tromey  <tom@tromey.com>
9684
9685         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
9686         * varobj.c (varobj_set_display_format, varobj_set_value)
9687         (install_default_visualizer, construct_visualizer)
9688         (install_new_value, ~varobj, varobj_get_value_type)
9689         (my_value_of_variable, varobj_editable_p): Update.
9690         * c-varobj.c (c_describe_child, c_value_of_variable)
9691         (cplus_number_of_children, cplus_describe_child): Update.
9692         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
9693         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
9694         (ada_value_of_variable, ada_value_is_changeable_p): Update.
9695
9696 2018-04-06  Tom Tromey  <tom@tromey.com>
9697
9698         * printcmd.c (last_examine_address): Change type to
9699         value_ref_ptr.
9700         (do_examine, x_command): Update.
9701
9702 2018-04-06  Tom Tromey  <tom@tromey.com>
9703
9704         * value.c (release_value): Update.
9705         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
9706         (struct bpstats) <val>: Now a value_ref_ptr.
9707         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9708         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9709         (~watchpoint, print_it_watchpoint, watch_command_1)
9710         (invalidate_bp_value_on_memory_change): Update.
9711
9712 2018-04-06  Tom Tromey  <tom@tromey.com>
9713
9714         * varobj.c (varobj_clear_saved_item)
9715         (update_dynamic_varobj_children, install_new_value, ~varobj):
9716         Update.
9717         * value.h (value_incref): Move declaration earlier.
9718         (value_decref): Rename from value_free.
9719         (struct value_ref_policy): New.
9720         (value_ref_ptr): New typedef.
9721         (struct value_deleter): Remove.
9722         (gdb_value_up): Remove typedef.
9723         (release_value): Change return type.
9724         (release_value_or_incref): Remove.
9725         * value.c (set_value_parent): Update.
9726         (value_incref): Change return type.
9727         (value_decref): Rename from value_free.
9728         (value_free_to_mark, free_all_values, free_value_chain): Update.
9729         (release_value): Return value_ref_ptr.
9730         (release_value_or_incref): Remove.
9731         (record_latest_value, set_internalvar, clear_internalvar):
9732         Update.
9733         * stack.c (info_frame_command): Don't call value_free.
9734         * python/py-value.c (valpy_dealloc, valpy_new)
9735         (value_to_value_object): Update.
9736         * printcmd.c (do_examine): Update.
9737         * opencl-lang.c (lval_func_free_closure): Update.
9738         * mi/mi-main.c (register_changed_p): Don't call value_free.
9739         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
9740         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
9741         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
9742         value_free.
9743         * guile/scm-value.c (vlscm_free_value_smob)
9744         (vlscm_scm_from_value): Update.
9745         * frame.c (frame_register_unwind, frame_unwind_register_signed)
9746         (frame_unwind_register_unsigned, get_frame_register_bytes)
9747         (put_frame_register_bytes): Don't call value_free.
9748         * findvar.c (address_from_register): Don't call value_free.
9749         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
9750         * dwarf2loc.c (entry_data_value_free_closure)
9751         (value_of_dwarf_reg_entry, free_pieced_value_closure)
9752         (dwarf2_evaluate_loc_desc_full): Update.
9753         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9754         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9755         (~watchpoint, watch_command_1)
9756         (invalidate_bp_value_on_memory_change): Update.
9757         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
9758
9759 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
9760
9761         PR gdb/23022
9762         * warning.m4: Add -Wno-error=deprecated-register.
9763         * configure: Re-generate.
9764
9765 2018-04-05  Tom Tromey  <tom@tromey.com>
9766
9767         * linespec.h: Remove include of "vec.h".
9768
9769 2018-04-05  Tom Tromey  <tom@tromey.com>
9770
9771         * linespec.c (typep): Remove typedef.
9772         (find_methods, find_superclass_methods): Take a std::vector.
9773         (find_method): Use std::vector.
9774
9775 2018-04-05  Tom Tromey  <tom@tromey.com>
9776
9777         * utils.c (compare_strings): Remove.
9778         * utils.h (compare_strings): Remove.
9779         * objc-lang.h (find_imps): Update.
9780         * objc-lang.c (find_methods): Take a std::vector.
9781         (uniquify_strings, find_imps): Likewise.
9782         * linespec.c (find_methods): Take a std::vector.
9783         (decode_objc): Use std::vector.
9784         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
9785         a std::vector.
9786         (find_method, find_function_symbols): Use std::vector.
9787
9788 2018-04-05  Tom Tromey  <tom@tromey.com>
9789
9790         * completer.c (completion_tracker::completion_tracker): Remove
9791         cast.
9792         (completion_tracker::discard_completions): Likewise.
9793         * breakpoint.c (ambiguous_names_p): Remove cast.
9794         * ada-lang.c (_initialize_ada_language): Remove cast.
9795         * utils.h (streq): Update.
9796         (streq_hash): Add new declaration.
9797         * utils.c (streq): Return bool.
9798         (streq_hash): New function.
9799
9800 2018-04-05  Tom Tromey  <tom@tromey.com>
9801
9802         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
9803         Remove a string copy.
9804
9805 2018-04-05  Tom Tromey  <tom@tromey.com>
9806
9807         * linespec.c (filter_results): Use std::vector.
9808         (decode_line_2, decode_line_full): Update.
9809
9810 2018-04-05  Tom Tromey  <tom@tromey.com>
9811
9812         * linespec.c (canonical_to_fullform): Return std::string.
9813         (filter_results): Update.
9814         (struct decode_line_2_item): Add constructor.
9815         <fullform, displayform>: Now std::string.
9816         (decode_line_2_compare_items): Now a std::sort comparator.
9817         (decode_line_2): Update.
9818
9819 2018-04-05  Tom Tromey  <tom@tromey.com>
9820
9821         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
9822         (unexpected_linespec_error): Update.
9823         (linespec_parse_basic, parse_linespec): Update.
9824
9825 2018-04-05  Tom Tromey  <tom@tromey.com>
9826
9827         * linespec.c (linespec_parse_basic): Reindent.
9828
9829 2018-04-05  Tom Tromey  <tom@tromey.com>
9830
9831         * minsyms.h (iterate_over_minimal_symbols): Update.
9832         * minsyms.c (iterate_over_minimal_symbols): Take a
9833         gdb::function_view.
9834         * linespec.c (struct collect_minsyms): Remove.
9835         (compare_msyms): Now a std::sort comparator.
9836         (add_minsym): Add parameters.
9837         (search_minsyms_for_name): Update.  Use std::vector.
9838
9839 2018-04-03  Tom Tromey  <tom@tromey.com>
9840
9841         * mipsread.c (read_alphacoff_dynamic_symtab): Use
9842         gdb::byte_vector.
9843
9844 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9845
9846         * MAINTAINERS (Write After Approval): Add Weimin Pan.
9847
9848 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9849
9850         PR gdb/16959
9851         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
9852         printing static type.
9853
9854 2018-04-01  Tom Tromey  <tom@tromey.com>
9855
9856         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
9857         (rs6000_xfer_shared_libraries): Update.
9858
9859 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
9860
9861         * common/gdb_vecs.h (char_ptr): Remove.
9862         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
9863
9864 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9865
9866         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
9867         with std::vector.
9868         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
9869
9870 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9871
9872         * tracepoint.h (struct uploaded_tp): Initialize fields.
9873         <actions, step_actions, cmd_strings>: Change type to
9874         std::vector<char *>.
9875         * tracepoint.c (get_uploaded_tp): Allocate with new.
9876         (free_uploaded_tps): Free with delete.
9877         (parse_tracepoint_definition): Adjust to std::vector change.
9878         * breakpoint.c (read_uploaded_action): Likewise.
9879         (create_tracepoint_from_upload): Likewise.
9880         * ctf.c (ctf_write_uploaded_tp): Likewise.
9881         (SET_ARRAY_FIELD): Likewise.
9882         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
9883
9884 2018-03-30  Tom Tromey  <tom@tromey.com>
9885
9886         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
9887         std::unique_ptr.
9888         (svr4_keep_data_in_core): Update.
9889         (svr4_read_so_list): Update.
9890
9891 2018-03-30  Tom Tromey  <tom@tromey.com>
9892
9893         * windows-nat.c (handle_output_debug_string, handle_exception):
9894         Update.
9895         * target.h (target_read_string): Update.
9896         * target.c (target_read_string): Change "string" to
9897         unique_xmalloc_ptr.
9898         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
9899         Update.
9900         * solib-frv.c (frv_current_sos): Update.
9901         * solib-dsbt.c (dsbt_current_sos): Update.
9902         * solib-darwin.c (darwin_current_sos): Update.
9903         * linux-thread-db.c (inferior_has_bug): Update.
9904         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
9905         Update.  Remove alloca.
9906         * ada-lang.c (ada_main_name): Update.
9907
9908 2018-03-30  Tom Tromey  <tom@tromey.com>
9909
9910         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
9911         (struct dwo_file_deleter): New.
9912         (dwo_file_up): New typedef.
9913         (open_and_init_dwo_file): Use dwo_file_up.
9914         (free_dwo_file_cleanup): Remove.
9915
9916 2018-03-30  Tom Tromey  <tom@tromey.com>
9917
9918         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
9919         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
9920
9921 2018-03-30  Tom Tromey  <tom@tromey.com>
9922
9923         * dwarf2read.c (class free_cached_comp_units): New class.
9924         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
9925         (free_cached_comp_units): Remove function.
9926
9927 2018-03-30  Tom Tromey  <tom@tromey.com>
9928
9929         * utils.h (make_cleanup_unpush_target): Remove.
9930         * inf-ptrace.c (struct target_unpusher): New.
9931         (target_unpush_up) New typedef.
9932         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
9933         target_unpush_up.
9934         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
9935
9936 2018-03-27  Tom Tromey  <tom@tromey.com>
9937
9938         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
9939
9940 2018-03-27  Pedro Alves  <palves@redhat.com>
9941             Tom Tromey  <tom@tromey.com>
9942
9943         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
9944         destructor.  Now a class.
9945         (gdb_readline_wrapper_cleanup): Remove function.
9946         (gdb_readline_wrapper): Remove cleanups.
9947
9948 2018-03-27  Tom Tromey  <tom@tromey.com>
9949
9950         * typeprint.h (struct type_print_options) <local_typedefs,
9951         global_typedefs>: Remove "struct" keyword.
9952         (class typedef_hash_table): New class.
9953         (recursively_update_typedef_hash, add_template_parameters)
9954         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
9955         (find_typedef_in_hash): Don't declare.
9956         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
9957         (typedef_hash_table::recursively_update): Rename from
9958         recursively_update_typedef_hash.  Now a member.
9959         (typedef_hash_table::add_template_parameters): Rename from
9960         add_template_parameters.  Now a member.
9961         (typedef_hash_table::typedef_hash_table): Now a constructor;
9962         rename from create_typedef_hash.
9963         (typedef_hash_table::~typedef_hash_table): Now a destructor;
9964         rename from free_typedef_hash.
9965         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
9966         (do_free_global_table): Remove.
9967         (typedef_hash_table::typedef_hash_table): New constructor; renamed
9968         from copy_type_recursive.
9969         (create_global_typedef_table): Remove.
9970         (typedef_hash_table::find_global_typedef): Now a member of
9971         typedef_hash_table.
9972         (typedef_hash_table::find_typedef): Rename from
9973         find_typedef_in_hash; now a member.
9974         (whatis_exp): Update.
9975         * extension.h (struct ext_lang_type_printers): Add constructor and
9976         destructor.
9977         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
9978         declare.
9979         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
9980         Now a constructor; rename from start_ext_lang_type_printers.
9981         (ext_lang_type_printers): Now a destructor; rename from
9982         free_ext_lang_type_printers.
9983         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
9984         Update.
9985         (c_type_print_base_struct_union): Update.  Remove cleanups.
9986
9987 2018-03-27  Tom Tromey  <tom@tromey.com>
9988
9989         * dwarf-index-write.c: Include <cmath>.
9990
9991 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9992
9993         * NEWS: Add entry describing new "set|show varsize-limit" command.
9994         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
9995         command.
9996         * printcmd.c (_initialize_printcmd): Add "set var" alias of
9997         "set variable".
9998
9999 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
10000
10001         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
10002         dwarf-index-write.c
10003         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
10004         * dwarf-index-common.c: New file.
10005         * dwarf-index-common.h: New file.
10006         * dwarf-index-write.c: New file.
10007         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
10008         (struct dwarf2_section_info): Move from here.
10009         (dwarf2_section_info_def): Likewise.
10010         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
10011         (offset_type): Likewise.
10012         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
10013         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
10014         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
10015         (byte_swap): Likewise.
10016         (MAYBE_SWAP): Likewise.
10017         (dwarf2_per_cu_ptr): Likewise.
10018         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
10019         (struct tu_stats): Likewise.
10020         (struct dwarf2_per_objfile): Likewise.
10021         (struct dwarf2_per_cu_data): Likewise.
10022         (struct signatured_type): Likewise.
10023         (sig_type_ptr): Likewise.
10024         (DEF_VEC_P (sig_type_ptr)): Likewise.
10025         (INDEX4_SUFFIX): Likewise.
10026         (INDEX5_SUFFIX): Likewise.
10027         (DEBUG_STR_SUFFIX): Likewise.
10028         (dwarf2_read_section): Make non-static.
10029         (mapped_index_string_hash): Move from here.
10030         (dwarf5_djb_hash): Likewise.
10031         (file_write): Likewise.
10032         (class data_buf): Likewise.
10033         (struct symtab_index_entry): Likewise.
10034         (struct mapped_symtab): Likewise.
10035         (find_slot): Likewise.
10036         (hash_expand): Likewise.
10037         (add_index_entry): Likewise.
10038         (uniquify_cu_indices): Likewise.
10039         (class c_str_view): Likewise.
10040         (class c_str_view_hasher): Likewise.
10041         (class vector_hasher): Likewise.
10042         (write_hash_table): Likewise.
10043         (psym_index_map): Likewise.
10044         (struct addrmap_index_data): Likewise.
10045         (add_address_entry): Likewise.
10046         (add_address_entry_worker): Likewise.
10047         (write_address_map): Likewise.
10048         (symbol_kind): Likewise.
10049         (write_psymbols): Likewise.
10050         (struct signatured_type_index_data): Likewise.
10051         (write_one_signatured_type): Likewise.
10052         (recursively_count_psymbols): Likewise.
10053         (recursively_write_psymbols): Likewise.
10054         (class debug_names): Likewise.
10055         (check_dwarf64_offsets): Likewise.
10056         (psyms_seen_size): Likewise.
10057         (write_gdbindex): Likewise.
10058         (write_debug_names): Likewise.
10059         (assert_file_size): Likewise.
10060         (write_psymtabs_to_index): Likewise.
10061         (save_gdb_index_command): Likewise.
10062         (_initialize_dwarf2_read): Don't register the "save gdb-index"
10063         command.
10064         * dwarf2read.h: New file.
10065
10066 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10067
10068         PR gdb/22670
10069         * dwarf2read.c (dwarf2_physname): Do not return the demangled
10070         symbol name if the CU's language stores symbol names in linkage
10071         format.
10072         * language.h (struct language_defn)
10073         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
10074         all instances of this struct.
10075
10076 2018-03-26  Tom Tromey  <tom@tromey.com>
10077
10078         * stack.c (backtrace_command_1): Remove verbose code.
10079
10080 2018-03-26  Tom Tromey  <tom@tromey.com>
10081
10082         * python/py-framefilter.c (py_print_type): Don't catch
10083         exceptions.  Return void.
10084         (py_print_value): Likewise.
10085         (py_print_single_arg): Likewise.
10086         (enumerate_args): Don't catch exceptions.
10087         (py_print_args): Likewise.
10088         (py_print_frame): Likewise.
10089         (gdbpy_apply_frame_filter): Catch exceptions here.
10090
10091 2018-03-26  Tom Tromey  <tom@tromey.com>
10092
10093         * stack.c (_initialize_stack): Remove trailing newlines from help
10094         text.  Add "Usage" line to "backtrace" help.
10095
10096 2018-03-26  Tom Tromey  <tom@tromey.com>
10097
10098         PR python/16486:
10099         * python/py-framefilter.c (py_print_args): Call wrap_hint.
10100
10101 2018-03-26  Tom Tromey  <tom@tromey.com>
10102
10103         * python/py-framefilter.c (py_print_single_arg): Return
10104         EXT_LANG_BT_ERROR from catch.
10105
10106 2018-03-26  Tom Tromey  <tom@tromey.com>
10107
10108         PR backtrace/15584:
10109         * stack.c (backtrace_command_1): Move some code into no-filters
10110         "if".
10111
10112 2018-03-26  Tom Tromey  <tom@tromey.com>
10113
10114         * python/py-framefilter.c (throw_quit_or_print_exception): New
10115         function.
10116         (gdbpy_apply_frame_filter): Use it.
10117
10118 2018-03-26  Tom Tromey  <tom@tromey.com>
10119
10120         PR cli/17716:
10121         * python/py-framefilter.c (py_print_type, py_print_value)
10122         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
10123         RETURN_MASK_ERROR.
10124
10125 2018-03-26  Tom Tromey  <tom@tromey.com>
10126
10127         * python/py-framefilter.c (enumerate_args): Use
10128         gdb::unique_xmalloc_ptr.
10129
10130 2018-03-26  Tom Tromey  <tom@tromey.com>
10131
10132         * python/py-framefilter.c (py_print_frame): Return
10133         EXT_LANG_BT_OK.
10134         (gdbpy_apply_frame_filter): Update comment.
10135         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
10136         Remove.
10137         <EXT_LANG_BT_NO_FILTERS>: Change value.
10138
10139 2018-03-26  Tom Tromey  <tom@tromey.com>
10140
10141         PR backtrace/15582:
10142         * stack.c (backtrace_command): Parse "hide" argument.
10143         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
10144         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
10145         constant.
10146
10147 2018-03-26  Tom Tromey  <tom@tromey.com>
10148
10149         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
10150         add "flags".
10151         (backtrace_command): Remove "fulltrace", add "flags".
10152
10153 2018-03-26  Tom Tromey  <tom@tromey.com>
10154
10155         * stack.c (backtrace_command): Rewrite command line parsing.
10156
10157 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10158
10159         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
10160
10161 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10162
10163         * filename-seen-cache.h: Add include guard.
10164
10165 2018-03-26  Keith Seitz  <keiths@redhat.com>
10166
10167         * symfile.c (place_section): Remove "struct" from section_addr_info
10168         in comment.
10169         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
10170         "struct" keyword from section_addr_info.
10171
10172 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
10173
10174         * regformats/regdef.h (reg): Add constructors.
10175
10176 2018-03-25  Pedro Alves  <palves@redhat.com>
10177
10178         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
10179         if then/else bodies in var_func_name extraction.
10180
10181 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
10182
10183         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
10184         lookup_minimal_symbol() to find symbol entry.
10185         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
10186
10187 2018-03-23  Keith Seitz  <keiths@redhat.com>
10188
10189         PR c++/22968
10190         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
10191         nested type definitions for C++, too.
10192
10193 2018-03-23  Tom Tromey  <tom@tromey.com>
10194
10195         * machoread.c (struct oso_el): Add a constructor.  Don't define as
10196         a typedef.
10197         (macho_register_oso): Remove.
10198         (macho_symtab_read): Take a std::vector.
10199         (oso_el_compare_name): Now a std::sort comparator.
10200         (macho_symfile_read_all_oso): Take a std::vector.
10201         (macho_symfile_read): Use std::vector.  Remove cleanups.
10202
10203 2018-03-22  Tom Tromey  <tom@tromey.com>
10204
10205         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
10206         (record_full_goto_bookmark): Use std::string.
10207
10208 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10209
10210         PR tdep/18295
10211         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
10212         a single mask.
10213
10214 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10215
10216         * rs6000-tdep.c (store_insn_p): New function.
10217         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
10218         and cr_reg to their unshifted values. Use store_insn_p to
10219         match LR saves using either R1 or fdata->alloca_reg. Use
10220         store_insn_p to match CR saves. Set alloca_reg_offset
10221         when alloca_reg and framep are set. Remove lr_reg shift
10222         when assigning to fdata->lr_register.
10223
10224 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10225
10226         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
10227         command line args instead of emitting a warning.
10228
10229 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
10230
10231         * tracepoint.h (struct static_tracepoint_marker): Initialize
10232         fields, define default constructor, move constructor and move
10233         assignment, disable the rest.
10234         <str_id, extra>: Make std::string.
10235         (release_static_tracepoint_marker): Remove.
10236         (free_current_marker): Remove.
10237         * tracepoint.c (free_current_marker): Remove.
10238         (parse_static_tracepoint_marker_definition): Adjust to
10239         std::string, use new hex2str overload.
10240         (release_static_tracepoint_marker): Remove.
10241         (print_one_static_tracepoint_marker): Get marker by reference
10242         and adjust to std::string.
10243         (info_static_tracepoint_markers_command): Adjust to std::vector
10244         changes
10245         * target.h (static_tracepoint_marker_p): Remove typedef.
10246         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
10247         (struct target_ops) <to_static_tracepoint_marker_at>: Return
10248         bool.
10249         <to_static_tracepoint_markers_by_strid>: Return std::vector.
10250         * target-debug.h
10251         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
10252         (target_debug_print_std_vector_static_tracepoint_marker): New.
10253         (target_debug_print_struct_static_tracepoint_marker_p): Rename
10254         to...
10255         (target_debug_print_static_tracepoint_marker_p): ... this.
10256         * target-delegates.c: Re-generate.
10257         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
10258         Make std::string.
10259         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
10260         (decode_static_tracepoint_spec): Adjust to std::vector.
10261         (tracepoint_print_one_detail): Adjust to std::string.
10262         (strace_marker_decode_location): Adjust to std::string.
10263         (update_static_tracepoint): Adjust to std::string, remove call
10264         to release_static_tracepoint_marker.
10265         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
10266         Adjust to std::vector.
10267         * remote.c (remote_static_tracepoint_marker_at): Return bool.
10268         (remote_static_tracepoint_markers_by_strid): Adjust to
10269         std::vector.
10270         * common/rsp-low.h (hex2str): New overload with explicit count
10271         of bytes.
10272         * common/rsp-low.c (hex2str): New overload with explicit count
10273         of bytes.
10274         * unittests/rsp-low-selftests.c (test_hex2str): New function.
10275         (_initialize_rsp_low_selftests): Add test_hex2str test.
10276         * unittests/tracepoint-selftests.c
10277         (test_parse_static_tracepoint_marker_definition): Adjust to
10278         std::string.
10279
10280 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
10281
10282         * tracepoint.c (parse_static_tracepoint_marker_definition):
10283         Consider case where the definition is followed by more
10284         definitions.
10285         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10286         tracepoint-selftests.c.
10287         * unittests/tracepoint-selftests.c: New.
10288
10289 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10290
10291         * MAINTAINERS (Write After Approval): Add Pedro Franco de
10292         Carvalho.
10293
10294 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
10295
10296         * symtab.c (find_pc_sect_line): fixed indentation.
10297
10298 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
10299
10300         * symtab.c (find_pc_sect_line): now uses binary search.
10301
10302 2018-03-19  Tom Tromey  <tom@tromey.com>
10303
10304         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
10305         "IDENT" production.
10306
10307 2018-03-19  Pedro Alves  <palves@redhat.com>
10308             Tom Tromey  <tom@tromey.com>
10309
10310         * unittests/observable-selftests.c: New file.
10311         * common/observable.h: New file.
10312         * observable.h: New file.
10313         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
10314         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
10315         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
10316         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
10317         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
10318         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
10319         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
10320         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
10321         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
10322         python/py-breakpoint.c, python/py-finishbreakpoint.c,
10323         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
10324         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
10325         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
10326         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
10327         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
10328         tui/tui-interp.c, valops.c: Update all users.
10329         * tui/tui-hooks.c (tui_bp_created_observer)
10330         (tui_bp_deleted_observer, tui_bp_modified_observer)
10331         (tui_inferior_exit_observer, tui_before_prompt_observer)
10332         (tui_normal_stop_observer, tui_register_changed_observer):
10333         Remove.
10334         (tui_observers_token): New global.
10335         (attach_or_detach, tui_attach_detach_observers): New functions.
10336         (tui_install_hooks, tui_remove_hooks): Use
10337         tui_attach_detach_observers.
10338         * record-btrace.c (record_btrace_thread_observer): Remove.
10339         (record_btrace_thread_observer_token): New global.
10340         * observer.sh: Remove.
10341         * observer.c: Rename to observable.c.
10342         * observable.c (namespace gdb_observers): Define new objects.
10343         (observer_debug): Move into gdb_observers namespace.
10344         (struct observer, struct observer_list, xalloc_observer_list_node)
10345         (xfree_observer_list_node, generic_observer_attach)
10346         (generic_observer_detach, generic_observer_notify): Remove.
10347         (_initialize_observer): Update.
10348         Don't include observer.inc.
10349         * Makefile.in (generated_files): Remove observer.h, observer.inc.
10350         (clean mostlyclean): Likewise.
10351         (observer.h, observer.inc): Remove targets.
10352         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
10353         (COMMON_SFILES): Use observable.c, not observer.c.
10354         * .gitignore: Remove observer.h.
10355
10356 2018-03-18  Tom Tromey  <tom@tromey.com>
10357
10358         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
10359         gdb::def_vector.
10360         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
10361
10362 2018-03-17  Tom Tromey  <tom@tromey.com>
10363
10364         * auto-load.c (auto_load_objfile_script_1): Use std::string.
10365
10366 2018-03-17  Tom Tromey  <tom@tromey.com>
10367
10368         * target.c (class scoped_target_fd): New.
10369         (target_fileio_close_cleanup): Remove.
10370         (target_fileio_read_alloc_1): Use scoped_target_fd.
10371
10372 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
10373
10374         * silent-rules.mk: New.
10375         * Makefile.in: Include silent-rules.mk
10376         (srcdir, VPATH, top_srcdir): Move up.
10377         (COMPILE): Add ECHO_CXX.
10378         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
10379         (init.c): Add ECHO_INIT_C.
10380         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
10381         (version.c): Add ECHO_GEN.
10382         (printcmd.o): Add ECHO_CXX.
10383         (target-float.o): Add ECHO_CXX.
10384         (ada-exp.o): Add ECHO_CXX.
10385         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
10386         (insight$(EXEEXT)): Add ECHO_CXXLD.
10387         * gnulib/configure.ac: Add AM_SILENT_RULES.
10388         * gnulib/aclocal.m4: Re-generate.
10389         * gnulib/configure: Re-generate.
10390         * gnulib/import/Makefile.in: Re-generate.
10391
10392 2018-03-16  Tom Tromey  <tom@tromey.com>
10393
10394         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
10395         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
10396         * utils.c (do_free_section_addr_info)
10397         (make_cleanup_free_section_addr_info): Remove.
10398         * symfile.h (struct other_sections): Add constructor.
10399         (struct section_addr_info): Remove.
10400         (section_addr_info): New typedef.
10401         (struct sym_fns) <sym_offsets>: Change type of parameter.
10402         (build_section_addr_info_from_objfile)
10403         (relative_addr_info_to_section_offsets, addr_info_make_relative)
10404         (default_symfile_offsets, symbol_file_add)
10405         (symbol_file_add_from_bfd)
10406         (build_section_addr_info_from_section_table): Update.
10407         (alloc_section_addr_info, free_section_addr_info): Don't declare.
10408         * symfile.c (alloc_section_addr_info): Remove.
10409         (build_section_addr_info_from_section_table): Change return type.
10410         Update.
10411         (build_section_addr_info_from_bfd)
10412         (build_section_addr_info_from_objfile): Likewise.
10413         (free_section_addr_info): Remove.
10414         (relative_addr_info_to_section_offsets): Change type of "addrs".
10415         (addrs_section_compar): Now a std::sort comparator.
10416         (addrs_section_sort): Change return type.
10417         (addr_info_make_relative): Change type of "addrs".  Update.
10418         (default_symfile_offsets, syms_from_objfile_1)
10419         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
10420         (symbol_file_add_separate): Update.
10421         (symbol_file_add): Change type of "addrs".  Update.
10422         (add_symbol_file_command): Update.  Remove cleanups.
10423         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
10424         cleanups.
10425         * symfile-debug.c (debug_sym_offsets): Change type of "info".
10426         * solib.c (solib_read_symbols): Update.
10427         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
10428         * machoread.c (macho_symfile_offsets): Update.
10429         * jit.c (jit_bfd_try_read_symtab): Update.
10430
10431 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
10432
10433         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10434         unittests/utils-selftests.c.
10435         * unittests/utils-selftests.c: New file.
10436
10437 2018-03-14  Tom Tromey  <tom@tromey.com>
10438
10439         PR cli/14977:
10440         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
10441         for NULL.
10442
10443 2018-03-14  Tom Tromey  <tom@tromey.com>
10444
10445         PR cli/19918:
10446         * printcmd.c (printf_pointer): Allow "-" in format.
10447
10448 2018-03-14  Tom Tromey  <tom@tromey.com>
10449
10450         * printcmd.c (_initialize_printcmd): Add usage to printf.
10451
10452 2018-03-14  Yao Qi  <qiyao@sourceware.org>
10453
10454         * MAINTAINERS: Update my email address.
10455
10456 2018-03-13  Tom Tromey  <tom@tromey.com>
10457
10458         * machoread.c (macho_check_dsym): Change filenamep to a
10459         std::string*.
10460         (macho_symfile_read): Update.
10461         * symfile.c (load_command): Use std::string.
10462
10463 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10464
10465         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
10466         to error message string.
10467         (riscv_register_name): Use xsnprintf instead of sprintf.
10468         (riscv_insn::fetch_instruction): Use gdb_assert instead of
10469         internal_error.
10470         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
10471         error.
10472         (riscv_push_dummy_call): Likewise.
10473
10474 2018-03-12  Tom Tromey  <tom@tromey.com>
10475
10476         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
10477         Use gdb::byte_vector.
10478         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
10479
10480 2018-03-12  Yao Qi  <yao.qi@linaro.org>
10481
10482         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
10483         parameter type to readable_regcache.
10484         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
10485         the declaration.
10486
10487 2018-03-11  Tom Tromey  <tom@tromey.com>
10488
10489         * dwarf2read.c (struct nextfield): Add initializers.
10490         (struct nextfnfield): Remove.
10491         (struct fnfieldlist): Add initializers.  Remove "length" and
10492         "head", use std::vector.
10493         (struct decl_field_list): Remove.
10494         (struct field_info): Add initializers.
10495         <fields, baseclasses>: Now std::vector.
10496         <nbaseclasses, nfnfields, typedef_field_list_count,
10497         nested_types_list_count>: Remove.
10498         (dwarf2_add_field, dwarf2_add_type_defn)
10499         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
10500         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
10501         (process_structure_scope): Update.
10502
10503 2018-03-11  Tom Tromey  <tom@tromey.com>
10504
10505         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
10506         for use by std::sort.
10507         (build_type_psymtabs_1): Use std::vector.
10508
10509 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
10510
10511         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
10512         and LIBMPFR in the printed configuration.
10513
10514 2018-03-08  Tom Tromey  <tom@tromey.com>
10515
10516         * source.c (get_filename_and_charpos): Use scoped_fd.
10517         * nto-procfs.c (procfs_open_1): Use scoped_fd.
10518         (procfs_pidlist): Likewise.
10519         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
10520         (iterate_over_mappings): Likewise.
10521
10522 2018-03-08  Tom Tromey  <tom@tromey.com>
10523
10524         * infcall.c (struct call_return_meta_info)
10525         <stack_temporaries_enabled>: Remove.
10526         (get_call_return_value, call_function_by_hand_dummy): Update.
10527         * thread.c (disable_thread_stack_temporaries): Remove.
10528         (enable_thread_stack_temporaries): Remove.
10529         (thread_stack_temporaries_enabled_p): Return bool.
10530         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
10531         (get_last_thread_stack_temporary): Update.
10532         * eval.c (evaluate_subexp): Update.
10533         * gdbthread.h (class enable_thread_stack_temporaries): Now a
10534         class, not a function.
10535         (value_ptr, value_vec): Remove typedefs.
10536         (class thread_info) <stack_temporaries_enabled>: Now bool.
10537         <stack_temporaries>: Now a std::vector.
10538         (thread_stack_temporaries_enabled_p)
10539         (value_in_thread_stack_temporaries): Return bool.
10540
10541 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
10542
10543         * remote.c (putpkt_binary): Fix omitted bytes reporting.
10544         (getpkt_or_notif_sane_1): Likewise.
10545
10546 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10547
10548         * build-id.c (build_id_to_debug_bfd): Use std::string.
10549
10550 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10551
10552         * build-id.c (find_separate_debug_file_by_buildid): Return
10553         std::string.
10554         * build-id.h (find_separate_debug_file_by_buildid): Return
10555         std::string.
10556         * coffread.c (coff_symfile_read): Adjust to std::string.
10557         * elfread.c (elf_symfile_read): Adjust to std::string.
10558         * symfile.c (separate_debug_file_exists): Change parameter to
10559         std::string.
10560         (find_separate_debug_file): Return std::string.
10561         (find_separate_debug_file_by_debuglink): Return std::string.
10562         * symfile.h (find_separate_debug_file_by_debuglink): Return
10563         std::string.
10564
10565 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10566
10567         * common/xml-utils.c (xml_escape_text): Move code to...
10568         (xml_escape_text_append): ... this new function.
10569         * common/xml-utils.h (xml_escape_text_append): New declaration.
10570         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
10571         New function.
10572         (_initialize_xml_utils): register test_xml_escape_text_append as
10573         a selftest.
10574
10575 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
10576
10577         * defs.h: Remove MAX_REGISTER_SIZE.
10578         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
10579         asserts.
10580         * python/py-unwind.c (pyuw_sniffer): Likewise.
10581
10582 2018-03-07  Tom Tromey  <tom@tromey.com>
10583
10584         * linux-tdep.c (linux_info_proc): Update.
10585         * target.h (struct target_ops) <to_fileio_readlink>: Return
10586         optional<string>.
10587         (target_fileio_readlink): Return optional<string>.
10588         * remote.c (remote_hostio_readlink): Return optional<string>.
10589         * inf-child.c (inf_child_fileio_readlink): Return
10590         optional<string>.
10591         * target.c (target_fileio_readlink): Return optional<string>.
10592
10593 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
10594
10595         * regcache.c (cooked_read_test): Add riscv to the list of
10596         architectures that have a save_reggroup.
10597
10598 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10599
10600         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
10601         value is not a dynamic class object.
10602
10603 2018-03-06  Tom Tromey  <tom@tromey.com>
10604
10605         * rust-exp.y: Formatting fixes.
10606
10607 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10608
10609         * riscv-tdep.c (riscv_register_name): Remove target description
10610         support.
10611         (riscv_gdbarch_init): Remove target description check.
10612
10613 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10614
10615         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
10616         comment.
10617         * riscv-tdep.h: Likewise.
10618
10619 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10620
10621         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
10622         (riscv_pseudo_register_write): Delete.
10623         (riscv_gdbarch_init): Remove all use of pseudo registers.
10624
10625 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10626
10627         * record-btrace.c (btrace_print_lines): Replace cleanup
10628         parameter with RAII equivalents.
10629         (btrace_insn_history): Replace cleanup with RAII equivalents.
10630         * ui-out.h (make_cleanup_ui_out_list_begin_end,
10631         make_cleanup_ui_out_tuple_begin_end): Remove.
10632         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
10633         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
10634         make_cleanup_ui_out_list_begin_end): Remove.
10635
10636 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10637
10638         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
10639         parameter types to std::vector.  Use bool.
10640         (record_btrace_wait): Replace VEC(tp_t) with
10641         std::vector<thread_info *>.
10642         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
10643
10644 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10645
10646         * record-btrace.c (record_btrace_disable_callback): Remove.
10647         (struct scoped_btrace_disable): New.
10648         (record_btrace_open): Use scoped_btrace_disable.
10649
10650 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10651
10652         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
10653         reading values from registers.
10654
10655 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10656
10657         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
10658         where appropriate.
10659
10660 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10661
10662         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
10663         change parameter type.  Use GDB's print functions, and use
10664         core_addr_to_string where appropriate.
10665         (riscv_push_dummy_call): Use core_addr_to_string where
10666         appropriate, update call to riscv_print_arg_location, and reindent
10667         a few lines.
10668         (riscv_return_value): Update call to riscv_print_arg_location.
10669
10670 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10671             Tim Newsome <tim@sifive.com>
10672             Albert Ou <a0u@eecs.berkeley.edu>
10673             Darius Rad <darius@bluespec.com>
10674
10675         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
10676         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
10677         (ALLDEPFILES): Add riscv-tdep.c
10678         * configure.tgt: Add riscv support.
10679         * riscv-tdep.c: New file.
10680         * riscv-tdep.h: New file.
10681         * NEWS: Mention new target.
10682         * MAINTAINERS: Add entry for riscv.
10683
10684 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10685
10686         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
10687         fields within aggregates.
10688
10689 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
10690
10691         * record-btrace.c (btrace_print_lines): Change type of flags to
10692         gdb_disassembly_flags.
10693
10694 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10695
10696         * fbsd-nat.c: Include "inf-ptrace.h".
10697         (USE_SIGTRAP_SIGINFO): Conditionally define.
10698         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
10699         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
10700         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
10701         function.
10702         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
10703         Likewise.
10704         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
10705         Likewise.
10706         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
10707         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
10708         "supports_stopped_by_hw_breakpoint" target methods.
10709
10710 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10711
10712         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
10713         * fbsd-nat.c (debug_fbsd_nat): New variable.
10714         (show_fbsd_nat_debug): New function.
10715         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
10716         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
10717
10718 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10719
10720         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
10721         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
10722         prototype.
10723         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
10724         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
10725         method.
10726
10727 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10728
10729         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
10730         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
10731
10732 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10733
10734         * charset.c (struct charset_vector): New.
10735         (charsets): Change type to charset_vector.
10736         (find_charset_names): Adjust.
10737         (add_one): Adjust.
10738         (_initialize_charset): Adjust.
10739
10740 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10741
10742         * progspace.h (struct program_space) <deleted_solibs>: Change
10743         type to std::vector<std::string>.
10744         * progspace.c (clear_program_space_solib_cache): Adjust.
10745         * breakpoint.c (print_solib_event): Adjust.
10746         (check_status_catch_solib): Adjust.
10747         * solib.c (update_solib_list): Adjust.
10748         * ui-out.h (class ui_out) <field_string>: New overload.
10749         * ui-out.c (ui_out::field_string): New overload.
10750
10751 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10752
10753         * progspace.h (struct program_space): Add constructor and
10754         destructor, initialize fields.
10755         (add_program_space): Remove.
10756         * progspace.c (add_program_space): Rename to...
10757         (program_space::program_space): ... this.
10758         (release_program_space): Rename to...
10759         (program_space::~program_space): ... this.
10760         (delete_program_space): Use delete to delete program_space.
10761         (initialize_progspace): Use new to allocate program_space.
10762         * inferior.c (add_inferior_with_spaces): Likewise.
10763         (clone_inferior_command): Likewise.
10764         * infrun.c (follow_fork_inferior): Likewise.
10765         (handle_vfork_child_exec_or_exit): Likewise.
10766
10767 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10768
10769         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
10770         (delim_string_to_char_ptr_vec): Return std::vector of
10771         gdb::unique_xmalloc_ptr.
10772         (dirnames_to_char_ptr_vec_append): Take std::vector of
10773         gdb::unique_xmalloc_ptr.
10774         (dirnames_to_char_ptr_vec): Return std::vector of
10775         gdb::unique_xmalloc_ptr.
10776         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
10777         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
10778         (delim_string_to_char_ptr_vec): Return an std::vector of
10779         gdb::unique_xmalloc_ptr, adjust the code.
10780         (dirnames_to_char_ptr_vec_append): Take an std::vector of
10781         gdb::unique_xmalloc_ptr, adjust the code.
10782         (dirnames_to_char_ptr_vec): Return an std::vector of
10783         gdb::unique_xmalloc_ptr, adjust the code.
10784         * auto-load.c (auto_load_safe_path_vec): Change type to
10785         std::vector of gdb::unique_xmalloc_ptr.
10786         (auto_load_expand_dir_vars): Return an std::vector of
10787         gdb::unique_xmalloc_ptr, adjust the code.
10788         (auto_load_safe_path_vec_update): Adjust.
10789         (filename_is_in_auto_load_safe_path_vec): Adjust.
10790         (auto_load_objfile_script_1): Adjust.
10791         * build-id.c (build_id_to_debug_bfd): Adjust.
10792         * linux-thread-db.c (thread_db_load_search): Adjust.
10793         * source.c (add_path): Adjust.
10794         (openp): Adjust.
10795         * symfile.c (find_separate_debug_file): Adjust.
10796         * utils.c (do_free_char_ptr_vec): Remove.
10797         (make_cleanup_free_char_ptr_vec): Remove.
10798
10799 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
10800
10801         PR gdb/22907
10802         * common/pathstuff.c: Conditionally include "<windows.h>".
10803
10804 2018-03-01  Georg Sauthoff  <mail@georg.so>
10805
10806         PR gdb/22888
10807         * gcore.in: Quote variables and switch interpreter to bash.
10808
10809 2018-03-01  Tom Tromey  <tom@tromey.com>
10810
10811         * dwarf2read.c (alloc_discriminant_info): Fix default_index
10812         assertion.  Add assertion for discriminant_index.
10813         (quirk_rust_enum): Use correct base type name in univariant case.
10814
10815 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
10816
10817         * record.c (get_call_history_modifiers): Return a
10818         record_print_flags.
10819         (cmd_record_call_history): Adjust.
10820         * record-btrace.c (record_btrace_call_history): Adjust.
10821         (record_btrace_call_history_range): Adjust.
10822         (record_btrace_call_history_from): Adjust.
10823         * target-debug.h (target_debug_print_record_print_flags): New.
10824         * target-delegates.c: Re-generate.
10825         * target.c (target_call_history): Change flags type.
10826         (target_call_history_from): Likewise.
10827         (target_call_history_range): Likewise.
10828         * target.h (struct target_ops) <target_call_history>: Likewise.
10829         (target_call_history_from): Likewise.
10830         (target_call_history_range): Likewise.
10831
10832 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10833             Simon Marchi  <simon.marchi@polymtl.ca>
10834
10835         * common/common-utils.c: Include "sys/stat.h".
10836         (is_regular_file): Move here from "source.c"; change return
10837         type to "bool".
10838         * common/common-utils.h (is_regular_file): New prototype.
10839         * common/pathstuff.c (contains_dir_separator): New function.
10840         * common/pathstuff.h (contains_dir_separator): New prototype.
10841         * source.c: Don't include "sys/stat.h".
10842         (is_regular_file): Move to "common/common-utils.c".
10843
10844 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10845
10846         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
10847         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
10848         * auto-load.c: Include "common/pathstuff.h".
10849         * common/common-def.h (current_directory): Move here.
10850         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
10851         function.
10852         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
10853         prototype.
10854         * common/pathstuff.c: New file.
10855         * common/pathstuff.h: New file.
10856         * compile/compile.c: Include "common/pathstuff.h".
10857         * defs.h (current_directory): Move to "common/common-defs.h".
10858         * dwarf2read.c: Include "common/pathstuff.h".
10859         * exec.c: Likewise.
10860         * guile/scm-safe-call.c: Likewise.
10861         * linux-thread-db.c: Likewise.
10862         * main.c: Likewise.
10863         * nto-tdep.c: Likewise.
10864         * objfiles.c: Likewise.
10865         * source.c: Likewise.
10866         * symtab.c: Likewise.
10867         * utils.c: Include "common/pathstuff.h".
10868         (gdb_realpath): Move to "common/pathstuff.c".
10869         (gdb_realpath_keepfile): Likewise.
10870         (gdb_abspath): Likewise.
10871         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
10872         (gdb_realpath_keepfile): Likewise.
10873         (gdb_abspath): Likewise.
10874
10875 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
10876
10877         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
10878         wildcard process pid for super_resume for kernels with a
10879         specific bug.
10880
10881 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
10882
10883         * compile/compile.c (get_args): Add additional comments
10884         explaining function.
10885
10886 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
10887             Tom Tromey  <tom@tromey.com>
10888
10889         * target.h (memory_write_request_s): Remove typedef.  Don't define
10890         VEC.
10891         (target_write_memory_blocks): Change argument to std::vector.
10892         (struct memory_write_request): Add constructor.
10893         * target-memory.c (compare_block_starting_address): Return bool.
10894         Change argument types.
10895         (claim_memory): Change arguments to use std::vector.
10896         (split_regular_and_flash_blocks, blocks_to_erase)
10897         (compute_garbled_blocks): Likewise.
10898         (cleanup_request_data, cleanup_write_requests_vector): Remove.
10899         (target_write_memory_blocks): Change argument to std::vector.
10900         * symfile.c (struct load_section_data): Add constructor and
10901         destructor.  Use std::vector for "requests".
10902         (struct load_progress_data): Add initializers.
10903         (load_section_callback): Update.  Use "new".
10904         (clear_memory_write_data): Remove.
10905         (generic_load): Update.
10906
10907 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
10908
10909         * arch/aarch64.h: Use common/tdesc.h.
10910
10911 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10912
10913         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
10914         architecture with a 64-bit ABI.
10915
10916 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10917
10918         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
10919         ahead of target description loading.
10920
10921 2018-02-26  Tom Tromey  <tom@tromey.com>
10922
10923         * stack.c (backtrace_command_1): Update.
10924         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
10925         of "flags".
10926         * python/py-framefilter.c (py_print_frame)
10927         (gdbpy_apply_frame_filter): Change type of "flags".
10928         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
10929         of "flags".
10930         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
10931         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
10932         * extension.h (enum frame_filter_flag): Rename from
10933         frame_filter_flags.
10934         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
10935         (apply_ext_lang_frame_filter): Change type of "flags".
10936         * extension.c (apply_ext_lang_frame_filter): Change type of
10937         "flags".
10938         * extension-priv.h (struct extension_language_ops)
10939         <apply_frame_filter>: Change type of "flags".
10940
10941 2018-02-26  Tom Tromey  <tom@tromey.com>
10942
10943         PR python/16497:
10944         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
10945         off-by-one in py_end computation.
10946         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
10947         PRINT_MORE_FRAMES.
10948         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
10949         constant.
10950
10951 2018-02-26  Tom Tromey  <tom@tromey.com>
10952
10953         * dwarf2read.c (struct variant_field): New.
10954         (struct nextfield) <variant>: New field.
10955         (dwarf2_add_field): Handle DW_TAG_variant_part.
10956         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
10957         discriminated union.
10958         (read_structure_type): Handle DW_TAG_variant_part.
10959         (handle_struct_member_die): New function, extracted from
10960         process_structure_scope.  Handle DW_TAG_variant.
10961         (process_structure_scope): Handle discriminated unions.  Call
10962         handle_struct_member_die.
10963
10964 2018-02-26  Tom Tromey  <tom@tromey.com>
10965
10966         * rust-lang.h (rust_last_path_segment): Declare.
10967         * rust-lang.c (rust_last_path_segment): Now public.  Change
10968         contract.
10969         (struct disr_info): Remove.
10970         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
10971         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
10972         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
10973         (rust_enum_p, rust_enum_variant): New function.
10974         (rust_underscore_fields): Remove "offset" parameter.
10975         (rust_print_enum): New function.
10976         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
10977         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
10978         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
10979         enums.
10980         (rust_internal_print_type): New function, from rust_print_type.
10981         Remove enum code.
10982         (rust_print_type): Call rust_internal_print_type.
10983         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
10984         Update enum handling.
10985         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
10986         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
10987         (rust_union_quirks): New functions.
10988         (process_full_comp_unit, process_full_type_unit): Call
10989         rust_union_quirks.
10990         (process_structure_scope): Update rust_unions if necessary.
10991
10992 2018-02-26  Tom Tromey  <tom@tromey.com>
10993
10994         * value.h (value_union_variant): Declare.
10995         * valops.c (value_union_variant): New function.
10996         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
10997         (struct discriminant_info): New.
10998         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
10999         enumerator.
11000         (struct main_type) <flag_discriminated_union>: New field.
11001
11002 2018-02-26  Tom Tromey  <tom@tromey.com>
11003
11004         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11005         unittests/unpack-selftests.c.
11006         * unittests/unpack-selftests.c: New file.
11007         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
11008
11009 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11010
11011         * dwarf2read.c (struct partial_die_info) <read>: New method.
11012         (read_partial_die): Remove the declaration.
11013         (load_partial_dies): Update.
11014         (partial_die_info::partial_die_info):
11015         (read_partial_die): Change it to partial_die_info::read.
11016
11017 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11018
11019         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
11020         (fixup_partial_die): Remove declaration.
11021         (scan_partial_symbols): Update.
11022         (partial_die_parent_scope): Likewise.
11023         (partial_die_full_name): Likewise.
11024         (fixup_partial_die): Change it to partial_die_info::fixup.
11025
11026 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11027
11028         * dwarf2read.c (read_partial_die): Update the declaration.
11029         (load_partial_dies): Caller update.
11030         (read_partial_die): Remove one argument abbrev_len.
11031
11032 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11033
11034         * dwarf2read.c (struct partial_die_info): Add ctor, delete
11035         assignment operator.
11036         (load_partial_dies): Use ctor and copy ctor.
11037         (read_partial_die): Update.
11038         (dwarf2_cu::find_partial_die): Use ctor.
11039
11040 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11041
11042         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
11043         (find_partial_die_in_comp_unit): Change it to
11044         dwarf2_cu::find_partial_die.
11045         (find_partial_die): Update.
11046
11047 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11048
11049         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
11050         is NULL.
11051
11052 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11053
11054         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
11055
11056 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
11057
11058         * arch/amd64.h: Use common/tdesc.h.
11059         * arch/i386.c: Likewise.
11060         * arch/i386.h: Likewise.
11061         * arch/tic6x.c: Likewise.
11062         * arch/tdesc.h: Move file from here...
11063         * common/tdesc.h: ...to here.
11064         * features/aarch64-core.c: Regenerate.
11065         * features/aarch64-fpu.c: Regenerate.
11066         * features/i386/32bit-avx.c: Regenerate.
11067         * features/i386/32bit-avx512.c: Regenerate.
11068         * features/i386/32bit-core.c: Regenerate.
11069         * features/i386/32bit-linux.c: Regenerate.
11070         * features/i386/32bit-mpx.c: Regenerate.
11071         * features/i386/32bit-pkeys.c: Regenerate.
11072         * features/i386/32bit-sse.c: Regenerate.
11073         * features/i386/64bit-avx.c: Regenerate.
11074         * features/i386/64bit-avx512.c: Regenerate.
11075         * features/i386/64bit-core.c: Regenerate.
11076         * features/i386/64bit-linux.c: Regenerate.
11077         * features/i386/64bit-mpx.c: Regenerate.
11078         * features/i386/64bit-pkeys.c: Regenerate.
11079         * features/i386/64bit-segments.c: Regenerate.
11080         * features/i386/64bit-sse.c: Regenerate.
11081         * features/i386/x32-core.c: Regenerate.
11082         * features/tic6x-c6xp.c: Regenerate.
11083         * features/tic6x-core.c: Regenerate.
11084         * features/tic6x-gp.c: Regenerate.
11085         * target-descriptions.c: Use common/tdesc.h.
11086         * target-descriptions.h: Likewise.
11087
11088 2018-02-24  Tom Tromey  <tom@tromey.com>
11089
11090         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
11091         (try_thread_db_load_from_dir, thread_db_load_search): Use
11092         std::string.
11093         (info_auto_load_libthread_db_compare): Return bool.  Change
11094         argument types.
11095         (info_auto_load_libthread_db): Use std::vector, std::string.
11096         Remove cleanups.
11097
11098 2018-02-24  Tom Tromey  <tom@tromey.com>
11099
11100         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
11101         std::string.
11102         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
11103         std::string*.
11104         * gdbarch.c: Rebuild.
11105         * gdbarch.h: Rebuild.
11106         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
11107         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
11108         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
11109         std::string*.
11110
11111 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
11112
11113         * gdbtypes.h (sect_offset): Change type to uint64_t.
11114         (sect_offset_str): New function.
11115         * dwarf2read.c (create_addrmap_from_aranges): Use
11116         sect_offset_str.
11117         (error_check_comp_unit_head): Likewise.
11118         (create_debug_type_hash_table): Likewise.
11119         (read_cutu_die_from_dwo): Likewise.
11120         (init_cutu_and_read_dies): Likewise.
11121         (init_cutu_and_read_dies_no_follow): Likewise.
11122         (process_psymtab_comp_unit_reader): Likewise.
11123         (partial_die_parent_scope): Likewise.
11124         (peek_die_abbrev): Likewise.
11125         (process_queue): Likewise.
11126         (dwarf2_physname): Likewise.
11127         (read_namespace_alias): Likewise.
11128         (read_import_statement): Likewise.
11129         (create_dwo_cu_reader): Likewise.
11130         (create_cus_hash_table): Likewise.
11131         (lookup_dwo_cutu): Likewise.
11132         (inherit_abstract_dies): Likewise.
11133         (read_func_scope): Likewise.
11134         (read_call_site_scope): Likewise.
11135         (dwarf2_add_member_fn): Likewise.
11136         (read_common_block): Likewise.
11137         (read_module_type): Likewise.
11138         (read_typedef): Likewise.
11139         (read_subrange_type): Likewise.
11140         (load_partial_dies): Likewise.
11141         (read_partial_die): Likewise.
11142         (find_partial_die): Likewise.
11143         (read_str_index): Likewise.
11144         (dwarf2_string_attr): Likewise.
11145         (build_error_marker_type): Likewise.
11146         (lookup_die_type): Likewise.
11147         (dump_die_shallow): Likewise.
11148         (follow_die_ref): Likewise.
11149         (dwarf2_fetch_die_loc_sect_off): Likewise.
11150         (dwarf2_fetch_constant_bytes): Likewise.
11151         (follow_die_sig): Likewise.
11152         (get_signatured_type): Likewise.
11153         (get_DW_AT_signature_type): Likewise.
11154         (dwarf2_find_containing_comp_unit): Likewise.
11155         (set_die_type): Likewise.
11156
11157 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
11158
11159         * arch/aarch64.c: Include "common-defs.h".
11160         * arch/amd64.c: Likewise.
11161         * arch/i386.c: Likewise.
11162
11163 2018-02-21  Tom Tromey  <tom@tromey.com>
11164
11165         * value.h: (extract_field_op): Update.
11166         * eval.c (extract_field_op): Return a const char *.
11167         * expression.h (parse_expression_for_completion): Update.
11168         * completer.c (complete_expression): Update.
11169         (add_struct_fields): Make fieldname const.
11170         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
11171         (mark_completion_tag, parse_exp_in_context_1): Update.
11172         (parse_expression_for_completion): Change "name" to
11173         unique_xmalloc_ptr*.
11174
11175 2018-02-21  Tom Tromey  <tom@tromey.com>
11176
11177         * infcall.c (call_function_by_hand_dummy): Use std::vector.
11178
11179 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11180
11181         * avr-tdep.c (avr_read_pc): Change parameter type to
11182         readable_regcache.
11183         * gdbarch.sh (read_pc): Likewise.
11184         * gdbarch.c: Re-generated.
11185         * gdbarch.h: Re-generated.
11186         * hppa-tdep.c (hppa_read_pc): Change parameter type to
11187         readable_regcache.
11188         * ia64-tdep.c (ia64_read_pc): Likewise.
11189         * mips-tdep.c (mips_read_pc): Likewise.
11190         * spu-tdep.c (spu_read_pc): Likewise.
11191
11192 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11193
11194         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
11195         * regcache-dump.c: New file.
11196         * regcache.c: Move register_dump to regcache-dump.c.
11197         (maintenance_print_registers): Likewise.
11198         (maintenance_print_raw_registers): Likewise.
11199         (maintenance_print_cooked_registers): Likewise.
11200         (maintenance_print_register_groups): Likewise.
11201         (maintenance_print_remote_registers): Likewise.
11202         (_initialize_regcache): Likewise.
11203         * regcache.h (register_dump): Moved from regcache.c.
11204
11205 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11206
11207         * regcache.c (regcache::regcache): Update.
11208         (regcache::invalidate): Move it to detached_regcache::invalidate.
11209         (get_thread_arch_aspace_regcache): Update.
11210         (regcache::raw_update): Update.
11211         (regcache::cooked_read): Remove some code.
11212         (regcache::cooked_read_value): Likewise.
11213         (regcache::raw_write): Remove assert on m_readonly_p.
11214         (regcache::raw_supply_integer): Move it to
11215         detached_regcache::raw_supply_integer.
11216         (regcache::raw_supply_zeroed): Likewise.
11217         * regcache.h (detached_regcache) <raw_supply_integer>: New
11218         declaration.
11219         <raw_supply_zeroed, invalidate>: Likewise.
11220         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
11221         <invalidate>: Likewise.
11222         <m_readonly_p>: Removed.
11223
11224 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11225
11226         * infcmd.c (get_return_value): Let stop_regs point to
11227         get_current_regcache.
11228         * regcache.c (regcache::regcache): Remove.
11229         (register_dump_reg_buffer): New class.
11230         (regcache_print): Adjust.
11231         * regcache.h (regcache): Remove constructors.
11232
11233 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11234
11235         * regcache.c (class register_dump): New class.
11236         (register_dump_regcache, register_dump_none): New class.
11237         (register_dump_remote, register_dump_groups): New class.
11238         (regcache_print): Update.
11239         * regcache.h (regcache_dump_what): Move it to regcache.c.
11240         (regcache) <dump>: Remove.
11241
11242 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11243
11244         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
11245          reg_buffer_rw *.
11246         (jit_unwind_reg_set_impl): Call raw_supply.
11247         (jit_frame_sniffer): Use reg_buffer_rw.
11248         * record-full.c (record_full_core_regbuf): Change its type.
11249         (record_full_core_open_1): Use reg_buffer_rw.
11250         (record_full_close): Likewise.
11251         (record_full_core_fetch_registers): Use regcache->raw_supply.
11252         (record_full_core_store_registers): Likewise.
11253         * regcache.c (regcache::get_register_status): Move it to
11254         reg_buffer.
11255         (regcache_raw_set_cached_value): Remove.
11256         (regcache::raw_set_cached_value): Remove.
11257         (regcache::raw_write): Call raw_supply.
11258         (regcache::raw_supply): Move it to reg_buffer_rw.
11259         * regcache.h (regcache_raw_set_cached_value): Remove.
11260         (reg_buffer_rw): New class.
11261
11262 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11263
11264         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
11265         readonly_detached_regcache.
11266         (dummy_frame_prev_register): Use regcache->cooked_read.
11267         * frame.c (frame_save_as_regcache): Change return type.
11268         (frame_pop): Update.
11269         * frame.h (frame_save_as_regcache): Update declaration.
11270         * inferior.h (get_infcall_suspend_state_regcache): Update
11271         declaration.
11272         * infrun.c (infcall_suspend_state) <registers>: use
11273         readonly_detached_regcache.
11274         (save_infcall_suspend_state): Don't use regcache_dup.
11275         (get_infcall_suspend_state_regcache): Change return type.
11276         * linux-fork.c (struct fork_info) <savedregs>: Change to
11277         readonly_detached_regcache.
11278         <pc>: New field.
11279         (fork_save_infrun_state): Don't use regcache_dup.
11280         (info_checkpoints_command): Adjust.
11281         * mi/mi-main.c (register_changed_p): Update declaration.
11282         (mi_cmd_data_list_changed_registers): Use
11283         readonly_detached_regcache.
11284         (register_changed_p): Change parameter type to
11285         readonly_detached_regcache.
11286         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
11287         readonly_detached_regcache.
11288         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
11289         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
11290         New.
11291         (regcache::save): Move it to reg_buffer.
11292         (regcache::restore): Change parameter type.
11293         (regcache_dup): Remove.
11294         * regcache.h (reg_buffer) <save>: New method.
11295         (readonly_detached_regcache): New class.
11296         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
11297         readonly_detached_regcache.
11298         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
11299
11300 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11301
11302         * frame.c (frame_save_as_regcache): Use regcache method save.
11303         (frame_pop): Use regcache method restore.
11304         * infrun.c (restore_infcall_suspend_state): Likewise.
11305         * linux-fork.c (fork_load_infrun_state): Likewise.
11306         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
11307         save.
11308         * regcache.c (regcache_save): Remove.
11309         (regcache::restore): More asserts.
11310         (regcache_cpy): Remove.
11311         * regcache.h (regcache_save): Remove the declaration.
11312         (regcache::restore): Move from private to public.
11313         Remove the friend declaration of regcache_cpy.
11314         (regcache_cpy): Remove declaration.
11315
11316 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11317
11318         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
11319         parameter type to 'readable_regcache *'.
11320         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11321         * arm-tdep.c (arm_neon_quad_read): Likewise.
11322         (arm_pseudo_read): Likewise.
11323         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11324         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11325         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11326         * gdbarch.c: Re-generated.
11327         * gdbarch.h: Re-generated.
11328         * gdbarch.sh (pseudo_register_read): Change parameter type to
11329         'readable_regcache *'.
11330         (pseudo_register_read_value): Likewise.
11331         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
11332         (h8300_pseudo_register_read): Likewise.
11333         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
11334         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11335         (i386_pseudo_register_read_into_value): Likewise.
11336         (i386_pseudo_register_read_value): Likewise.
11337         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
11338         declaration.
11339         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
11340         * m32c-tdep.c (m32c_raw_read): Likewise.
11341         (m32c_read_flg): Likewise.
11342         (m32c_banked_register): Likewise.
11343         (m32c_banked_read): Likewise.
11344         (m32c_sb_read): Likewise.
11345         (m32c_part_read): Likewise.
11346         (m32c_cat_read): Likewise.
11347         (m32c_r3r2r1r0_read): Likewise.
11348         (m32c_pseudo_register_read): Likewise.
11349         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11350         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11351         (mep_pseudo_cr64_read): Likewise.
11352         (mep_pseudo_register_read): Likewise.
11353         * mips-tdep.c (mips_pseudo_register_read): Likewise.
11354         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11355         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11356         * regcache.c (regcache::raw_read): Move it to readable_regcache.
11357         (regcache::cooked_read): Likewise.
11358         (regcache::cooked_read_value): Likewise.
11359         (regcache_cooked_read_signed):
11360         (regcache::cooked_read): Likewise.
11361         * regcache.h (readable_regcache): New class.
11362         (regcache): Inherit readable_regcache.  Move some methods to
11363         readable_regcache.
11364         * rl78-tdep.c (rl78_pseudo_register_read): Change
11365         parameter type to 'readable_regcache *'.
11366         * rs6000-tdep.c (do_regcache_raw_read): Remove.
11367         (e500_pseudo_register_read): Change parameter type to
11368         'readable_regcache *'.
11369         (dfp_pseudo_register_read): Likewise.
11370         (vsx_pseudo_register_read): Likewise.
11371         (efpr_pseudo_register_read): Likewise.
11372         * s390-tdep.c (s390_pseudo_register_read): Likewise.
11373         * sh-tdep.c (sh_pseudo_register_read): Likewise.
11374         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
11375         (sh64_pseudo_register_read): Likewise.
11376         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
11377         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11378         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
11379         (spu_pseudo_register_read): Likewise.
11380         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11381         (xtensa_pseudo_register_read): Likewise.
11382
11383 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11384
11385         * regcache.c (regcache::regcache): Call reg_buffer ctor.
11386         (regcache::arch): Move it to reg_buffer::arch.
11387         (regcache::register_buffer): Likewise.
11388         (regcache::assert_regnum): Likewise.
11389         (regcache::num_raw_registers): Likewise.
11390         * regcache.h (reg_buffer): New class.
11391         (regcache): Inherit reg_buffer.
11392
11393 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
11394
11395         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
11396         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
11397
11398 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
11399
11400         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
11401
11402 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
11403
11404         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
11405         (SFILES): Remove common/*.c files.
11406         (COMMON_OBS): Remove some *.o files built from common/*.c files.
11407         * common/common.host: Add common reference.
11408         * configure.ac: Likewise.
11409         * configure: Regenerate.
11410
11411 2018-02-16  Yao Qi  <yao.qi@linaro.org>
11412
11413         * block.c (block_namespace_info): Inherit allocate_on_obstack.
11414         (block_initialize_namespace): Use new.
11415         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
11416         (dwarf2_free_objfile): Use delete.
11417         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
11418         (copy_type_recursive): Use new.
11419         * gdb_obstack.h (allocate_on_obstack): New.
11420
11421 2018-02-15  Yao Qi  <yao.qi@linaro.org>
11422
11423         PR gdb/22849
11424         * inferior.c (exit_inferior_1): Reset inf->control.
11425
11426 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
11427
11428         * ada-lang.c (ada_to_fixed_value_create): Delete advance
11429         declaration.
11430
11431 2018-02-14  Pedro Alves  <palves@redhat.com>
11432
11433         * frame-unwind.c (frame_unwind_try_unwinder): Always call
11434         frame_cleanup_after_sniffer on exception.
11435
11436 2018-02-14  Tom Tromey  <tom@tromey.com>
11437
11438         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
11439         const.
11440         (solib_bfd_open): Make pathname const.
11441         * solib.c (solib_bfd_open): Make pathname const.
11442         * solib-spu.c (spu_bfd_fopen): Make name const.
11443         (spu_bfd_open): Make pathname const.
11444         * solib-darwin.c (darwin_bfd_open): Make pathname const.
11445         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
11446
11447 2018-02-14  Tom Tromey  <tom@tromey.com>
11448
11449         * symfile.c (symfile_bfd_open): Update.
11450         * source.h (openp, source_full_path_of, find_and_open_source):
11451         Change argument type to unique_xmalloc_ptr.
11452         * source.c (openp): Take a unique_xmalloc_ptr.
11453         (source_full_path_of, find_and_open_source): Likewise.
11454         (open_source_file, symtab_to_fullname): Update.
11455         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
11456         unique_xmalloc_ptr.
11457         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
11458         (exec_file_find): Update.
11459         * psymtab.c (psymtab_to_fullname): Update.
11460         * nto-tdep.h (nto_find_and_open_solib): Update.
11461         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
11462         unique_xmalloc_ptr.
11463         * exec.c (exec_file_attach): Update.
11464         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
11465         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
11466
11467 2018-02-14  Tom Tromey  <tom@tromey.com>
11468
11469         * solib.c: Include source.h.
11470         * nto-tdep.c: Include source.h.
11471         * mi/mi-cmd-env.c: Include source.h.
11472         * infcmd.c: Include source.h.
11473         * exec.c: Include source.h.
11474         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
11475         (add_path, directory_switch, source_path, init_source_path): Move
11476         declarations...
11477         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
11478         (add_path, directory_switch, source_path, init_source_path):
11479         ...here.
11480
11481 2018-02-14  Tom Tromey  <tom@tromey.com>
11482
11483         * solist.h (exec_file_find, solib_find): Return
11484         unique_xmalloc_ptr.
11485         (solib_bfd_fopen): Take a const char *.
11486         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
11487         (exec_file_find, solib_find): Likewise.
11488         (solib_bfd_fopen): Do not take ownership of "pathname".
11489         (solib_bfd_open): Use unique_xmalloc_ptr.
11490         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
11491         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
11492         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
11493         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
11494
11495 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
11496
11497         * ada-lang.c (name_match_type_from_name): Remove reference to
11498         ada_name_for_lookup in function's documentation.
11499         * ada-lang.h (ada_name_for_lookup): Delete declaration.
11500
11501 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11502
11503         * defs.h (enum openp_flags): New enum.
11504         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
11505         Move to enum openp_flags.
11506         (openp_flags): New enum flags.
11507         (openp): Change parameter type to openp_flags.
11508         * source.c (openp): Change parameter type to openp_flags.
11509         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
11510         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
11511
11512 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11513
11514         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
11515         per-command.
11516
11517 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11518
11519         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
11520         into...
11521         (class dwarf2_queue_guard): ...the destructor of this new class.
11522         (dw2_do_instantiate_symtab): Create instance of the new class
11523         dwarf2_queue_guard, remove cleanup.
11524
11525 2018-02-09  Tom Tromey  <tom@tromey.com>
11526
11527         * source.c (find_source_lines): Don't reference past the end of
11528         the vector.
11529
11530 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11531
11532         * remote.c (remote_btrace_maybe_reopen): Change error message.
11533         * btrace.c (btrace_enable): Likewise.
11534         (parse_xml_btrace): Likewise.
11535         (parse_xml_btrace_conf): Likewise.
11536
11537 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11538
11539         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
11540         (linux_enable_pt, linux_enable_bts): Call
11541         diagnose_perf_event_open_fail.
11542
11543 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11544
11545         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
11546         Remove parameter and change return type.  Update callers.  Move it.
11547         (linux_enable_bts, linux_enable_pt): Improve error message.
11548         (linux_enable_pt): Remove zero buffer size check.
11549         (linux_enable_btrace): Improve error messages.  Remove NULL return
11550         check.
11551
11552 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11553
11554         * btrace.c (btrace_enable): Remove target_supports_btrace call.
11555         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
11556         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
11557         (linux_supports_pt, linux_supports_btrace): Remove.
11558         (linux_enable_bts): Call cpu_supports_bts.
11559         * nat/linux-btrace.h (linux_supports_btrace): Remove.
11560         * remote.c (remote_supports_btrace): Remove.
11561         (init_remote_ops): Remove remote_supports_btrace.
11562         * target-delegates.c: Regenerated.
11563         * target.c (target_supports_btrace): Remove.
11564         * target.h (target_ops) <to_supports_btrace>: Remove
11565         (target_supports_btrace): Remove.
11566         * x86-linux-nat.c (x86_linux_create_target): Remove
11567         linux_supports_btrace.
11568
11569 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11570
11571         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
11572         btrace failed.
11573         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
11574         exception and use message in own exception.
11575
11576 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11577
11578         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
11579         (perf_event_pt_event_type): Use gdb_file_up.
11580         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
11581         scoped_fd, and scoped_mmap.
11582
11583 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11584
11585         * common/scoped_mmap.h: New.
11586         * unittests/scoped_mmap-selftest.c: New.
11587         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11588         unittests/scoped_mmap-selftest.c.
11589
11590 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11591
11592         * common/scoped_fd.h: New.
11593         * unittests/scoped_fd-selftest.c: New.
11594         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11595         unittests/scoped_fd-selftest.c.
11596
11597 2018-02-09  Tom Tromey  <tom@tromey.com>
11598
11599         * auto-load.c (auto_load_section_scripts): Use
11600         gdb::unique_xmalloc_ptr.
11601
11602 2018-02-09  Tom Tromey  <tom@tromey.com>
11603
11604         * auto-load.c (execute_script_contents): Use std::string.
11605
11606 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
11607
11608         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
11609         Python function, rather than a new command.
11610
11611 2018-02-08  Tom Tromey  <tom@tromey.com>
11612
11613         * solib.c (solib_find_1): Use std::string.
11614         (solib_bfd_fopen): Use unique_xmalloc_ptr.
11615
11616 2018-02-08  Tom Tromey  <tom@tromey.com>
11617
11618         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
11619
11620 2018-02-08  Tom Tromey  <tom@tromey.com>
11621
11622         * source.c (find_source_lines): Use gdb::def_vector.
11623
11624 2018-02-08  Tom Tromey  <tom@tromey.com>
11625
11626         * macrocmd.c (struct temporary_macro_definition): New.
11627         (macro_define_command): Use temporary_macro_definition.  Remove
11628         cleanups.
11629         (free_macro_definition_ptr): Remove.
11630
11631 2018-02-08  Tom Tromey  <tom@tromey.com>
11632
11633         * macroexp.c (maybe_expand): Use std::string.
11634
11635 2018-02-08  Tom Tromey  <tom@tromey.com>
11636
11637         * macroexp.c (struct macro_buffer): Add initializers for some
11638         members.
11639         (init_buffer, init_shared_buffer, free_buffer)
11640         (free_buffer_return_text): Remove.
11641         (macro_buffer): New constructors.
11642         (~macro_buffer): New destructor.
11643         (macro_buffer::set_shared): New method.
11644         (macro_buffer::resize_buffer, macro_buffer::appendc)
11645         (macro_buffer::appendmem): Now methods, not free functions.
11646         (set_token, append_tokens_without_splicing, stringify)
11647         (macro_stringify): Update.
11648         (gather_arguments): Change return type.  Remove argc_p argument,
11649         add args_ptr argument.  Use std::vector.
11650         (substitute_args): Remove argc argument.  Accept std::vector.
11651         (expand): Update.  Use std::vector.
11652         (scan, macro_expand, macro_expand_next): Update.
11653
11654 2018-02-08  Tom Tromey  <tom@tromey.com>
11655
11656         * symtab.c (default_collect_symbol_completion_matches_break_on):
11657         Use unique_xmalloc_ptr.
11658         * macroscope.h: (sal_macro_scope, user_macro_scope)
11659         (default_macro_scope): Return unique_xmalloc_ptr.
11660         * macroscope.c (sal_macro_scope, user_macro_scope)
11661         (default_macro_scope): Return unique_xmalloc_ptr.
11662         * macroexp.h (macro_expand, macro_expand_once): Return
11663         unique_xmalloc_ptr.
11664         * macroexp.c (macro_expand, macro_expand_once): Return
11665         unique_xmalloc_ptr.
11666         * macrocmd.c (macro_expand_command, macro_expand_once_command)
11667         (info_macro_command, info_macros_command): Use
11668         unique_xmalloc_ptr.
11669         * compile/compile-c-support.c (write_macro_definitions): Use
11670         unique_xmalloc_ptr.
11671         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
11672
11673 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
11674
11675         * value.c (value_static_field): Assign field type instead of
11676         containing type when returning an optimized out value.
11677
11678 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11679
11680         * ft32-tdep.c (ft32_read_pc): Remove.
11681         (ft32_write_pc): Remove.
11682         (ft32_gdbarch_init): Update.
11683         * m32r-tdep.c (m32r_read_pc): Remove.
11684         (m32r_gdbarch_init): Update.
11685         * mep-tdep.c (mep_read_pc): Remove.
11686         (mep_gdbarch_init): Update.
11687         * microblaze-tdep.c (microblaze_write_pc): Remove.
11688         (microblaze_gdbarch_init): Update.
11689         * mn10300-tdep.c (mn10300_read_pc): Remove.
11690         (mn10300_write_pc): Remove.
11691         (mn10300_gdbarch_init): Update.
11692         * moxie-tdep.c (moxie_read_pc): Remove.
11693         (moxie_write_pc): Remove.
11694         (moxie_gdbarch_init): Update.
11695
11696 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11697
11698         * expprint.c (print_subexp_standard): Handle
11699         OP_F77_UNDETERMINED_ARGLIST.
11700         (dump_subexp_body_standard): Likewise.
11701
11702 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
11703
11704         * target-descriptions.c (tdesc_element_visitor) Add empty
11705         implementations.
11706         (tdesc_type): Move make_gdb_type from here.
11707         (tdesc_type_builtin): Likewise.
11708         (tdesc_type_vector): Likewise.
11709         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
11710         (make_gdb_type_struct): Move from tdesc_type_with_fields.
11711         (make_gdb_type_union): Likewise.
11712         (make_gdb_type_flags): Likewise.
11713         (make_gdb_type_enum): Likewise.
11714         (make_gdb_type): New function.
11715         (tdesc_register_type): Use static make_gdb_type.
11716
11717 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
11718
11719         * infcmd.c (default_print_one_register_info): Align natural-format
11720         column values consistently one under another.
11721         (pad_to_column): New function.
11722
11723 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
11724
11725         * dwarf2read.c (dwarf2_physname): Move commment.
11726
11727 2018-02-01  Leszek Swirski  <leszeks@google.com>
11728
11729         * varobj.c (varobj_formatted_print_options): Allow recursive
11730         pretty printing if pretty printing is enabled.
11731
11732 2018-02-01  Leszek Swirski  <leszeks@google.com>
11733
11734         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
11735         names after a structop as a filename.
11736
11737 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11738
11739         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
11740         (arm_record_coproc_data_proc): Likewise.
11741
11742 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11743
11744         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
11745
11746 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
11747
11748         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
11749         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
11750
11751 2018-01-31  Pedro Alves  <palves@redhat.com>
11752
11753         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
11754         * inflow.c (child_terminal_save_inferior): Wrap reference to
11755         tcgetpgrp in HAVE_TERMIOS_H.
11756         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
11757         _WIN32.
11758         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
11759         always iterate over all inferiors.
11760         (gdbsim_cntrl_c): Adjust.
11761         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
11762
11763 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11764
11765         * gdbtypes.c (lookup_array_range_type): Make sure the array's
11766         index type is objfile-owned if the element type is as well.
11767
11768 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11769
11770         GDB 8.1 released.
11771
11772 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11773
11774         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
11775         "features/s390x-linux64.c".
11776         (_initialize_s390_linux_tdep): Remove initialization of tdescs
11777         s390_linux32 and s390x_linux64.
11778         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
11779         default tdesc.
11780         * s390-tdep.c: Include "features/s390-linux32.c" and
11781         "features/s390x-linux64.c".
11782         (s390_tdesc_valid): Add check for tdesc_has_registers.
11783         (s390_gdbarch_init): Make sure there is always a valid tdesc.
11784         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
11785         tdesc_s390x_linux64.
11786         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
11787         tdesc_s390x_linux64 to...
11788         * s390-tdep.h: ...here.
11789
11790 2018-01-30  Pedro Alves  <palves@redhat.com>
11791
11792         PR gdb/13211
11793         * config.in, configure: Regenerate.
11794         * configure.ac: Check for getpgid.
11795         * go32-nat.c (go32_pass_ctrlc): New.
11796         (go32_target): Install it.
11797         * inf-child.c (inf_child_target): Install
11798         child_terminal_save_inferior, child_pass_ctrlc and
11799         child_interrupt.
11800         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
11801         (inf_ptrace_target): No longer install it.
11802         * infcmd.c (interrupt_target_1): Adjust.
11803         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
11804         (child_interrupt): Declare.
11805         (inferior::terminal_state): New.
11806         * inflow.c (struct terminal_info): Update comments.
11807         (inferior_process_group): Delete.
11808         (terminal_is_ours): Delete.
11809         (gdb_tty_state): New.
11810         (child_terminal_init): Adjust.
11811         (is_gdb_terminal, sharing_input_terminal_1)
11812         (sharing_input_terminal): New functions.
11813         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
11814         Set the process's actual process group in the foreground if
11815         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
11816         mark terminal as the inferior's if not sharing GDB's terminal.
11817         Don't check attach_flag.
11818         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
11819         pass down a target_terminal_state.
11820         (child_terminal_save_inferior): New, factored out from ...
11821         (child_terminal_ours_1): ... this.  Handle
11822         target_terminal_state::is_ours_for_output.
11823         (child_interrupt, child_pass_ctrlc): New.
11824         (inflow_inferior_exit): Clear the inferior's terminal_state.
11825         (copy_terminal_info): Copy the inferior's terminal state.
11826         (_initialize_inflow): Remove reference to terminal_is_ours.
11827         * inflow.h (inferior_process_group): Delete.
11828         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
11829         * procfs.c (procfs_target): Don't install procfs_interrupt.
11830         (procfs_interrupt): Delete.
11831         * remote.c (remote_serial_quit_handler): Adjust.
11832         (remote_interrupt): Remove ptid parameter.  Adjust.
11833         * target-delegates.c: Regenerate.
11834         * target.c: Include "terminal.h".
11835         (target_terminal::terminal_state): Rename to ...
11836         (target_terminal::m_terminal_state): ... this.
11837         (target_terminal::init): Adjust.
11838         (target_terminal::inferior): Adjust to per-inferior
11839         terminal_state.
11840         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
11841         (target_terminal::ours, target_terminal::ours_for_output): Use
11842         target_terminal_is_ours_kind.
11843         (target_interrupt): Remove ptid parameter.  Adjust.
11844         (default_target_pass_ctrlc): Adjust.
11845         * target.h (target_ops::to_terminal_save_inferior): New field.
11846         (target_ops::to_interrupt): Remove ptid_t parameter.
11847         (target_interrupt): Remove ptid_t parameter.  Update comment.
11848         (target_pass_ctrlc): Update comment.
11849         * target/target.h (target_terminal_state): New scoped enum,
11850         factored out of ...
11851         (target_terminal::terminal_state): ... here.
11852         (target_terminal::inferior): Update comments.
11853         (target_terminal::restore_inferior): New.
11854         (target_terminal::is_inferior, target_terminal::is_ours)
11855         (target_terminal::is_ours_for_output): Adjust.
11856         (target_terminal::scoped_restore_terminal_state): Adjust to
11857         rename, and call restore_inferior() instead of inferior().
11858         (target_terminal::scoped_restore_terminal_state::m_state): Change
11859         type.
11860         (target_terminal::terminal_state): Rename to ...
11861         (target_terminal::m_terminal_state): ... this and change type.
11862
11863 2018-01-30  Pedro Alves  <palves@redhat.com>
11864
11865         * linux-nat.c (wait_for_signal): New function.
11866         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
11867         directly.
11868         (async_terminal_is_ours)
11869         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
11870         (linux_nat_add_target): Don't override
11871         to_terminal_inferior/to_terminal_ours.
11872
11873 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
11874
11875         * remote.c (remote_follow_fork): Don't call "detach_inferior".
11876
11877 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
11878
11879         * dwarf2read.c (free_dwo_files): Add forward-declaration.
11880         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
11881         dwarf2_per_objfile_free here.
11882         (dwarf2_per_objfile_free): Remove.
11883         (_initialize_dwarf2_read): Don't register
11884         dwarf2_per_objfile_free as a registry cleanup.
11885
11886 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
11887
11888         Avoid compilation errors in MinGW native builds
11889
11890         The error is triggered by including python-internal.h, and the
11891         error message is:
11892
11893              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
11894                       from build-gnulib/import/math.h:27,
11895                       from d:/usr/Python26/include/pyport.h:235,
11896                       from d:/usr/Python26/include/Python.h:58,
11897                       from python/python-internal.h:94,
11898                       from python/py-arch.c:24:
11899              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
11900         using ::hypot;
11901                 ^~~~~
11902
11903         This happens because Python headers define 'hypot' to expand t
11904         '_hypot' in the Windows builds.
11905         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
11906         'hypoth'.  This avoids a compilation error.
11907
11908 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11909
11910         * MAINTAINERS (Write After Approval): Fix ordering.
11911
11912 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11913
11914         * MAINTAINERS (Write After Approval): Add Alan Hayward.
11915
11916 2018-01-26  Alan Modra  <amodra@gmail.com>
11917
11918         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
11919         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
11920         Remove nop.  Make const.  Comment.
11921         (powerpc32_plt_stub_so_2): New.
11922         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
11923         Correct count.  Update uses.
11924         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
11925         Move common code reading PLT entry word.  Correct
11926         powerpc32_plt_stub PLT address calculation.
11927         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
11928         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
11929         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
11930         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
11931         (ppc64_standard_linkage8): Likewise.
11932         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
11933         Correct insns description.
11934         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
11935
11936 2018-01-24  Pedro Alves  <palves@redhat.com>
11937
11938         GCC PR libstdc++/83906
11939         * gdbtypes.c (operator==(const dynamic_prop &,
11940         const dynamic_prop &)): New.
11941         (operator==(const range_bounds &, const range_bounds &)): New.
11942         (check_types_equal): Use them instead of memcmp.
11943         * gdbtypes.h (operator==(const dynamic_prop &,
11944         const dynamic_prop &)): Declare.
11945         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
11946         (operator==(const range_bounds &, const range_bounds &)): Declare.
11947         (operator!=(const range_bounds &, const range_bounds &)): Declare.
11948
11949 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11950
11951         * s390-linux-tdep.c (s390_record_address_mask)
11952         (s390_record_calc_disp_common, s390_record_calc_disp)
11953         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11954         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11955         (s390_process_record): Move to s390-tdep.c.
11956         (s390_linux_init_abi_any): Adjust.
11957         * s390-tdep.c (s390_record_address_mask)
11958         (s390_record_calc_disp_common, s390_record_calc_disp)
11959         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11960         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11961         (s390_process_record): Moved from s390-linux-tdep.c
11962         (s390_gdbarch_init): Adjust.
11963
11964 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11965
11966         * s390-linux-nat.c (s390-tdep.h): New include.
11967         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
11968         (HFILES_NO_SRCDIR): Add s390-tdep.h.
11969         (ALLDEPFILES): Add s390-tdep.c.
11970         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
11971         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
11972         * s390-tdep.h: ...this.  New file.
11973         * s390-linux-tdep.c (s390-tdep.h): New include.
11974         (_initialize_s390_tdep): Rename to...
11975         (_initialize_s390_linux_tdep): ...this and adjust.
11976         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
11977         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
11978         s390-tdep.h.
11979         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
11980         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
11981         (s390_is_partial_instruction, s390_software_single_step)
11982         (is_non_branch_ril, s390_displaced_step_copy_insn)
11983         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
11984         (s390_prologue_data, s390_addr, s390_store, s390_load)
11985         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
11986         (s390_register_call_saved, s390_guess_tracepoint_registers)
11987         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
11988         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
11989         (s390_pseudo_register_name, s390_pseudo_register_type)
11990         (s390_pseudo_register_read, s390_pseudo_register_write)
11991         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
11992         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
11993         (s390_addr_bits_remove, s390_address_class_type_flags)
11994         (s390_address_class_type_flags_to_name)
11995         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
11996         (s390_function_arg_float, s390_function_arg_vector)
11997         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
11998         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
11999         (s390_frame_align, s390_register_return_value, s390_return_value)
12000         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
12001         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
12002         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
12003         (s390_trad_frame_prev_register, s390_unwind_cache)
12004         (s390_prologue_frame_unwind_cache)
12005         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
12006         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
12007         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
12008         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
12009         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
12010         (s390_frame_base_address, s390_local_base_address)
12011         (s390_frame_base, s390_gcc_target_options)
12012         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
12013         (s390_validate_reg_range, s390_tdesc_valid)
12014         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
12015         * s390-tdep.c: ...this.  New file.
12016
12017 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12018
12019         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
12020         (s390_process_record, s390_gdbarch_tdep_alloc)
12021         (s390_linux_init_abi_any): Use/set new hook.
12022
12023 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12024
12025         * s390-linux-tdep.c (osabi.h): New include.
12026         (s390_linux_init_abi_31, s390_linux_init_abi_64)
12027         (s390_linux_init_abi_any): New functions.
12028         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
12029
12030 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12031
12032         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
12033         tdesc_has_registers check
12034
12035 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12036
12037         * s390-linux-tdep.c (s390_tdesc_valid): New function.
12038         (s390_validate_reg_range): New macro.
12039         (s390_gdbarch_init): Adjust.
12040
12041 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12042
12043         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
12044         (s390_gdbarch_tdep_alloc): Adjust.
12045         (s390_gdbarch_init): Adjust.
12046
12047 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12048
12049         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
12050         <have_tdb>: Change type to bool.
12051         (s390_gdbarch_tdep_alloc): Adjust.
12052         (s390_gdbarch_init): Adjust.
12053
12054 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12055
12056         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
12057         (gdbarch_tdep) <have_upper, have_vx>: New fields.
12058         (s390_gdbarch_tdep_alloc): New function.
12059         (s390_gdbarch_init): Allocate tdep at start and use its fields
12060         instead of separate variables.
12061
12062 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12063
12064         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
12065         when looking for cached gdbarch and add comment for remaining.
12066
12067 2018-01-22  Pedro Alves  <palves@redhat.com>
12068             Sergio Durigan Junior  <sergiodj@redhat.com>
12069
12070         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
12071         case.
12072
12073 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
12074
12075         * MAINTAINERS: Update my company e-mail address.
12076
12077 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12078
12079         * regcache.c (cooked_write_test): New function.
12080         (_initialize_regcache): Register the test.
12081
12082 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12083
12084         * ia64-tdep.c (ia64_pseudo_register_read): Call
12085         regcache->cooked_read instead of regcache_cooked_read_unsigned.
12086         * m32c-tdep.c (m32c_cat_read): Likewise.
12087         (m32c_r3r2r1r0_read): Likewise.
12088         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12089         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12090
12091 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12092
12093         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
12094         method raw_read instead of regcache_raw_read.
12095         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12096         * arm-tdep.c (arm_neon_quad_read): Likewise.
12097         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12098         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12099         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12100         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
12101         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12102         (i386_pseudo_register_read_into_value): Likewise.
12103         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12104         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12105         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12106         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
12107         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
12108         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
12109         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12110         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
12111         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
12112
12113 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12114
12115         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
12116         * configure.tgt: Remove target mt.
12117         * mt-tdep.c: Remove.
12118         * regcache.c (cooked_read_test): Remove the check for mt.
12119
12120 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12121
12122         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
12123         instead of gdbarch_pseudo_register_read_value.
12124
12125 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12126
12127         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
12128         language is Ada.
12129
12130 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12131
12132         * linespec.c (create_sals_line_offset): Remove code that preserved
12133         the symtab_and_line's line number.
12134
12135 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12136
12137         * varobj.c (varobj_create): Don't set valid_block when creating a
12138         floating varobj.
12139
12140 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12141
12142         * varobj.c (varobj_create): Remove out of date comment.
12143
12144 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12145
12146         PR mi/20395
12147         * ada-exp.y (write_var_from_sym): Pass extra parameter when
12148         updating innermost block.
12149         * parse.c (innermost_block_tracker::update): Take extra type
12150         parameter, and check types match before updating innermost block.
12151         (write_dollar_variable): Update innermost block for registers.
12152         * parser-defs.h (enum innermost_block_tracker_type): New enum.
12153         (innermost_block_tracker::innermost_block_tracker): Initialise
12154         m_types member.
12155         (innermost_block_tracker::reset): Take type parameter.
12156         (innermost_block_tracker::update): Take type parameter, and pass
12157         type through as needed.
12158         (innermost_block_tracker::m_types): New member.
12159         * varobj.c (varobj_create): Pass type when reseting innermost
12160         block.
12161
12162 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12163
12164         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
12165         * ada-lang.c (resolve_subexp): Likewise.
12166         * breakpoint.c (set_breakpoint_condition) Likewise.
12167         (watch_command_1) Likewise.
12168         * c-exp.y (variable): Likewise.
12169         * d-exp.y (PrimaryExpression): Likewise.
12170         * f-exp.y (variable): Likewise.
12171         * go-exp.y (variable): Likewise.
12172         * m2-exp.y (variable): Likewise.
12173         * objfiles.c (objfile::~objfile): Likewise.
12174         * p-exp.y (variable): Likewise.
12175         * parse.c (innermost_block): Change type.
12176         * parser-defs.h (class innermost_block_tracker): New.
12177         (innermost_block): Change to innermost_block_tracker.
12178         * printcmd.c (display_command): Switch to innermost_block API.
12179         (do_one_display): Likewise.
12180         * rust-exp.y (do_one_display): Likewise.
12181         * symfile.c (clear_symtab_users): Likewise.
12182         * varobj.c (varobj_create): Switch to innermost_block API, replace
12183         use of innermost_block with block stored on varobj object.
12184
12185 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12186
12187         * expression.h (innermost_block): Remove declaration.
12188         * varobj.c: Add 'parser-defs.h' include.
12189
12190 2018-01-19  Tom Tromey  <tom@tromey.com>
12191
12192         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
12193         symbols in the static and global blocks.
12194
12195 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
12196
12197         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
12198         gdb_ptrace.h, and move including gdb_wait.h ...
12199         * nat/linux-ptrace.h: ... to here.
12200
12201 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12202
12203         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
12204         inf_ptrace_detach_success.
12205         (inf_ptrace_detach_success): Add inferior parameter, use it
12206         instead of inferior_ptid, pass it to detach_inferior.
12207         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
12208         parameter.
12209         * inferior.c (detach_inferior): Add overload that takes an
12210         inferior object.
12211         * inferior.h (detach_inferior): Likewise.
12212         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
12213         use inferior_ptid, adjust call to inf_ptrace_detach_success.
12214         * linux-thread-db.c (thread_db_detach): Use inf parameter.
12215
12216 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12217
12218         * target.h (struct target_ops) <to_detach>: Add inferior
12219         parameter.
12220         (target_detach): Likewise.
12221         * target.c (dispose_inferior): Pass inferior down.
12222         (target_detach): Pass inferior down.  Assert that it is equal to
12223         the current inferior.
12224         * aix-thread.c (aix_thread_detach): Pass inferior down.
12225         * corefile.c (core_file_command): Pass current_inferior() down.
12226         * corelow.c (core_detach): Add inferior parameter.
12227         * darwin-nat.c (darwin_detach): Likewise.
12228         * gnu-nat.c (gnu_detach): Likewise.
12229         * inf-ptrace.c (inf_ptrace_detach): Likewise.
12230         * infcmd.c (detach_command): Pass current_inferior() down to
12231         target_detach.
12232         * infrun.c (follow_fork_inferior): Pass parent_inf to
12233         target_detach.
12234         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
12235         target_detach.
12236         * linux-nat.c (linux_nat_detach): Add inferior parameter.
12237         * linux-thread-db.c (thread_db_detach): Likewise.
12238         * nto-procfs.c (procfs_detach): Likewise.
12239         * procfs.c (procfs_detach): Likewise.
12240         * record.c (record_detach): Likewise.
12241         * record.h (struct inferior): Forward-declare.
12242         (record_detach): Add inferior parameter.
12243         * remote-sim.c (gdbsim_detach): Likewise.
12244         * remote.c (remote_detach_1): Likewise.
12245         (remote_detach): Likewise.
12246         (extended_remote_detach): Likewise.
12247         * sol-thread.c (sol_thread_detach): Likewise.
12248         * target-debug.h (target_debug_print_inferior_p): New macro.
12249         * target-delegates.c: Re-generate.
12250         * top.c (kill_or_detach): Pass inferior down to target_detach.
12251         * windows-nat.c (windows_detach): Add inferior parameter.
12252
12253 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12254
12255         * target.h (struct target_ops) <to_detach>: Remove args
12256         parameter.
12257         (target_detach): Likewise.
12258         * target.c (dispose_inferior): Adjust.
12259         (target_detach): Remove args parameter, adjust.
12260         * aix-thread.c (aix_thread_detach): Adjust.
12261         * corefile.c (core_file_command): Adjust.
12262         * corelow.c (core_detach): Adjust.
12263         * darwin-nat.c (darwin_detach): Adjust.
12264         * gnu-nat.c (gnu_detach): Adjust.
12265         * inf-ptrace.c (inf_ptrace_detach): Adjust.
12266         * infcmd.c (detach_command): Adjust
12267         * infrun.c (follow_fork_inferior): Adjust.
12268         (handle_vfork_child_exec_or_exit): Adjust.
12269         * linux-fork.c (linux_fork_detach): Remove args parameter.
12270         * linux-fork.h (linux_fork_detach): Likewise.
12271         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
12272         * linux-thread-db.c (thread_db_detach): Likewise.
12273         * nto-procfs.c (procfs_detach): Likewise.
12274         * procfs.c (procfs_detach): Likewise.
12275         (do_detach): Remove signo parameter.
12276         * record.c (record_detach): Remove args parameter.
12277         * record.h (record_detach): Likewise.
12278         * remote-sim.c (gdbsim_detach): Likewise.
12279         * remote.c (remote_detach_1): Likewise.
12280         (remote_detach): Likewise.
12281         (extended_remote_detach): Likewise.
12282         * sol-thread.c (sol_thread_detach): Likewise.
12283         * target-delegates.c: Re-generate.
12284         * top.c (struct qt_args) <args>: Remove field.
12285         (kill_or_detach): Don't pass args.
12286         (quit_force): Don't set args.
12287         * windows-nat.c (windows_detach): Remove args parameter.
12288
12289 2018-01-19  Yao Qi  <yao.qi@linaro.org>
12290
12291         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
12292         (arm_linux_init_abi): Install it.
12293
12294 2018-01-19  Yao Qi  <yao.qi@linaro.org>
12295
12296         * osabi.c (gdb_osabi_names): Extend the regexp for
12297         arm-linux-gnueabihf.
12298
12299 2018-01-18  Yao Qi  <yao.qi@linaro.org>
12300
12301         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
12302         m_abbrevs.
12303         (abbrev_table::add_abbrev): Update.
12304         (abbrev_table::lookup_abbrev): Update.
12305
12306 2018-01-18  Yao Qi  <yao.qi@linaro.org>
12307
12308         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
12309
12310 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
12311
12312         * compile/compile.c (compile_to_object): Convert "triplet_rx"
12313         to "std::string".
12314
12315 2018-01-17  Tom Tromey  <tom@tromey.com>
12316
12317         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
12318
12319 2018-01-17  Tom Tromey  <tom@tromey.com>
12320
12321         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
12322         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
12323         (create_array_type_with_stride): Update.
12324         * dwarf2read.c (set_die_type): Update.
12325
12326 2018-01-17  Tom Tromey  <tom@tromey.com>
12327
12328         * dwarf2read.c (delayed_method_info): Remove typedef.
12329         (dwarf2_cu::method_info): Now a std::vector.
12330         (add_to_method_list): Update.
12331         (free_delayed_list): Remove.
12332         (compute_delayed_physnames): Update.
12333         (process_full_comp_unit, process_full_type_unit): Clear the method
12334         list.  Remove cleanups.
12335         (psymtab_include_file_name): Add name_holder parameter.  Use
12336         unique_xmalloc_ptr.
12337         (dwarf_decode_lines): Update.
12338
12339 2018-01-17  Tom Tromey  <tom@tromey.com>
12340             Simon Marchi  <simon.marchi@ericsson.com>
12341
12342         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
12343         (dwarf2_per_objfile::free_cached_comp_units)
12344         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
12345         (init_cutu_and_read_dies_no_follow): Update.
12346         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
12347         (dwarf2_cu::~dwarf2_cu): New.
12348         (free_heap_comp_unit, free_stack_comp_unit): Remove.
12349         (age_cached_comp_units, free_one_cached_comp_unit): Update.
12350
12351 2018-01-17  Tom Tromey  <tom@tromey.com>
12352             Simon Marchi  <simon.marchi@ericsson.com>
12353
12354         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
12355         (struct die_reader_specs) <abbrev_table>: New member.
12356         (struct abbrev_table): Add constructor.
12357         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
12358         <abbrev_obstack>: Now an auto_obstack.
12359         (abbrev_table_up): New typedef.
12360         (init_cu_die_reader): Add abbrev_table parameter.
12361         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
12362         Add result_dwo_abbrev_table.
12363         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
12364         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
12365         Update.
12366         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
12367         parameter.
12368         (skip_children): Update.
12369         (abbrev_table::alloc_abbrev): Rename from
12370         abbrev_table_alloc_abbrev.
12371         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
12372         (abbrev_table::lookup_abbrev): Rename from
12373         abbrev_table_lookup_abbrev.
12374         (abbrev_table_read_table): Return abbrev_table_up.
12375         (abbrev_table_free, abbrev_table_free_cleanup)
12376         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
12377         (load_partial_dies): Update.
12378
12379 2018-01-17  Tom Tromey  <tom@tromey.com>
12380
12381         * dwarf2read.c (dwarf2_compute_name): Update comment.
12382         (read_func_scope, read_variable): Update.
12383         (new_symbol): Remove.
12384         (new_symbol_full): Rename to new_symbol.
12385
12386 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
12387
12388         PR gdb/16577
12389         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
12390         a warning instead of throwing an error, set section size to 0 and return
12391         NULL.
12392         * gdb_bfd.h (gdb_bfd_map_section): Update description.
12393
12394 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
12395
12396         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
12397         std::string.
12398         (linux_ptrace_attach_fail_reason_string): Likewise.
12399         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
12400         Likewise.
12401         (linux_ptrace_attach_fail_reason_string): Likewise.
12402         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
12403
12404 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
12405
12406         * linux-nat.c (linux_nat_attach): Remove xstrdup.
12407
12408 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
12409
12410         PR gdb/21559
12411         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
12412         checking for fs_base/gs_base fields in struct user_regs_struct.
12413         * configure: Regenerate.
12414
12415 2018-01-17  Yao Qi  <yao.qi@linaro.org>
12416
12417         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
12418         function.
12419         (aarch64_linux_init_abi): Install it to gdbarch hook
12420         gcc_target_options.
12421
12422 2018-01-15  Pedro Alves  <palves@redhat.com>
12423
12424         * common/signals-state-save-restore.c
12425         (save_original_signals_state): Fix typos.
12426
12427 2017-01-12  Tom Tromey  <tom@tromey.com>
12428             Sergio Durigan Junior  <sergiodj@redhat.com>
12429
12430         * Makefile.in (install-only): Install gdb-add-index.
12431
12432 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
12433
12434         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
12435
12436 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12437
12438         * infrun.c (keep_going_pass_signal): Clear step-over info when
12439         insert_breakpoints fails.
12440
12441 2018-01-11  Pedro Alves  <palves@redhat.com>
12442
12443         PR gdb/22583
12444         * infrun.c (resume): Rename to ...
12445         (resume_1): ... this.
12446         (resume): Reimplement as wrapper around resume_1.
12447
12448 2018-01-11  Pedro Alves  <palves@redhat.com>
12449
12450         PR remote/22597
12451         * remote.c (remote_parse_stop_reply): Default to the last-set
12452         general thread instead of to 'magic_null_ptid'.
12453
12454 2018-01-10  Pedro Alves  <palves@redhat.com>
12455
12456         * language.h (language_get_symbol_name_matcher): Rename ...
12457         (get_symbol_name_matcher): ... this.
12458         * language.c (language_get_symbol_name_matcher): Ditto.
12459         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
12460         callers adjusted.
12461
12462 2018-01-10  Pedro Alves  <palves@redhat.com>
12463
12464         PR gdb/22670
12465         * dwarf2read.c
12466         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
12467         Adjust to use language_get_symbol_name_matcher instead of
12468         language_defn::la_get_symbol_name_matcher.
12469         * language.c (language_get_symbol_name_matcher): If in Ada mode
12470         and the lookup name is a verbatim match, return Ada's matcher.
12471         * language.h (language_get_symbol_name_matcher): Adjust comment.
12472         (ada_lookup_name_info::verbatim_p):: New method.
12473
12474 2018-01-10  Pedro Alves  <palves@redhat.com>
12475
12476         PR gdb/22670
12477         * ada-lang.c (ada_collect_symbol_completion_matches): If the
12478         minsym's language is language_auto or language_cplus, pass down
12479         language_ada instead.
12480         * symtab.c (compare_symbol_name): Don't frob symbol language here.
12481
12482 2018-01-10  Pedro Alves  <palves@redhat.com>
12483
12484         PR gdb/22670
12485         * minsyms.c (linkage_name_str): New function.
12486         (iterate_over_minimal_symbols): Use it.
12487
12488 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12489
12490         * NEWS: Document that 'info proc' now works on FreeBSD.
12491
12492 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12493
12494         * configure.ac: Check for kinfo_getfile in libutil.
12495         * configure: Regenerate.
12496         * config.in: Regenerate.
12497         * fbsd-nat.c: Include "fbsd-tdep.h".
12498         (fbsd_fetch_cmdline): New.
12499         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
12500         rather than calling error.
12501         (fbsd_info_proc): New.
12502         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
12503         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
12504         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
12505
12506 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12507
12508         * fbsd-nat.c (struct free_deleter): Remove.
12509         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
12510
12511 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12512
12513         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
12514         NULL for an empty pathname.
12515
12516 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12517
12518         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
12519         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
12520         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
12521         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
12522         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
12523         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
12524         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
12525         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
12526         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
12527         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
12528         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
12529         (fbsd_core_fetch_timeval, fbsd_print_sigset)
12530         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
12531         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
12532         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
12533
12534 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
12535
12536         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
12537         (gnu_xfer_auxv): New function.
12538         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
12539         TARGET_OBJECT_AUXV.
12540
12541 2018-01-08  Yao Qi  <yao.qi@linaro.org>
12542             Simon Marchi  <simon.marchi@ericsson.com>
12543
12544         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
12545         common/selftest.c.
12546         (COMMON_OBS): Remove selftest.o.
12547         * configure.ac: Append selftest-arch.c and common/selftest.c to
12548         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
12549         * configure: Re-generated.
12550         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
12551         GDB_SELF_TEST.
12552         (maintenance_info_selftests): Likewise.
12553
12554 2018-01-08  Xavier Roirand  <roirand@adacore.com>
12555
12556         * ada-valprint.c (val_print_packed_array_elements): Use
12557         proper number of elements when printing an array indexed
12558         by an enumeration type.
12559
12560 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12561
12562         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
12563         (dw2_get_file_names_reader): Adjust.
12564         (lookup_dwo_signatured_type): Adjust.
12565         (lookup_dwp_signatured_type): Adjust.
12566         (lookup_signatured_type): Adjust.
12567         (create_type_unit_group): Adjust.
12568         (get_type_unit_group): Adjust.
12569         (process_psymtab_comp_unit_reader): Adjust.
12570         (build_type_psymtabs_reader): Adjust.
12571         (scan_partial_symbols): Adjust.
12572         (add_partial_symbol): Adjust.
12573         (add_partial_subprogram): Adjust.
12574         (peek_die_abbrev): Adjust.
12575         (fixup_go_packaging): Adjust.
12576         (process_imported_unit_die): Adjust.
12577         (dwarf2_compute_name): Adjust.
12578         (dwarf2_physname): Adjust.
12579         (read_import_statement): Adjust.
12580         (handle_DW_AT_stmt_list): Adjust.
12581         (read_file_scope): Adjust.
12582         (read_func_scope): Adjust.
12583         (read_lexical_block_scope): Adjust.
12584         (read_call_site_scope): Adjust.
12585         (read_variable): Adjust.
12586         (dwarf2_rnglists_process): Adjust.
12587         (dwarf2_ranges_process): Adjust.
12588         (dwarf2_ranges_read): Adjust.
12589         (dwarf2_get_pc_bounds): Adjust.
12590         (dwarf2_record_block_ranges): Adjust.
12591         (dwarf2_add_field): Adjust.
12592         (dwarf2_add_member_fn): Adjust.
12593         (read_structure_type): Adjust.
12594         (process_structure_scope): Adjust.
12595         (read_enumeration_type): Adjust.
12596         (read_array_type): Adjust.
12597         (mark_common_block_symbol_computed): Adjust.
12598         (read_common_block): Adjust.
12599         (read_namespace_type): Adjust.
12600         (read_namespace): Adjust.
12601         (read_module_type): Adjust.
12602         (read_tag_pointer_type): Adjust.
12603         (read_tag_ptr_to_member_type): Adjust.
12604         (read_tag_string_type): Adjust.
12605         (read_subroutine_type): Adjust.
12606         (read_typedef): Adjust.
12607         (read_base_type): Adjust.
12608         (attr_to_dynamic_prop): Adjust.
12609         (read_subrange_type): Adjust.
12610         (read_unspecified_type): Adjust.
12611         (dwarf2_read_abbrevs): Adjust.
12612         (load_partial_dies): Adjust.
12613         (read_partial_die): Adjust.
12614         (find_partial_die): Adjust.
12615         (guess_partial_die_structure_name): Adjust.
12616         (fixup_partial_die): Adjust.
12617         (read_attribute_value): Adjust.
12618         (read_addr_index): Adjust.
12619         (read_addr_index_from_leb128): Adjust.
12620         (read_str_index): Adjust.
12621         (dwarf2_string_attr): Adjust.
12622         (get_debug_line_section): Adjust.
12623         (dwarf_decode_line_header): Adjust.
12624         (lnp_state_machine::check_line_address): Adjust.
12625         (dwarf_decode_lines_1): Adjust.
12626         (dwarf_decode_lines): Adjust.
12627         (dwarf2_start_symtab): Adjust.
12628         (var_decode_location): Adjust.
12629         (new_symbol_full): Adjust.
12630         (dwarf2_const_value_data): Adjust.
12631         (dwarf2_const_value_attr): Adjust.
12632         (dwarf2_const_value): Adjust.
12633         (die_type): Adjust.
12634         (die_containing_type): Adjust.
12635         (build_error_marker_type): Adjust.
12636         (lookup_die_type): Adjust.
12637         (guess_full_die_structure_name): Adjust.
12638         (anonymous_struct_prefix): Adjust.
12639         (determine_prefix): Adjust.
12640         (dwarf2_name): Adjust.
12641         (follow_die_ref_or_sig): Adjust.
12642         (follow_die_offset): Adjust.
12643         (follow_die_ref): Adjust.
12644         (follow_die_sig_1): Adjust.
12645         (follow_die_sig): Adjust.
12646         (get_signatured_type): Adjust.
12647         (get_DW_AT_signature_type): Adjust.
12648         (decode_locdesc): Adjust.
12649         (dwarf_decode_macros): Adjust.
12650         (cu_debug_loc_section): Adjust.
12651         (fill_in_loclist_baton): Adjust.
12652         (dwarf2_symbol_mark_computed): Adjust.
12653         (init_one_comp_unit): Don't assign
12654         dwarf2_cu::dwarf2_per_objfile.
12655         (set_die_type): Adjust.
12656
12657 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12658
12659         * dwarf2read.c (struct mapped_debug_names): Add constructor.
12660         <dwarf2_per_objfile>: New field.
12661         (dwarf2_per_objfile): Remove global.
12662         (get_dwarf2_per_objfile): New function.
12663         (set_dwarf2_per_objfile): New function.
12664         (dwarf2_build_psymtabs_hard): Change objfile parameter to
12665         dwarf2_per_objfile.
12666         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12667         (read_abbrev_offset): Likewise.
12668         (read_indirect_string): Likewise.
12669         (read_indirect_line_string): Likewise.
12670         (read_indirect_string_at_offset): Likewise.
12671         (read_indirect_string_from_dwz): Likewise.
12672         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12673         dwarf2_per_objfile.
12674         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12675         (create_all_comp_units): Change objfile parameter to
12676         dwarf2_per_objfile.
12677         (create_all_type_units): Likewise.
12678         (process_queue): Add dwarf2_per_objfile parameter.
12679         (read_and_check_comp_unit_head): Likewise.
12680         (lookup_dwo_unit_in_dwp): Likewise.
12681         (get_dwp_file): Likewise.
12682         (process_cu_includes): Likewise.
12683         (struct free_dwo_file_cleanup_data): New struct.
12684         (dwarf2_has_info): Use get_dwarf2_per_objfile and
12685         set_dwarf2_per_objfile.
12686         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
12687         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
12688         context, adjust calls.
12689         (dw2_instantiate_symtab): Likewise.
12690         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
12691         (dw2_get_cu): Likewise.
12692         (create_cu_from_index_list): Change objfile parameter to
12693         dwarf2_per_objfile.
12694         (create_cus_from_index_list): Get dwarf2_per_objfile from
12695         context, adjust calls.
12696         (create_cus_from_index): Likewise.
12697         (create_signatured_type_table_from_index): Change objfile
12698         parameter to dwarf2_per_objfile.
12699         (create_signatured_type_table_from_debug_names): Change objfile
12700         parameter to dwarf2_per_objfile.
12701         (create_addrmap_from_index): Likewise.
12702         (create_addrmap_from_aranges): Likewise.
12703         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
12704         (dw2_setup): Remove.
12705         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
12706         context.
12707         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
12708         get_dwarf2_per_objfile.
12709         (dw2_forget_cached_source_info): Likewise.
12710         (dw2_map_symtabs_matching_filename): Likewise.
12711         (struct dw2_symtab_iterator) <index>: Remove.
12712         <dwarf2_per_objfile>: New field.
12713         (dw2_symtab_iter_init): Replace index parameter with
12714         dwarf2_per_objfile.
12715         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
12716         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
12717         (dw2_print_stats): Likewise.
12718         (dw2_dump): Likewise.
12719         (dw2_expand_symtabs_for_function): Likewise.
12720         (dw2_expand_all_symtabs): Likewise.
12721         (dw2_expand_symtabs_with_fullname): Likewise.
12722         (dw2_expand_marked_cus): Replace index and objfile parameters
12723         with dwarf2_per_objfile.
12724         (dw_expand_symtabs_matching_file_matcher): Add
12725         dwarf2_per_objfile parameter and adjust calls.
12726         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
12727         adjust calls.
12728         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
12729         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
12730         adjust calls.
12731         (create_cus_from_debug_names_list): Replace objfile parameter
12732         with dwarf2_per_objfile and adjust calls.
12733         (create_cus_from_debug_names): Likewise.
12734         (dwarf2_read_debug_names): Likewise.
12735         (mapped_debug_names::namei_to_name): Adjust call.
12736         (dw2_debug_names_iterator::next): Likewise.
12737         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
12738         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
12739         (dw2_debug_names_dump): Likewise.
12740         (dw2_debug_names_expand_symtabs_for_function): Likewise.
12741         (dw2_debug_names_expand_symtabs_matching): Likewise.
12742         (dwarf2_initialize_objfile): Likewise.
12743         (dwarf2_build_psymtabs): Likewise.
12744         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
12745         this_cu.
12746         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
12747         (read_and_check_comp_unit_head): Likewise.
12748         (read_abbrev_offset): Likewise.
12749         (create_debug_type_hash_table): Likewise.
12750         (create_debug_types_hash_table): Likewise.
12751         (create_all_type_units): Replace objfile parameter with
12752         dwarf2_per_objfile.
12753         (add_type_unit): Add dwarf2_per_objfile parameter.
12754         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
12755         with dwarf2_per_objfile.
12756         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
12757         (lookup_dwp_signatured_type): Likewise.
12758         (lookup_signatured_type): Likewise.
12759         (read_cutu_die_from_dwo): Likewise.
12760         (init_tu_and_read_dwo_dies): Likewise.
12761         (init_cutu_and_read_dies): Likewise.
12762         (init_cutu_and_read_dies_no_follow): Likewise.
12763         (allocate_type_unit_groups_table): Add objfile parameter.
12764         (create_type_unit_group): Use dwarf2_per_objfile from cu.
12765         (get_type_unit_group): Likewise.
12766         (process_psymtab_comp_unit): Update call.
12767         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
12768         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
12769         (print_tu_stats): Likewise.
12770         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
12771         in void* parameter.
12772         (build_type_psymtabs): Change objfile parameter to
12773         dwarf2_per_objfile.
12774         (process_skeletonless_type_unit): Use dwarf2_per_objfile
12775         passed in void* parameter.
12776         (process_skeletonless_type_units): Change objfile parameter to
12777         dwarf2_per_objfile.
12778         (set_partial_user): Likewise.
12779         (dwarf2_build_psymtabs_hard): Likewise.
12780         (read_comp_units_from_section): Likewise.
12781         (create_all_comp_units): Likewise.
12782         (scan_partial_symbols): Update calls.
12783         (add_partial_symbol): Likewise.
12784         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
12785         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
12786         (process_queue): Add dwarf2_per_objfile parameter.
12787         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
12788         (compute_compunit_symtab_includes): Likewise.
12789         (process_cu_includes): Add dwarf2_per_objfile parameter.
12790         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
12791         (process_full_type_unit): Likewise.
12792         (process_imported_unit_die): Update call.
12793         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
12794         (read_file_scope): Likewise.
12795         (allocate_dwo_file_hash_table): Add objfile parameter.
12796         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
12797         (create_cus_hash_table): Likewise.
12798         (create_dwp_hash_table): Likewise.
12799         (create_dwo_unit_in_dwp_v1): Likewise.
12800         (create_dwp_v2_section): Likewise.
12801         (create_dwo_unit_in_dwp_v2): Likewise.
12802         (lookup_dwo_unit_in_dwp): Likewise.
12803         (try_open_dwop_file): Likewise.
12804         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
12805         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
12806         cleanup to include a reference to dwarf2_per_objfile.
12807         (open_dwp_file): Add dwarf2_per_objfile parameter.
12808         (open_and_init_dwp_file): Likewise.
12809         (get_dwp_file): Likewise.
12810         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
12811         (queue_and_load_all_dwo_tus): Update call.
12812         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
12813         data.
12814         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
12815         (dwarf2_ranges_process): Likewise.
12816         (dwarf2_get_pc_bounds): Likewise.
12817         (mark_common_block_symbol_computed): Likewise.
12818         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12819         (dwarf2_read_abbrevs): Update call.
12820         (read_partial_die): Use dwarf2_per_objfile from cu.
12821         (find_partial_die): Likewise.
12822         (fixup_partial_die): Likewise.
12823         (read_attribute_value): Likewise.
12824         (read_indirect_string_at_offset_from): Add objfile parameter.
12825         (read_indirect_string_at_offset): Add dwarf2_per_objfile
12826         parameter.
12827         (read_indirect_string_from_dwz): Add objfile parameter.
12828         (read_indirect_string): Add objfile parameter.
12829         (read_addr_index_1): Add dwarf2_per_objfile parameter.
12830         (read_addr_index): Use dwarf2_per_objfile from cu.
12831         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
12832         call dw2_setup.
12833         (read_str_index): Use dwarf2_per_objfile from cu.
12834         (get_debug_line_section): Likewise.
12835         (read_formatted_entries): Add dwarf2_per_objfile parameter.
12836         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
12837         (new_symbol_full): Use dwarf2_per_objfile from cu.
12838         (build_error_marker_type): Likewise.
12839         (lookup_die_type): Likewise.
12840         (determine_prefix): Likewise.
12841         (follow_die_offset): Likewise.
12842         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
12843         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
12844         (dwarf2_fetch_die_type_sect_off): Likewise.
12845         (dwarf2_get_die_type): Likewise.
12846         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
12847         (get_signatured_type): Likewise.
12848         (get_DW_AT_signature_type): Likewise.
12849         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
12850         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
12851         (cu_debug_loc_section): Likewise.
12852         (fill_in_loclist_baton): Likewise.
12853         (dwarf2_symbol_mark_computed): Likewise.
12854         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12855         dwarf2_per_objfile.
12856         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
12857         parameter.
12858         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12859         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
12860         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
12861         (set_die_type): Use dwarf2_free_objfile from cu.
12862         (get_die_type_at_offset): Likewise.
12863         (dwarf2_per_objfile_free): Don't assign global variable.
12864         (debug_names) <constructor>: Add dwarf2_per_objfile
12865         parameter, update m_debugstrlookup construction.
12866         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
12867         parameter.
12868         <m_dwarf2_per_objfile>: New field.
12869         <lookup>: Use m_dwarf2_per_objfile.
12870         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
12871         (psyms_seen_size): Likewise.
12872         (write_gdbindex): Replace objfile parameter with
12873         dwarf2_per_objfile.
12874         (write_debug_names): Likewise.
12875         (write_psymtabs_to_index): Likewise.
12876         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
12877         calls.
12878
12879 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12880
12881         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
12882         <dwarf2_per_objfile>: New field.
12883         (struct dwarf2_per_cu_data) <objfile>: Remove.
12884         <dwarf2_per_objfile>: New field.
12885         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
12886         of objfile.
12887         (create_signatured_type_table_from_index): Likewise.
12888         (create_debug_type_hash_table): Likewise.
12889         (fill_in_sig_entry_from_dwo_entry): Likewise.
12890         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
12891         (create_type_unit_group): Assign dwarf2_per_objfile instead of
12892         objfile.
12893         (create_partial_symtab): Access objfile through
12894         dwarf2_per_objfile.
12895         (process_psymtab_comp_unit_reader): Likewise.
12896         (read_comp_units_from_section): Likewise.
12897         (scan_partial_symbols): Likewise.
12898         (add_partial_symbol): Likewise.
12899         (add_partial_subprogram): Likewise.
12900         (peek_die_abbrev): Likewise.
12901         (fixup_go_packaging): Likewise.
12902         (process_full_comp_unit): Likewise.
12903         (process_full_type_unit): Likewise.
12904         (process_imported_unit_die): Likewise.
12905         (dwarf2_compute_name): Likewise.
12906         (dwarf2_physname): Likewise.
12907         (read_import_statement): Likewise.
12908         (create_cus_hash_table): Assign dwarf2_physname instead of
12909         objfile.
12910         (read_func_scope): Access objfile through dwarf2_per_objfile.
12911         (read_lexical_block_scope): Likewise.
12912         (read_call_site_scope): Likewise.
12913         (read_variable): Likewise.
12914         (dwarf2_rnglists_process): Likewise.
12915         (dwarf2_ranges_process): Likewise.
12916         (dwarf2_ranges_read): Likewise.
12917         (dwarf2_record_block_ranges): Likewise.
12918         (dwarf2_add_field): Likewise.
12919         (dwarf2_add_member_fn): Likewise.
12920         (read_structure_type): Likewise.
12921         (process_structure_scope): Likewise.
12922         (read_enumeration_type): Likewise.
12923         (read_array_type): Likewise.
12924         (read_common_block): Likewise.
12925         (read_namespace_type): Likewise.
12926         (read_namespace): Likewise.
12927         (read_module_type): Likewise.
12928         (read_tag_pointer_type): Likewise.
12929         (read_tag_ptr_to_member_type): Likewise.
12930         (read_tag_string_type): Likewise.
12931         (read_subroutine_type): Likewise.
12932         (read_typedef): Likewise.
12933         (read_base_type): Likewise.
12934         (attr_to_dynamic_prop): Likewise.
12935         (read_subrange_type): Likewise.
12936         (read_unspecified_type): Likewise.
12937         (load_partial_dies): Likewise.
12938         (read_partial_die): Likewise.
12939         (find_partial_die): Likewise.
12940         (guess_partial_die_structure_name): Likewise.
12941         (fixup_partial_die): Likewise.
12942         (read_attribute_value): Likewise.
12943         (read_addr_index_from_leb128): Likewise.
12944         (dwarf2_read_addr_index): Likewise.
12945         (dwarf2_string_attr): Likewise.
12946         (lnp_state_machine::check_line_address): Likewise.
12947         (dwarf_decode_lines_1): Likewise.
12948         (dwarf_decode_lines): Likewise.
12949         (dwarf2_start_symtab): Likewise.
12950         (var_decode_location): Likewise.
12951         (new_symbol_full): Likewise.
12952         (dwarf2_const_value_data): Likewise.
12953         (dwarf2_const_value_attr): Likewise.
12954         (dwarf2_const_value): Likewise.
12955         (die_type): Likewise.
12956         (die_containing_type): Likewise.
12957         (lookup_die_type): Likewise.
12958         (guess_full_die_structure_name): Likewise.
12959         (anonymous_struct_prefix): Likewise.
12960         (dwarf2_name): Likewise.
12961         (follow_die_ref_or_sig): Likewise.
12962         (follow_die_offset): Likewise.
12963         (follow_die_ref): Likewise.
12964         (dwarf2_fetch_die_loc_sect_off): Likewise.
12965         (dwarf2_fetch_constant_bytes): Likewise.
12966         (dwarf2_fetch_die_type_sect_off): Likewise.
12967         (dwarf2_get_die_type): Likewise.
12968         (follow_die_sig): Likewise.
12969         (decode_locdesc): Likewise.
12970         (dwarf2_per_cu_objfile): Likewise.
12971         (dwarf2_per_cu_text_offset): Likewise.
12972         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
12973         objfile.
12974         (set_die_type): Access objfile through
12975         dwarf2_per_objfile.
12976
12977 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12978
12979         * valprint.c (converted_character_d): Remove typedef.
12980         (DEF_VEC_O (converted_character_d)): Remove.
12981         (count_next_character): Use std::vector.
12982         (print_converted_chars_to_obstack): Likewise.
12983         (generic_printstr): Likewise.
12984
12985 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12986
12987         * xml-support.h (struct gdb_xml_value): Add constructor.
12988         <value>: Change type to unique_xmalloc_ptr.
12989         (gdb_xml_value_s): Remove typedef.
12990         (DEF_VEC_O (gdb_xml_value_s)): Remove.
12991         (gdb_xml_element_start_handler): Change parameter type to
12992         std::vector.
12993         (xml_find_attribute): Likewise.
12994         * xml-support.c (xml_find_attribute): Change parameter type to
12995         std::vector and adjust.
12996         (gdb_xml_values_cleanup): Remove.
12997         (gdb_xml_parser::start_element): Adjust to std::vector.
12998         (xinclude_start_include): Change paraeter type to std::vector
12999         and adjust.
13000         * btrace.c (check_xml_btrace_version): Likewise.
13001         (parse_xml_btrace_block): Likewise.
13002         (parse_xml_btrace_pt_config_cpu): Likewise.
13003         (parse_xml_btrace_pt): Likewise.
13004         (parse_xml_btrace_conf_bts): Likewise.
13005         (parse_xml_btrace_conf_pt): Likewise.
13006         * memory-map.c (memory_map_start_memory): Likewise.
13007         (memory_map_start_property): Likewise.
13008         * osdata.c (osdata_start_osdata): Likewise.
13009         (osdata_start_item): Likewise.
13010         (osdata_start_column): Likewise.
13011         * remote.c (start_thread): Likewise.
13012         * solib-aix.c (library_list_start_library): Likewise.
13013         (library_list_start_list): Likewise.
13014         * solib-svr4.c (library_list_start_library): Likewise.
13015         (svr4_library_list_start_list): Likewise.
13016         * solib-target.c (library_list_start_segment): Likewise.
13017         (library_list_start_section): Likewise.
13018         (library_list_start_library): Likewise.
13019         (library_list_start_list): Likewise.
13020         * tracepoint.c (traceframe_info_start_memory): Likewise.
13021         (traceframe_info_start_tvar): Likewise.
13022         * xml-syscall.c (syscall_start_syscall): Likewise.
13023         * xml-tdesc.c (tdesc_start_target): Likewise.
13024         (tdesc_start_feature): Likewise.
13025         (tdesc_start_reg): Likewise.
13026         (tdesc_start_union): Likewise.
13027         (tdesc_start_struct): Likewise.
13028         (tdesc_start_flags): Likewise.
13029         (tdesc_start_enum): Likewise.
13030         (tdesc_start_field): Likewise.
13031         (tdesc_start_enum_value): Likewise.
13032         (tdesc_start_vector): Likewise.
13033
13034 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13035
13036         * extension.h (struct xmethod_worker) <clone>: Remove.
13037         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
13038         Remove.
13039         (python_xmethod_worker::clone): Remove.
13040         * valops.c (find_overload_match): Use std::move instead of
13041         clone.
13042
13043 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13044
13045         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
13046         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
13047         <free_xmethod_worker_data>: Remove.
13048         <get_matching_xmethod_workers>: Chance VEC to std::vector.
13049         <get_xmethod_arg_types>: Remove.
13050         <get_xmethod_result_type>: Remove.
13051         <invoke_xmethod>: Remove.
13052         * extension.c (new_xmethod_worker): Remove.
13053         (clone_xmethod_worker): Remove.
13054         (get_matching_xmethod_workers): Return void, pass std::vector by
13055         pointer.
13056         (get_xmethod_arg_types): Rename to...
13057         (xmethod_worker::get_arg_types): ... this, and adjust.
13058         (get_xmethod_result_type): Rename to...
13059         (xmethod_worker::get_result_type): ... this, and adjust.
13060         (invoke_xmethod): Remove.
13061         (free_xmethod_worker): Remove.
13062         (free_xmethod_worker_vec): Remove.
13063         * extension.h (enum ext_lang_rc): Move here from
13064         extension-priv.h.
13065         (struct xmethod_worker): Add constructor and destructor.
13066         <data>: Remove.
13067         <value>: Remove.
13068         <invoke, clone, do_get_result_type, do_get_arg_types>: New
13069         virtual pure methods.
13070         <get_arg_types, get_result_type>: New methods.
13071         (xmethod_worker_ptr): Remove typedef.
13072         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
13073         (xmethod_worker_vec): Remove typedef.
13074         (xmethod_worker_up): New typedef.
13075         (invoke_xmethod): Remove.
13076         (clone_xmethod_worker): Remove.
13077         (free_xmethod_worker): Remove.
13078         (free_xmethod_worker_vec): Remove.
13079         (get_xmethod_arg_types): Remove.
13080         (get_xmethod_result_type): Remove.
13081         * valops.c (find_method_list): Use std::vector, don't use
13082         intermediate vector.
13083         (value_find_oload_method_list): Use std::vector.
13084         (find_overload_match): Use std::vector.
13085         (find_oload_champ): Use std::vector.
13086         * value.c (value_free): Use operator delete.
13087         (value_of_xmethod): Rename to...
13088         (value_from_xmethod): ... this.  Don't assign
13089         xmethod_worker::value, take rvalue-reference.
13090         (result_type_of_xmethod): Adjust.
13091         (call_xmethod): Adjust.
13092         * value.h: Include extension.h.
13093         (struct xmethod_worker): Don't forward-declare.
13094         (value_of_xmethod): Rename to...
13095         (value_from_xmethod): ... this, take rvalue-reference.
13096         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
13097         (struct python_xmethod_worker): ... this, add constructor and
13098         destructor.
13099         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
13100         (gdbpy_free_xmethod_worker_data): Rename to...
13101         (python_xmethod_worker::~python_xmethod_worker): ... this and
13102         adjust.
13103         (gdbpy_clone_xmethod_worker_data): Rename to...
13104         (python_xmethod_worker::clone): ... this and adjust.
13105         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
13106         temporary vector.
13107         (gdbpy_get_xmethod_arg_types): Rename to...
13108         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
13109         (gdbpy_get_xmethod_result_type): Rename to...
13110         (python_xmethod_worker::do_get_result_type): ... this and
13111         adjust.
13112         (gdbpy_invoke_xmethod): Rename to...
13113         (python_xmethod_worker::invoke): ... this and adjust.
13114         (new_python_xmethod_worker): Rename to...
13115         (python_xmethod_worker::python_xmethod_worker): ... this and
13116         adjust.
13117         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
13118         Remove.
13119         (gdbpy_free_xmethod_worker_data): Remove.
13120         (gdbpy_get_matching_xmethod_workers): Use std::vector.
13121         (gdbpy_get_xmethod_arg_types): Remove.
13122         (gdbpy_get_xmethod_result_type): Remove.
13123         (gdbpy_invoke_xmethod): Remove.
13124         * python/python.c (python_extension_ops): Remove obsolete
13125         callbacks.
13126
13127 2018-01-05  Pedro Alves  <palves@redhat.com>
13128
13129         PR gdb/18653
13130         * common/signals-state-save-restore.c
13131         (save_original_signals_state): New parameter 'quiet'.  Warn if we
13132         find a custom handler preinstalled, instead of internal erroring.
13133         But only warn if !quiet.
13134         * common/signals-state-save-restore.h
13135         (save_original_signals_state): New parameter 'quiet'.
13136         * main.c (captured_main_1): Move save_original_signals_state call
13137         after option handling, and pass QUIET.
13138
13139 2018-01-05  Pedro Alves  <palves@redhat.com>
13140
13141         * spu-tdep.c (spu_catch_start): Pass
13142         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
13143
13144 2018-01-05  Pedro Alves  <palves@redhat.com>
13145
13146         PR gdb/22670
13147         * ada-lang.c (literal_symbol_name_matcher): New function.
13148         (ada_get_symbol_name_matcher): Use it for
13149         symbol_name_match_type::SEARCH_NAME.
13150         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
13151         it down instead of assuming symbol_name_match_type::FULL.
13152         * block.h (block_lookup_symbol): New parameter 'match_type'.
13153         * c-valprint.c (print_unpacked_pointer): Use
13154         lookup_symbol_search_name instead of lookup_symbol.
13155         * compile/compile-object-load.c (get_out_value_type): Pass down
13156         symbol_name_match_type::SEARCH_NAME.
13157         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
13158         symbol_name_match_type::FULL.
13159         * cp-support.c (cp_get_symbol_name_matcher): Handle
13160         symbol_name_match_type::SEARCH_NAME.
13161         * infrun.c (insert_exception_resume_breakpoint): Use
13162         lookup_symbol_search_name.
13163         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
13164         * psymtab.c (maintenance_check_psymtabs): Use
13165         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
13166         * stack.c (print_frame_args): Use lookup_symbol_search_name and
13167         SYMBOL_SEARCH_NAME.
13168         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
13169         if symbol_name_match_type::SEARCH_NAME.
13170         (lookup_symbol_in_language): Pass down
13171         symbol_name_match_type::FULL.
13172         (lookup_symbol_search_name): New.
13173         (lookup_language_this): Pass down
13174         symbol_name_match_type::SEARCH_NAME.
13175         (lookup_symbol_aux, lookup_local_symbol): New parameter
13176         'match_type'.  Pass it down.
13177         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
13178         (lookup_symbol_search_name): New declaration.
13179         (lookup_symbol_in_block): New 'match_type' parameter.
13180
13181 2018-01-05  Pedro Alves  <palves@redhat.com>
13182
13183         PR gdb/22670
13184         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
13185         ada_lookup_symbol.
13186         (ada_lookup_symbol): Reimplement in terms of
13187         ada_lookup_symbol_list, bits factored out from
13188         ada_lookup_encoded_symbol.
13189
13190 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13191
13192         * ada-exp.y (write_object_renaming): When subscripting an array
13193         using a symbol as the index, pass the block in call to
13194         ada_lookup_encoded_symbol when looking that symbol up.
13195
13196 2018-01-05  Jerome Guitton  <guitton@adacore.com>
13197
13198         * ada-lang.c (ada_array_length): Use ada_index_type instead of
13199         TYPE_INDEX_TYPE.
13200
13201 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13202
13203         * ada-lang.c (ada_to_fixed_value_create): Add handling of
13204         the case where VALUE_LVAL (val0) is not lval_memory.
13205
13206 2018-01-05  Xavier Roirand  <roirand@adacore.com>
13207
13208         * ada-valprint.c (print_optional_low_bound): Handle
13209         character-indexed array printing like boolean-indexed array
13210         printing.
13211
13212 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13213
13214         * NEWS: Create a new section for the next release branch.
13215         Rename the section of the current branch, now that it has
13216         been cut.
13217
13218 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13219
13220         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
13221         * version.in: Bump version to 8.1.50.DATE-git.
13222
13223 2018-01-03  Xavier Roirand  <roirand@adacore.com>
13224
13225         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
13226         Add field.
13227         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
13228         Add field.
13229         (default_exception_support_info) <catch_handlers_sym>: Add field.
13230         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
13231         (ada_exception_name_addr_1): Add "catch handlers" handling.
13232         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
13233         Update all callers.
13234         (create_excep_cond_exprs) <ex>: Add parameter.
13235         (re_set_exception): Update create_excep_cond_exprs call.
13236         (print_it_exception, print_one_exception, print_mention_exception)
13237         (print_recreate_exception): Add "catch handler" handling.
13238         (allocate_location_catch_handlers, re_set_catch_handlers)
13239         (check_status_catch_handlers, print_it_catch_handlers)
13240         (print_one_catch_handlers, print_mention_catch_handlers)
13241         (print_recreate_catch_handlers): New function.
13242         (catch_handlers_breakpoint_ops): New variable.
13243         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
13244         Add parameter.  Add "catch handler" handling.
13245         (ada_exception_sym_name, ada_exception_breakpoint_ops):
13246         Add "catch handler" handling.
13247         (ada_exception_catchpoint_cond_string): Add "catch handler"
13248         handling.
13249         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
13250         call.
13251         (catch_ada_handlers_command): New function.
13252         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
13253         operations structure.
13254         (_initialize_ada_language): Add "catch handlers" command entry.
13255         * NEWS: Document "catch handlers" feature.
13256
13257 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13258
13259         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
13260         account when creating the array type of the slice.
13261         (ada_value_slice): Likewise.
13262
13263 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13264
13265         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
13266         New enum value.
13267         (create_array_type_with_stride): Add byte_stride_prop parameter.
13268         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
13269         New parameter.  Update all callers in this file.
13270         (array_type_has_dynamic_stride): New function.
13271         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
13272         of arrays with dynamic byte strides.
13273         * dwarf2read.c (read_array_type): Add support for dynamic
13274         DW_AT_byte_stride attributes.
13275
13276 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13277
13278         * dwarf2read.c (read_unspecified_type): Treat
13279         DW_TAG_enumeration_type DIEs from Ada units as stubs.
13280
13281 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13282
13283         Update copyright year range in all GDB files.
13284
13285 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13286
13287         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
13288         and gdb/testsuite/gdb.base/step-line.c.
13289
13290 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13291
13292         * copyright.py (main): Dump the contents of
13293         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
13294         even if BY_HAND is empty.
13295
13296 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13297
13298         * top.c (print_gdb_version): Update Copyright year in version
13299         message.
13300
13301 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13302
13303         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
13304
13305 For older changes see ChangeLog-2017.
13306 \f
13307 Local Variables:
13308 mode: change-log
13309 left-margin: 8
13310 fill-column: 74
13311 version-control: never
13312 coding: utf-8
13313 End: