mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
open-tests: port to glibc with _FORTIFY_SOURCE and -O1
Problem reported by Daiki Ueno in: http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00052.html * tests/test-open.h (__always_inline): New macro, if not already defined. (test_open): Use it.
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
2013-12-05 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
open-tests: port to glibc with _FORTIFY_SOURCE and -O1
|
||||||
|
Problem reported by Daiki Ueno in:
|
||||||
|
http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00052.html
|
||||||
|
* tests/test-open.h (__always_inline):
|
||||||
|
New macro, if not already defined.
|
||||||
|
(test_open): Use it.
|
||||||
|
|
||||||
2013-12-04 Eric Blake <eblake@redhat.com>
|
2013-12-04 Eric Blake <eblake@redhat.com>
|
||||||
|
|
||||||
include_next: minimize code duplication
|
include_next: minimize code duplication
|
||||||
|
@@ -16,13 +16,22 @@
|
|||||||
|
|
||||||
/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
|
/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
|
||||||
|
|
||||||
|
/* Make test_open always inline if we're using Fortify, which defines
|
||||||
|
__always_inline to do that. Do nothing otherwise. This works
|
||||||
|
around a glibc bug whereby 'open' cannot be used as a function
|
||||||
|
pointer when _FORTIFY_SOURCE is positive. */
|
||||||
|
|
||||||
|
#ifndef __always_inline
|
||||||
|
#define __always_inline
|
||||||
|
#endif
|
||||||
|
|
||||||
/* This file is designed to test both open(n,buf[,mode]) and
|
/* This file is designed to test both open(n,buf[,mode]) and
|
||||||
openat(AT_FDCWD,n,buf[,mode]). FUNC is the function to test.
|
openat(AT_FDCWD,n,buf[,mode]). FUNC is the function to test.
|
||||||
Assumes that BASE and ASSERT are already defined, and that
|
Assumes that BASE and ASSERT are already defined, and that
|
||||||
appropriate headers are already included. If PRINT, warn before
|
appropriate headers are already included. If PRINT, warn before
|
||||||
skipping symlink tests with status 77. */
|
skipping symlink tests with status 77. */
|
||||||
|
|
||||||
static int
|
static int __always_inline
|
||||||
test_open (int (*func) (char const *, int, ...), bool print)
|
test_open (int (*func) (char const *, int, ...), bool print)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
|
Reference in New Issue
Block a user