glibc/sysdeps
Adhemerval Zanella e0d2eb5a79 linux: Implement tmpfile with O_TMPFILE (BZ#21530)
This patch adds O_TMPFILE support to tmpfile on Linux.  This is
similar to the previous suggestion by Andreas Schwab [1] with the
difference the file descriptor creation is parameterized to
compartmentalize Linux only open flags (O_TMPFILE) on sysdeps.

Checked on x86_64-linux-gnu.

	Adhemerval Zanella  <adhemerval.zanella@linaro.org>
	Andreas Schwab  <schwab@suse.de>

	[BZ #21530]
	* include/stdio.h (__gen_tempfd): New function.
	* stdio-common/Makefile (routines): Add gentempfd.
	* stdio-common/gentempfd.c: New file.
	* sysdeps/unix/sysv/linux/gentempfd.c: Likewise.
	* stdio-common/tmpfile.c (tmpfile): First try to use a system specific
	unnamed file first.

[1] https://sourceware.org/ml/libc-alpha/2017-06/msg01293.html
2017-09-01 09:52:47 -03:00
..
aarch64 ILP32 math changes 2017-08-31 13:38:11 -07:00
alpha Remove sysdeps/alpha/bb_init_func.S 2017-08-20 06:51:15 -07:00
arm elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
generic Remove NO_CANCELLATION macro 2017-08-31 16:10:34 -03:00
gnu Regenerate sysdeps/gnu/errlist.c. 2017-06-04 15:27:14 -04:00
hppa Remove extra semicolons in struct pthread_mutex (bug 21804) 2017-07-24 12:22:05 +02:00
i386 elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
ia64 Simplify HUGE_VAL definitions. 2017-08-31 15:50:50 +00:00
ieee754 Simplify NAN definitions. 2017-08-31 16:39:25 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k Simplify HUGE_VAL definitions. 2017-08-31 15:50:50 +00:00
mach inet: Remove internal_function attribute 2017-08-31 18:52:00 +02:00
microblaze Update Microblaze libm-test-ulps 2017-07-28 09:19:40 -03:00
mips Simplify NAN definitions. 2017-08-31 16:39:25 +00:00
nios2 elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
nptl Remove extra semicolons in struct pthread_mutex (bug 21804) 2017-07-24 12:22:05 +02:00
posix getaddrinfo: Fix error handling in gethosts [BZ #21915] [BZ #21922] 2017-09-01 09:34:29 +02:00
powerpc Provide a C++ version of iszero that does not use __MATH_TG (bug 21930) 2017-08-28 15:22:37 -03:00
pthread aio: Remove internal_function function attribute 2017-08-31 15:59:06 +02:00
s390 S390: Add new s390 platform z14. 2017-08-15 14:00:07 +02:00
sh Simplify HUGE_VAL definitions. 2017-08-31 15:50:50 +00:00
sparc Simplify HUGE_VAL definitions. 2017-08-31 15:50:50 +00:00
tile elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
unix linux: Implement tmpfile with O_TMPFILE (BZ#21530) 2017-09-01 09:52:47 -03:00
wordsize-32 Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
wordsize-64 Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
x86 Simplify HUGE_VAL definitions. 2017-08-31 15:50:50 +00:00
x86_64 elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00