link.h (9acbbeaf2a1ffe5c14b244867d427714fab43c5c) link.h (3906e0c22bea9bf690c20f62b0575c1b1d0ace2e)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 32 unchanged lines hidden (view full) ---

41#endif
42
43#ifndef _ASM
44/*
45 * ld support library calls
46 */
47#ifdef __STDC__
48extern uint_t ld_version(uint_t);
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 32 unchanged lines hidden (view full) ---

41#endif
42
43#ifndef _ASM
44/*
45 * ld support library calls
46 */
47#ifdef __STDC__
48extern uint_t ld_version(uint_t);
49extern void ld_input_done(uint_t *);
50
49extern void ld_start(const char *, const Elf32_Half, const char *);
50extern void ld_atexit(int);
51extern void ld_start(const char *, const Elf32_Half, const char *);
52extern void ld_atexit(int);
53extern void ld_open(const char **, const char **, int *, int, Elf **,
54 Elf *, size_t, const Elf_Kind);
51extern void ld_file(const char *, const Elf_Kind, int, Elf *);
52extern void ld_input_section(const char *, Elf32_Shdr **, Elf32_Word,
53 Elf_Data *, Elf *, uint_t *);
55extern void ld_file(const char *, const Elf_Kind, int, Elf *);
56extern void ld_input_section(const char *, Elf32_Shdr **, Elf32_Word,
57 Elf_Data *, Elf *, uint_t *);
54extern void ld_input_done(uint_t *);
55extern void ld_section(const char *, Elf32_Shdr *, Elf32_Word,
56 Elf_Data *, Elf *);
57
58#if defined(_LP64) || defined(_LONGLONG_TYPE)
59extern void ld_start64(const char *, const Elf64_Half, const char *);
60extern void ld_atexit64(int);
58extern void ld_section(const char *, Elf32_Shdr *, Elf32_Word,
59 Elf_Data *, Elf *);
60
61#if defined(_LP64) || defined(_LONGLONG_TYPE)
62extern void ld_start64(const char *, const Elf64_Half, const char *);
63extern void ld_atexit64(int);
64extern void ld_open64(const char **, const char **, int *, int, Elf **,
65 Elf *, size_t, const Elf_Kind);
61extern void ld_file64(const char *, const Elf_Kind, int, Elf *);
62extern void ld_input_section64(const char *, Elf64_Shdr **, Elf64_Word,
63 Elf_Data *, Elf *, uint_t *);
64extern void ld_section64(const char *, Elf64_Shdr *, Elf64_Word,
65 Elf_Data *, Elf *);
66
67#endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
68#else
69extern void ld_version();
66extern void ld_file64(const char *, const Elf_Kind, int, Elf *);
67extern void ld_input_section64(const char *, Elf64_Shdr **, Elf64_Word,
68 Elf_Data *, Elf *, uint_t *);
69extern void ld_section64(const char *, Elf64_Shdr *, Elf64_Word,
70 Elf_Data *, Elf *);
71
72#endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
73#else
74extern void ld_version();
75extern void ld_input_done();
76
70extern void ld_start();
71extern void ld_atexit();
77extern void ld_start();
78extern void ld_atexit();
79extern void ld_open();
72extern void ld_file();
73extern void ld_input_section();
80extern void ld_file();
81extern void ld_input_section();
74extern void ld_input_done();
75extern void ld_section();
76
77#if defined(_LP64) || defined(_LONGLONG_TYPE)
78extern void ld_start64();
79extern void ld_atexit64();
82extern void ld_section();
83
84#if defined(_LP64) || defined(_LONGLONG_TYPE)
85extern void ld_start64();
86extern void ld_atexit64();
87extern void ld_open64();
80extern void ld_file64();
88extern void ld_file64();
89extern void ld_input_section64();
81extern void ld_section64();
82
83#endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
84#endif /* __STDC__ */
85
86/*
90extern void ld_section64();
91
92#endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
93#endif /* __STDC__ */
94
95/*
87 * ld_version() version values
96 * ld_version() version values.
88 */
89#define LD_SUP_VNONE 0
90#define LD_SUP_VERSION1 1
91#define LD_SUP_VERSION2 2
97 */
98#define LD_SUP_VNONE 0
99#define LD_SUP_VERSION1 1
100#define LD_SUP_VERSION2 2
92#define LD_SUP_VCURRENT LD_SUP_VERSION2
101#define LD_SUP_VERSION3 3
102#define LD_SUP_VCURRENT LD_SUP_VERSION3
93
103
94
95/*
104/*
96 * flags passed to ld support calls
105 * Flags passed to ld support calls.
97 */
98#define LD_SUP_DERIVED 0x1 /* derived filename */
99#define LD_SUP_INHERITED 0x2 /* file inherited from .so DT_NEEDED */
100#define LD_SUP_EXTRACTED 0x4 /* file extracted from archive */
101#endif
102
106 */
107#define LD_SUP_DERIVED 0x1 /* derived filename */
108#define LD_SUP_INHERITED 0x2 /* file inherited from .so DT_NEEDED */
109#define LD_SUP_EXTRACTED 0x4 /* file extracted from archive */
110#endif
111
112/*
113 * Runtime link-map identifiers.
114 */
103#define LM_ID_BASE 0x00
104#define LM_ID_LDSO 0x01
105#define LM_ID_BRAND 0x02 /* marks branded objs in rd_loadobj_t */
106
107#define LM_ID_NUM 3
108
109
110#define LM_ID_NEWLM 0xff /* create a new link-map */
111
115#define LM_ID_BASE 0x00
116#define LM_ID_LDSO 0x01
117#define LM_ID_BRAND 0x02 /* marks branded objs in rd_loadobj_t */
118
119#define LM_ID_NUM 3
120
121
122#define LM_ID_NEWLM 0xff /* create a new link-map */
123
112
113/*
124/*
114 * Run-Time Link-Edit Auditing
125 * Runtime Link-Edit Auditing.
115 */
116#define LAV_NONE 0
117#define LAV_VERSION1 1
118#define LAV_VERSION2 2
119#define LAV_VERSION3 3
120#define LAV_CURRENT LAV_VERSION3
121#define LAV_NUM 4
122

--- 144 unchanged lines hidden ---
126 */
127#define LAV_NONE 0
128#define LAV_VERSION1 1
129#define LAV_VERSION2 2
130#define LAV_VERSION3 3
131#define LAV_CURRENT LAV_VERSION3
132#define LAV_NUM 4
133

--- 144 unchanged lines hidden ---