/[path-sandbox]/trunk/localdecls.h
Gentoo

Contents of /trunk/localdecls.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 187 - (show annotations) (download) (as text)
Thu Dec 1 01:00:40 2005 UTC (8 years, 9 months ago) by azarah
File MIME type: text/x-chdr
File size: 1422 byte(s)
Fix non-versioned libc's to also prepend '__' to internal symbols by using
strong aliases.

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

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.20