diff options
author | Tom Tromey <tom@tromey.com> | 2018-09-20 16:04:04 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-10-27 11:58:41 -0600 |
commit | b3279b601e67ce47263082ef86cfc86e25607c5e (patch) | |
tree | 3541a773fd698068cad1ae16a2842257c845eb61 /gdb/gnulib/config.in | |
parent | e418a61a67a3476826259163383e5deb661042cc (diff) | |
download | gdb-b3279b601e67ce47263082ef86cfc86e25607c5e.zip gdb-b3279b601e67ce47263082ef86cfc86e25607c5e.tar.gz gdb-b3279b601e67ce47263082ef86cfc86e25607c5e.tar.bz2 |
Use mkostemp, not mkstemp
I noticed that gdb could leak file descriptors coming from mkstemp.
This patch fixes the problem by importing the gnulib mkostemp instead,
and then changing gdb to pass O_CLOEXEC.
A small gnulib patch was needed. This has already been accepted
upstream.
gdb/ChangeLog
2018-10-27 Tom Tromey <tom@tromey.com>
* unittests/scoped_mmap-selftests.c (test_normal): Use
gdb_mkostemp_cloexec.
* unittests/scoped_fd-selftests.c (test_destroy, test_release):
Use gdb_mkostemp_cloexec.
* gnulib/aclocal-m4-deps.mk, gnulib/aclocal.m4,
gnulib/config.in, gnulib/configure,
gnulib/import/Makefile.am, gnulib/import/Makefile.in,
gnulib/import/m4/gnulib-cache.m4,
gnulib/import/m4/gnulib-comp.m4: Update.
* gnulib/import/m4/mkostemp.m4: New file.
* gnulib/import/m4/mkstemp.m4: Remove.
* gnulib/import/mkostemp.c: New file.
* gnulib/import/mkstemp.m4: Remove.
* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Remove
mkstemp, add mkostemp. Apply new patch.
* gnulib/import/stdlib.in.h: Apply patch.
* gnulib/patches/0002-mkostemp-mkostemps-Fix-compilation-error-in-C-mode-o.patch:
New file.
* dwarf-index-write.c (write_psymtabs_to_index): Use
gdb_mkostemp_cloexec.
* common/filestuff.h (gdb_mkostemp_cloexec): New function.
Diffstat (limited to 'gdb/gnulib/config.in')
-rw-r--r-- | gdb/gnulib/config.in | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/gnulib/config.in b/gdb/gnulib/config.in index d32b192..d23d208 100644 --- a/gdb/gnulib/config.in +++ b/gdb/gnulib/config.in @@ -96,6 +96,10 @@ #undef GNULIB_GETCWD /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module mkostemp shall be considered present. */ +#undef GNULIB_MKOSTEMP + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module openat shall be considered present. */ #undef GNULIB_OPENAT @@ -199,8 +203,8 @@ /* Define to 1 when the gnulib module memrchr should be tested. */ #undef GNULIB_TEST_MEMRCHR -/* Define to 1 when the gnulib module mkstemp should be tested. */ -#undef GNULIB_TEST_MKSTEMP +/* Define to 1 when the gnulib module mkostemp should be tested. */ +#undef GNULIB_TEST_MKOSTEMP /* Define to 1 when the gnulib module open should be tested. */ #undef GNULIB_TEST_OPEN @@ -544,8 +548,8 @@ when it succeeds. */ #undef HAVE_MINIMALLY_WORKING_GETCWD -/* Define to 1 if you have the 'mkstemp' function. */ -#undef HAVE_MKSTEMP +/* Define to 1 if you have the 'mkostemp' function. */ +#undef HAVE_MKOSTEMP /* Define to 1 if you have the 'mprotect' function. */ #undef HAVE_MPROTECT |