diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | include/fcntl.h | 3 | ||||
-rw-r--r-- | sysdeps/generic/dl-fcntl.h | 21 | ||||
-rw-r--r-- | sysdeps/mach/hurd/dl-fcntl.h | 22 |
4 files changed, 53 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index e1ec8e8cb0..db408c729e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2016-03-20 Samuel Thibault <samuel.thibault@ens-lyon.org>: + + * sysdeps/generic/dl-fcntl.h: New file, adds attribute_hidden to __open + and __fcntl. + * sysdeps/mach/hurd/dl-fcntl.h: New file, adds attribute_hidden to + __fcntl only. + * include/fcntl.h [IS_IN (rtld)]: Include <dl-fcntl.h> instead of + adding attribute_hidden to __open and __fcntl. + 2016-03-20 Samuel Thibault <samuel.thibault@ens-lyon.org> * sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Strip diff --git a/include/fcntl.h b/include/fcntl.h index 4168ee429f..3b2c887146 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -31,8 +31,7 @@ extern int __openat64_2 (int __fd, const char *__path, int __oflag); #if IS_IN (rtld) -extern __typeof (__open) __open attribute_hidden; -extern __typeof (__fcntl) __fcntl attribute_hidden; +# include <dl-fcntl.h> #endif /* Flag determining whether the *at system calls are available. */ diff --git a/sysdeps/generic/dl-fcntl.h b/sysdeps/generic/dl-fcntl.h new file mode 100644 index 0000000000..ee3c49c203 --- /dev/null +++ b/sysdeps/generic/dl-fcntl.h @@ -0,0 +1,21 @@ +/* Functions with hidden attribute internal to ld.so, which are declared + in include/fcntl.h. Generic version. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +extern __typeof (__open) __open attribute_hidden; +extern __typeof (__fcntl) __fcntl attribute_hidden; diff --git a/sysdeps/mach/hurd/dl-fcntl.h b/sysdeps/mach/hurd/dl-fcntl.h new file mode 100644 index 0000000000..c34bf12eb1 --- /dev/null +++ b/sysdeps/mach/hurd/dl-fcntl.h @@ -0,0 +1,22 @@ +/* Functions with hidden attribute internal to ld.so, which are declared + in include/fcntl.h. Hurd version. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* __open can't be hidden in ld.so on Hurd since it will be preempted by the + one in libc.so after bootstrap. */ +extern __typeof (__fcntl) __fcntl attribute_hidden; |