diff options
Diffstat (limited to 'include/asm-cris/eshlibld.h')
-rw-r--r-- | include/asm-cris/eshlibld.h | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/include/asm-cris/eshlibld.h b/include/asm-cris/eshlibld.h deleted file mode 100644 index 10ce36cf79a9..000000000000 --- a/include/asm-cris/eshlibld.h +++ /dev/null | |||
@@ -1,113 +0,0 @@ | |||
1 | /*!************************************************************************** | ||
2 | *! | ||
3 | *! FILE NAME : eshlibld.h | ||
4 | *! | ||
5 | *! DESCRIPTION: Prototypes for exported shared library functions | ||
6 | *! | ||
7 | *! FUNCTIONS : perform_cris_aout_relocations, shlibmod_fork, shlibmod_exit | ||
8 | *! (EXPORTED) | ||
9 | *! | ||
10 | *!--------------------------------------------------------------------------- | ||
11 | *! | ||
12 | *! (C) Copyright 1998, 1999 Axis Communications AB, LUND, SWEDEN | ||
13 | *! | ||
14 | *!**************************************************************************/ | ||
15 | /* $Id: eshlibld.h,v 1.2 2001/02/23 13:47:33 bjornw Exp $ */ | ||
16 | |||
17 | #ifndef _cris_relocate_h | ||
18 | #define _cris_relocate_h | ||
19 | |||
20 | /* Please note that this file is also compiled into the xsim simulator. | ||
21 | Try to avoid breaking its double use (only works on a little-endian | ||
22 | 32-bit machine such as the i386 anyway). | ||
23 | |||
24 | Use __KERNEL__ when you're about to use kernel functions, | ||
25 | (which you should not do here anyway, since this file is | ||
26 | used by glibc). | ||
27 | Use defined(__KERNEL__) || defined(__elinux__) when doing | ||
28 | things that only makes sense on an elinux system. | ||
29 | Use __CRIS__ when you're about to do (really) CRIS-specific code. | ||
30 | */ | ||
31 | |||
32 | /* We have dependencies all over the place for the host system | ||
33 | for xsim being a linux system, so let's not pretend anything | ||
34 | else with #ifdef:s here until fixed. */ | ||
35 | #include <linux/limits.h> | ||
36 | |||
37 | /* Maybe do sanity checking if file input. */ | ||
38 | #undef SANITYCHECK_RELOC | ||
39 | |||
40 | /* Maybe output debug messages. */ | ||
41 | #undef RELOC_DEBUG | ||
42 | |||
43 | /* Maybe we want to share core as well as disk space. | ||
44 | Mainly depends on the config macro CONFIG_SHARE_SHLIB_CORE, but it is | ||
45 | assumed that we want to share code when debugging (exposes more | ||
46 | trouble). */ | ||
47 | #ifndef SHARE_LIB_CORE | ||
48 | # if (defined(__KERNEL__) || !defined(RELOC_DEBUG)) \ | ||
49 | && !defined(CONFIG_SHARE_SHLIB_CORE) | ||
50 | # define SHARE_LIB_CORE 0 | ||
51 | # else | ||
52 | # define SHARE_LIB_CORE 1 | ||
53 | # endif /* __KERNEL__ etc */ | ||
54 | #endif /* SHARE_LIB_CORE */ | ||
55 | |||
56 | |||
57 | /* Main exported function; supposed to be called when the program a.out | ||
58 | has been read in. */ | ||
59 | extern int | ||
60 | perform_cris_aout_relocations(unsigned long text, unsigned long tlength, | ||
61 | unsigned long data, unsigned long dlength, | ||
62 | unsigned long baddr, unsigned long blength, | ||
63 | |||
64 | /* These may be zero when there's "perfect" | ||
65 | position-independent code. */ | ||
66 | unsigned char *trel, unsigned long tsrel, | ||
67 | unsigned long dsrel, | ||
68 | |||
69 | /* These will be zero at a first try, to see | ||
70 | if code is statically linked. Else a | ||
71 | second try, with the symbol table and | ||
72 | string table nonzero should be done. */ | ||
73 | unsigned char *symbols, unsigned long symlength, | ||
74 | unsigned char *strings, unsigned long stringlength, | ||
75 | |||
76 | /* These will only be used when symbol table | ||
77 | information is present. */ | ||
78 | char **env, int envc, | ||
79 | int euid, int is_suid); | ||
80 | |||
81 | |||
82 | #ifdef RELOC_DEBUG | ||
83 | /* Task-specific debug stuff. */ | ||
84 | struct task_reloc_debug { | ||
85 | struct memdebug *alloclast; | ||
86 | unsigned long alloc_total; | ||
87 | unsigned long export_total; | ||
88 | }; | ||
89 | #endif /* RELOC_DEBUG */ | ||
90 | |||
91 | #if SHARE_LIB_CORE | ||
92 | |||
93 | /* When code (and some very specific data) is shared and not just | ||
94 | dynamically linked, we need to export hooks for exec beginning and | ||
95 | end. */ | ||
96 | |||
97 | struct shlibdep; | ||
98 | |||
99 | extern void | ||
100 | shlibmod_exit(struct shlibdep **deps); | ||
101 | |||
102 | /* Returns 0 if failure, nonzero for ok. */ | ||
103 | extern int | ||
104 | shlibmod_fork(struct shlibdep **deps); | ||
105 | |||
106 | #else /* ! SHARE_LIB_CORE */ | ||
107 | # define shlibmod_exit(x) | ||
108 | # define shlibmod_fork(x) 1 | ||
109 | #endif /* ! SHARE_LIB_CORE */ | ||
110 | |||
111 | #endif _cris_relocate_h | ||
112 | /********************** END OF FILE eshlibld.h *****************************/ | ||
113 | |||