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 --- |