blob: e16a3d73fb383b00ece75b114d0309503ab2e17a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
/*
* File: localdecls.h
*
* Copyright 1999-2004 Gentoo Foundation
* Distributed under the terms of the GNU General Public License v2
* $Header$
*/
#ifndef __LOCALDECLS_H__
#define __LOCALDECLS_H__
/* take care of broken ld loading */
#if defined(__GLIBC__) && !defined(__UCLIBC__)
# if __GLIBC__ <= 2 && __GLIBC_MINOR__ <= 2
# define BROKEN_RTLD_NEXT
# define LIBC 5
# endif
# if !defined(BROKEN_RTLD_NEXT)
# if defined(__mips__)
# define BROKEN_RTLD_NEXT
# endif
# endif
#else
#if 0
# if defined(__FreeBSD__)
# define BROKEN_RTLD_NEXT
# endif
#endif
#endif
#define GLIBC_MINOR __GLIBC_MINOR__
#ifdef PATH_MAX
# define SB_PATH_MAX PATH_MAX * 2
# if (SB_PATH_MAX >= INT_MAX) || (SB_PATH_MAX < PATH_MAX)
# undef SB_PATH_MAX
# define SB_PATH_MAX PATH_MAX + 25
# if (SB_PATH_MAX >= INT_MAX) || (SB_PATH_MAX < PATH_MAX)
# error SB_PATH_MAX too big!
# endif
# endif
#else
# error PATH_MAX not defined!
#endif
#if !HAVE_DLVSYM
# define dlvsym(_lib, _sym, _ver) dlsym(_lib, _sym)
#endif
#if HAVE_DLVSYM
/* Taken from glibc */
# define symbol_version(_real, _name, _version) \
__asm__ (".symver " #_real "," #_name "@" #_version)
# define default_symbol_version(_real, _name, _version) \
__asm__ (".symver " #_real "," #_name "@@" #_version)
#endif
/* Taken from glibc */
# define strong_alias(_name, _aliasname) \
extern __typeof (_name) _aliasname __attribute__ ((alias (#_name)));
# define weak_alias(_name, _aliasname) \
extern __typeof (_name) _aliasname __attribute__ ((weak, alias (#_name)));
#endif
|