I noticed that scoped_mmap.h included config.h, and that scoped_mmap.c
included defs.h. This patch fixes both of these problems.
Tested by the buildbot.
gdb/ChangeLog
2019-05-06 Tom Tromey <tom@tromey.com>
* common/scoped_mmap.c: Include common-defs.h.
* common/scoped_mmap.h: Don't include config.h.
This commit applies all changes made after running the gdb/copyright.py
script.
Note that one file was flagged by the script, due to an invalid
copyright header
(gdb/unittests/basic_string_view/element_access/char/empty.cc).
As the file was copied from GCC's libstdc++-v3 testsuite, this commit
leaves this file untouched for the time being; a patch to fix the header
was sent to gcc-patches first.
gdb/ChangeLog:
Update copyright year range in all GDB files.
I noticed a couple of spots in gdb that were opening files but not
marking the file descriptors as close-on-exec. This patch fixes
these.
There are still a few more of these, but they are in code that I can't
compile, so I'd prefer not to touch.
gdb/ChangeLog
2018-09-23 Tom Tromey <tom@tromey.com>
* ctf.c (ctf_start): Use gdb_fopen_cloexec.
* common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
ARI produces this warning for the lines touched in this patch:
warning: gettext: All messages should be marked up with _.
However, in these cases, the message is not translatable (they are
syscall names). Adding an extra set of parentheses silences the
warning.
gdb/ChangeLog:
* common/scoped_mmap.c (mmap_file): Silence ARI warning.
* dwarf-index-cache.c (create_dir_and_check): Likewise.
(test_mkdir_recursive): Likewise.
* dwarf-index-write.c (write_psymtabs_to_index): Likewise.
New in v2:
- As Tom pointed out, we don't need to keep the fd around after
mmapping. This simplifies things quite a bit, since we don't need a
new class. It's now just a function that returns a scoped_mmap.
We already have scoped_mmap, which is a thin RAII layer over mmap. If
one simply wants to mmap an entire file for reading, it takes a bit of
boilerplate. This patch introduces the mmap_file function to make this
easier.
gdb/ChangeLog:
* Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
* common/scoped_mmap.c: New file.
* common/scoped_mmap.h (destroy): New method.
(~scoped_mmap, reset): Use destroy.
(scoped_mmap): New move constructor.
(mmap_file): New declaration.
* unittests/scoped_mmap-selftests.c (test_normal,
test_invalid_filename, run_tests): New functions.
(_initialize_scoped_mmap_selftests): Register selftest.