2.9
[glibc/nacl-glibc.git] / sysdeps / unix / sysv / linux / ldsodefs.h
blob0bdca3c3fd6ecd8c15960f8a087cd5063bd81785
1 /* Run-time dynamic linker data structures for loaded ELF shared objects.
2 Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
20 #ifndef _LDSODEFS_H
22 #include <kernel-features.h>
24 /* Get the real definitions. */
25 #include_next <ldsodefs.h>
27 /* Now define our stuff. */
29 /* We have the auxiliary vector. */
30 #define HAVE_AUX_VECTOR
32 /* Used by static binaries to check the auxiliary vector. */
33 extern void _dl_aux_init (ElfW(auxv_t) *av) internal_function;
35 /* Initialization which is normally done by the dynamic linker. */
36 extern void _dl_non_dynamic_init (void) internal_function;
38 /* We can assume that the kernel always provides the AT_UID, AT_EUID,
39 AT_GID, and AT_EGID values in the auxiliary vector from 2.4.0 or so on. */
40 #if __ASSUME_AT_XID
41 # define HAVE_AUX_XID
42 #endif
44 /* We can assume that the kernel always provides the AT_SECURE value
45 in the auxiliary vector from 2.5.74 or so on. */
46 #if __ASSUME_AT_SECURE
47 # define HAVE_AUX_SECURE
48 #endif
50 /* Starting with one of the 2.4.0 pre-releases the Linux kernel passes
51 up the page size information. */
52 #if __ASSUME_AT_PAGESIZE
53 # define HAVE_AUX_PAGESIZE
54 #endif
56 #endif /* ldsodefs.h */