author | Rod Evans <Rod.Evans@Sun.COM> |
Wed, 19 May 2010 22:33:49 -0700 | |
changeset 12449 | a87750d92895 |
parent 11827 | d7ef53deac3f |
permissions | -rw-r--r-- |
0 | 1 |
/* |
2 |
* CDDL HEADER START |
|
3 |
* |
|
4 |
* The contents of this file are subject to the terms of the |
|
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
0 | 7 |
* |
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
|
9 |
* or http://www.opensolaris.org/os/licensing. |
|
10 |
* See the License for the specific language governing permissions |
|
11 |
* and limitations under the License. |
|
12 |
* |
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
|
18 |
* |
|
19 |
* CDDL HEADER END |
|
20 |
*/ |
|
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
21 |
|
0 | 22 |
/* |
12449
a87750d92895
6943772 Testing for a symbols existence with RTLD_PROBE is compromised by RTLD_BIND_NOW
Rod Evans <Rod.Evans@Sun.COM>
parents:
11827
diff
changeset
|
23 |
* Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. |
0 | 24 |
*/ |
25 |
||
26 |
/* |
|
27 |
* String conversion routine for .dynamic tag entries. |
|
28 |
*/ |
|
29 |
#include <stdio.h> |
|
30 |
#include <string.h> |
|
31 |
#include <sys/elf_SPARC.h> |
|
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
32 |
#include "rtld.h" |
0 | 33 |
#include "_conv.h" |
34 |
#include "dynamic_msg.h" |
|
35 |
||
3492 | 36 |
|
37 |
||
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
38 |
const Val_desc * |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
39 |
conv_dyn_posflag1_strings(Conv_fmt_flags_t fmt_flags) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
40 |
{ |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
41 |
#define POSSZ CONV_EXPN_FIELD_DEF_PREFIX_SIZE + \ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
42 |
MSG_DF_P1_LAZYLOAD_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
43 |
MSG_DF_P1_GROUPPERM_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
12449
a87750d92895
6943772 Testing for a symbols existence with RTLD_PROBE is compromised by RTLD_BIND_NOW
Rod Evans <Rod.Evans@Sun.COM>
parents:
11827
diff
changeset
|
44 |
MSG_DF_P1_DEFERRED_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
45 |
CONV_INV_BUFSIZE + CONV_EXPN_FIELD_DEF_SUFFIX_SIZE |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
46 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
47 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
48 |
* Ensure that Conv_dyn_posflag1_buf_t is large enough: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
49 |
* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
50 |
* POSSZ is the real minimum size of the buffer required by |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
51 |
* conv_dyn_posflag1(). However, Conv_dyn_posflag1_buf_t uses |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
52 |
* CONV_DYN_POSFLAG1_BUFSIZE to set the buffer size. We do things |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
53 |
* this way because the definition of POSSZ uses |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
54 |
* information that is not available in the environment of other |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
55 |
* programs that include the conv.h header file. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
56 |
*/ |
5152
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
57 |
#if (CONV_DYN_POSFLAG1_BUFSIZE != POSSZ) && !defined(__lint) |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
58 |
#define REPORT_BUFSIZE POSSZ |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
59 |
#include "report_bufsize.h" |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
60 |
#error "CONV_DYN_POSFLAG1_BUFSIZE does not match POSSZ" |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
61 |
#endif |
0 | 62 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
63 |
static const Val_desc vda_def[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
64 |
{ DF_P1_LAZYLOAD, MSG_DF_P1_LAZYLOAD_DEF }, |
12449
a87750d92895
6943772 Testing for a symbols existence with RTLD_PROBE is compromised by RTLD_BIND_NOW
Rod Evans <Rod.Evans@Sun.COM>
parents:
11827
diff
changeset
|
65 |
{ DF_P1_GROUPPERM, MSG_DF_P1_GROUPPERM_DEF }, |
a87750d92895
6943772 Testing for a symbols existence with RTLD_PROBE is compromised by RTLD_BIND_NOW
Rod Evans <Rod.Evans@Sun.COM>
parents:
11827
diff
changeset
|
66 |
{ DF_P1_DEFERRED, MSG_DF_P1_DEFERRED_DEF }, |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
67 |
{ 0, 0 } |
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
68 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
69 |
static const Val_desc vda_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
70 |
{ DF_P1_LAZYLOAD, MSG_DF_P1_LAZYLOAD_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
71 |
{ DF_P1_GROUPPERM, MSG_DF_P1_GROUPPERM_CF }, |
12449
a87750d92895
6943772 Testing for a symbols existence with RTLD_PROBE is compromised by RTLD_BIND_NOW
Rod Evans <Rod.Evans@Sun.COM>
parents:
11827
diff
changeset
|
72 |
{ DF_P1_DEFERRED, MSG_DF_P1_DEFERRED_CF }, |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
73 |
{ 0, 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
74 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
75 |
static const Val_desc vda_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
76 |
{ DF_P1_LAZYLOAD, MSG_DF_P1_LAZYLOAD_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
77 |
{ DF_P1_GROUPPERM, MSG_DF_P1_GROUPPERM_CFNP }, |
12449
a87750d92895
6943772 Testing for a symbols existence with RTLD_PROBE is compromised by RTLD_BIND_NOW
Rod Evans <Rod.Evans@Sun.COM>
parents:
11827
diff
changeset
|
78 |
{ DF_P1_DEFERRED, MSG_DF_P1_DEFERRED_CFNP }, |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
79 |
{ 0, 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
80 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
81 |
static const Val_desc vda_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
82 |
{ DF_P1_LAZYLOAD, MSG_DF_P1_LAZYLOAD_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
83 |
{ DF_P1_GROUPPERM, MSG_DF_P1_GROUPPERM_NF }, |
12449
a87750d92895
6943772 Testing for a symbols existence with RTLD_PROBE is compromised by RTLD_BIND_NOW
Rod Evans <Rod.Evans@Sun.COM>
parents:
11827
diff
changeset
|
84 |
{ DF_P1_DEFERRED, MSG_DF_P1_DEFERRED_NF }, |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
85 |
{ 0, 0 } |
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
86 |
}; |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
87 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
88 |
switch (CONV_TYPE_FMT_ALT(fmt_flags)) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
89 |
case CONV_FMT_ALT_DUMP: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
90 |
case CONV_FMT_ALT_CFNP: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
91 |
return (vda_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
92 |
case CONV_FMT_ALT_CF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
93 |
return (vda_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
94 |
case CONV_FMT_ALT_NF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
95 |
return (vda_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
96 |
} |
0 | 97 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
98 |
return (vda_def); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
99 |
} |
0 | 100 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
101 |
conv_iter_ret_t |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
102 |
conv_iter_dyn_posflag1(Conv_fmt_flags_t fmt_flags, conv_iter_cb_t func, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
103 |
void *uvalue) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
104 |
{ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
105 |
return (conv_iter_vd(conv_dyn_posflag1_strings(fmt_flags), |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
106 |
func, uvalue)); |
0 | 107 |
} |
108 |
||
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
109 |
const Val_desc * |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
110 |
conv_dyn_flag_strings(Conv_fmt_flags_t fmt_flags) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
111 |
{ |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
112 |
#define FLAGSZ CONV_EXPN_FIELD_DEF_PREFIX_SIZE + \ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
113 |
MSG_DF_ORIGIN_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
114 |
MSG_DF_SYMBOLIC_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
115 |
MSG_DF_TEXTREL_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
116 |
MSG_DF_BIND_NOW_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
117 |
MSG_DF_STATIC_TLS_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
118 |
CONV_INV_BUFSIZE + CONV_EXPN_FIELD_DEF_SUFFIX_SIZE |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
119 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
120 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
121 |
* Ensure that Conv_dyn_flag_buf_t is large enough: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
122 |
* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
123 |
* FLAGSZ is the real minimum size of the buffer required by |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
124 |
* conv_dyn_flag(). However, Conv_dyn_flag_buf_t uses |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
125 |
* CONV_DYN_FLAG_BUFSIZE to set the buffer size. We do things this |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
126 |
* way because the definition of FLAGSZ uses information that is not |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
127 |
* available in the environment of other programs that include the |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
128 |
* conv.h header file. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
129 |
*/ |
5152
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
130 |
#if (CONV_DYN_FLAG_BUFSIZE != FLAGSZ) && !defined(__lint) |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
131 |
#define REPORT_BUFSIZE FLAGSZ |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
132 |
#include "report_bufsize.h" |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
133 |
#error "CONV_DYN_FLAG_BUFSIZE does not match FLAGSZ" |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
134 |
#endif |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
135 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
136 |
static const Val_desc vda_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
137 |
{ DF_ORIGIN, MSG_DF_ORIGIN_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
138 |
{ DF_SYMBOLIC, MSG_DF_SYMBOLIC_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
139 |
{ DF_TEXTREL, MSG_DF_TEXTREL_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
140 |
{ DF_BIND_NOW, MSG_DF_BIND_NOW_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
141 |
{ DF_STATIC_TLS, MSG_DF_STATIC_TLS_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
142 |
{ 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
143 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
144 |
static const Val_desc vda_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
145 |
{ DF_ORIGIN, MSG_DF_ORIGIN_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
146 |
{ DF_SYMBOLIC, MSG_DF_SYMBOLIC_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
147 |
{ DF_TEXTREL, MSG_DF_TEXTREL_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
148 |
{ DF_BIND_NOW, MSG_DF_BIND_NOW_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
149 |
{ DF_STATIC_TLS, MSG_DF_STATIC_TLS_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
150 |
{ 0 } |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
151 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
152 |
static const Val_desc vda_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
153 |
{ DF_ORIGIN, MSG_DF_ORIGIN_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
154 |
{ DF_SYMBOLIC, MSG_DF_SYMBOLIC_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
155 |
{ DF_TEXTREL, MSG_DF_TEXTREL_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
156 |
{ DF_BIND_NOW, MSG_DF_BIND_NOW_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
157 |
{ DF_STATIC_TLS, MSG_DF_STATIC_TLS_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
158 |
{ 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
159 |
}; |
0 | 160 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
161 |
switch (CONV_TYPE_FMT_ALT(fmt_flags)) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
162 |
case CONV_FMT_ALT_CF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
163 |
return (vda_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
164 |
case CONV_FMT_ALT_NF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
165 |
return (vda_nf); |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
166 |
} |
0 | 167 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
168 |
return (vda_cfnp); |
0 | 169 |
} |
170 |
||
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
171 |
conv_iter_ret_t |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
172 |
conv_iter_dyn_flag(Conv_fmt_flags_t fmt_flags, conv_iter_cb_t func, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
173 |
void *uvalue) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
174 |
{ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
175 |
return (conv_iter_vd(conv_dyn_flag_strings(fmt_flags), func, uvalue)); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
176 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
177 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
178 |
const Val_desc * |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
179 |
conv_dyn_flag1_strings(Conv_fmt_flags_t fmt_flags) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
180 |
{ |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
181 |
#define FLAG1SZ CONV_EXPN_FIELD_DEF_PREFIX_SIZE + \ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
182 |
MSG_DF_1_NOW_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
183 |
MSG_DF_1_GLOBAL_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
184 |
MSG_DF_1_GROUP_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
185 |
MSG_DF_1_NODELETE_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
186 |
MSG_DF_1_LOADFLTR_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
187 |
MSG_DF_1_INITFIRST_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
188 |
MSG_DF_1_NOOPEN_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
189 |
MSG_DF_1_ORIGIN_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
190 |
MSG_DF_1_DIRECT_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
191 |
MSG_DF_1_TRANS_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
192 |
MSG_DF_1_INTERPOSE_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
193 |
MSG_DF_1_NODEFLIB_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
194 |
MSG_DF_1_NODUMP_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
195 |
MSG_DF_1_CONFALT_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
196 |
MSG_DF_1_ENDFILTEE_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
197 |
MSG_DF_1_DISPRELPND_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
198 |
MSG_DF_1_DISPRELDNE_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
199 |
MSG_DF_1_NODIRECT_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
200 |
MSG_DF_1_IGNMULDEF_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
201 |
MSG_DF_1_NOKSYMS_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
202 |
MSG_DF_1_NOHDR_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
203 |
MSG_DF_1_NORELOC_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
204 |
MSG_DF_1_SYMINTPOSE_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
205 |
MSG_DF_1_GLOBAUDIT_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
206 |
MSG_DF_1_SINGLETON_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
207 |
CONV_INV_BUFSIZE + CONV_EXPN_FIELD_DEF_SUFFIX_SIZE |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
208 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
209 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
210 |
* Ensure that Conv_dyn_flag1_buf_t is large enough: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
211 |
* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
212 |
* FLAG1SZ is the real minimum size of the buffer required by |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
213 |
* conv_dyn_flag1(). However, Conv_dyn_flag1_buf_t uses |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
214 |
* CONV_DYN_FLAG1_BUFSIZE to set the buffer size. We do things this |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
215 |
* way because the definition of FLAG1SZ uses information that is not |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
216 |
* available in the environment of other programs that include the |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
217 |
* conv.h header file. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
218 |
*/ |
5152
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
219 |
#if (CONV_DYN_FLAG1_BUFSIZE != FLAG1SZ) && !defined(__lint) |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
220 |
#define REPORT_BUFSIZE FLAG1SZ |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
221 |
#include "report_bufsize.h" |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
222 |
#error "CONV_DYN_FLAG1_BUFSIZE does not match FLAG1SZ" |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
223 |
#endif |
0 | 224 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
225 |
static const Val_desc vda_def[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
226 |
{ DF_1_NOW, MSG_DF_1_NOW_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
227 |
{ DF_1_GLOBAL, MSG_DF_1_GLOBAL_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
228 |
{ DF_1_GROUP, MSG_DF_1_GROUP_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
229 |
{ DF_1_NODELETE, MSG_DF_1_NODELETE_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
230 |
{ DF_1_LOADFLTR, MSG_DF_1_LOADFLTR_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
231 |
{ DF_1_INITFIRST, MSG_DF_1_INITFIRST_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
232 |
{ DF_1_NOOPEN, MSG_DF_1_NOOPEN_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
233 |
{ DF_1_ORIGIN, MSG_DF_1_ORIGIN_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
234 |
{ DF_1_DIRECT, MSG_DF_1_DIRECT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
235 |
{ DF_1_TRANS, MSG_DF_1_TRANS_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
236 |
{ DF_1_INTERPOSE, MSG_DF_1_INTERPOSE_DEF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
237 |
{ DF_1_NODEFLIB, MSG_DF_1_NODEFLIB_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
238 |
{ DF_1_NODUMP, MSG_DF_1_NODUMP_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
239 |
{ DF_1_CONFALT, MSG_DF_1_CONFALT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
240 |
{ DF_1_ENDFILTEE, MSG_DF_1_ENDFILTEE_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
241 |
{ DF_1_DISPRELDNE, MSG_DF_1_DISPRELDNE_DEF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
242 |
{ DF_1_DISPRELPND, MSG_DF_1_DISPRELPND_DEF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
243 |
{ DF_1_NODIRECT, MSG_DF_1_NODIRECT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
244 |
{ DF_1_IGNMULDEF, MSG_DF_1_IGNMULDEF_DEF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
245 |
{ DF_1_NOKSYMS, MSG_DF_1_NOKSYMS_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
246 |
{ DF_1_NOHDR, MSG_DF_1_NOHDR_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
247 |
{ DF_1_EDITED, MSG_DF_1_EDITED_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
248 |
{ DF_1_NORELOC, MSG_DF_1_NORELOC_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
249 |
{ DF_1_SYMINTPOSE, MSG_DF_1_SYMINTPOSE_DEF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
250 |
{ DF_1_GLOBAUDIT, MSG_DF_1_GLOBAUDIT_DEF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
251 |
{ DF_1_SINGLETON, MSG_DF_1_SINGLETON_DEF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
252 |
{ 0, 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
253 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
254 |
static const Val_desc vda_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
255 |
{ DF_1_NOW, MSG_DF_1_NOW_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
256 |
{ DF_1_GLOBAL, MSG_DF_1_GLOBAL_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
257 |
{ DF_1_GROUP, MSG_DF_1_GROUP_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
258 |
{ DF_1_NODELETE, MSG_DF_1_NODELETE_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
259 |
{ DF_1_LOADFLTR, MSG_DF_1_LOADFLTR_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
260 |
{ DF_1_INITFIRST, MSG_DF_1_INITFIRST_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
261 |
{ DF_1_NOOPEN, MSG_DF_1_NOOPEN_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
262 |
{ DF_1_ORIGIN, MSG_DF_1_ORIGIN_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
263 |
{ DF_1_DIRECT, MSG_DF_1_DIRECT_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
264 |
{ DF_1_TRANS, MSG_DF_1_TRANS_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
265 |
{ DF_1_INTERPOSE, MSG_DF_1_INTERPOSE_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
266 |
{ DF_1_NODEFLIB, MSG_DF_1_NODEFLIB_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
267 |
{ DF_1_NODUMP, MSG_DF_1_NODUMP_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
268 |
{ DF_1_CONFALT, MSG_DF_1_CONFALT_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
269 |
{ DF_1_ENDFILTEE, MSG_DF_1_ENDFILTEE_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
270 |
{ DF_1_DISPRELDNE, MSG_DF_1_DISPRELDNE_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
271 |
{ DF_1_DISPRELPND, MSG_DF_1_DISPRELPND_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
272 |
{ DF_1_NODIRECT, MSG_DF_1_NODIRECT_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
273 |
{ DF_1_IGNMULDEF, MSG_DF_1_IGNMULDEF_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
274 |
{ DF_1_NOKSYMS, MSG_DF_1_NOKSYMS_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
275 |
{ DF_1_NOHDR, MSG_DF_1_NOHDR_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
276 |
{ DF_1_EDITED, MSG_DF_1_EDITED_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
277 |
{ DF_1_NORELOC, MSG_DF_1_NORELOC_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
278 |
{ DF_1_SYMINTPOSE, MSG_DF_1_SYMINTPOSE_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
279 |
{ DF_1_GLOBAUDIT, MSG_DF_1_GLOBAUDIT_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
280 |
{ DF_1_SINGLETON, MSG_DF_1_SINGLETON_CF }, |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
281 |
{ 0, 0 } |
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
282 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
283 |
static const Val_desc vda_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
284 |
{ DF_1_NOW, MSG_DF_1_NOW_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
285 |
{ DF_1_GLOBAL, MSG_DF_1_GLOBAL_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
286 |
{ DF_1_GROUP, MSG_DF_1_GROUP_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
287 |
{ DF_1_NODELETE, MSG_DF_1_NODELETE_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
288 |
{ DF_1_LOADFLTR, MSG_DF_1_LOADFLTR_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
289 |
{ DF_1_INITFIRST, MSG_DF_1_INITFIRST_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
290 |
{ DF_1_NOOPEN, MSG_DF_1_NOOPEN_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
291 |
{ DF_1_ORIGIN, MSG_DF_1_ORIGIN_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
292 |
{ DF_1_DIRECT, MSG_DF_1_DIRECT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
293 |
{ DF_1_TRANS, MSG_DF_1_TRANS_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
294 |
{ DF_1_INTERPOSE, MSG_DF_1_INTERPOSE_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
295 |
{ DF_1_NODEFLIB, MSG_DF_1_NODEFLIB_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
296 |
{ DF_1_NODUMP, MSG_DF_1_NODUMP_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
297 |
{ DF_1_CONFALT, MSG_DF_1_CONFALT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
298 |
{ DF_1_ENDFILTEE, MSG_DF_1_ENDFILTEE_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
299 |
{ DF_1_DISPRELDNE, MSG_DF_1_DISPRELDNE_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
300 |
{ DF_1_DISPRELPND, MSG_DF_1_DISPRELPND_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
301 |
{ DF_1_NODIRECT, MSG_DF_1_NODIRECT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
302 |
{ DF_1_IGNMULDEF, MSG_DF_1_IGNMULDEF_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
303 |
{ DF_1_NOKSYMS, MSG_DF_1_NOKSYMS_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
304 |
{ DF_1_NOHDR, MSG_DF_1_NOHDR_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
305 |
{ DF_1_EDITED, MSG_DF_1_EDITED_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
306 |
{ DF_1_NORELOC, MSG_DF_1_NORELOC_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
307 |
{ DF_1_SYMINTPOSE, MSG_DF_1_SYMINTPOSE_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
308 |
{ DF_1_GLOBAUDIT, MSG_DF_1_GLOBAUDIT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
309 |
{ DF_1_SINGLETON, MSG_DF_1_SINGLETON_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
310 |
{ 0, 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
311 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
312 |
static const Val_desc vda_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
313 |
{ DF_1_NOW, MSG_DF_1_NOW_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
314 |
{ DF_1_GLOBAL, MSG_DF_1_GLOBAL_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
315 |
{ DF_1_GROUP, MSG_DF_1_GROUP_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
316 |
{ DF_1_NODELETE, MSG_DF_1_NODELETE_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
317 |
{ DF_1_LOADFLTR, MSG_DF_1_LOADFLTR_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
318 |
{ DF_1_INITFIRST, MSG_DF_1_INITFIRST_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
319 |
{ DF_1_NOOPEN, MSG_DF_1_NOOPEN_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
320 |
{ DF_1_ORIGIN, MSG_DF_1_ORIGIN_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
321 |
{ DF_1_DIRECT, MSG_DF_1_DIRECT_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
322 |
{ DF_1_TRANS, MSG_DF_1_TRANS_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
323 |
{ DF_1_INTERPOSE, MSG_DF_1_INTERPOSE_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
324 |
{ DF_1_NODEFLIB, MSG_DF_1_NODEFLIB_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
325 |
{ DF_1_NODUMP, MSG_DF_1_NODUMP_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
326 |
{ DF_1_CONFALT, MSG_DF_1_CONFALT_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
327 |
{ DF_1_ENDFILTEE, MSG_DF_1_ENDFILTEE_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
328 |
{ DF_1_DISPRELDNE, MSG_DF_1_DISPRELDNE_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
329 |
{ DF_1_DISPRELPND, MSG_DF_1_DISPRELPND_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
330 |
{ DF_1_NODIRECT, MSG_DF_1_NODIRECT_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
331 |
{ DF_1_IGNMULDEF, MSG_DF_1_IGNMULDEF_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
332 |
{ DF_1_NOKSYMS, MSG_DF_1_NOKSYMS_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
333 |
{ DF_1_NOHDR, MSG_DF_1_NOHDR_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
334 |
{ DF_1_EDITED, MSG_DF_1_EDITED_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
335 |
{ DF_1_NORELOC, MSG_DF_1_NORELOC_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
336 |
{ DF_1_SYMINTPOSE, MSG_DF_1_SYMINTPOSE_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
337 |
{ DF_1_GLOBAUDIT, MSG_DF_1_GLOBAUDIT_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
338 |
{ DF_1_SINGLETON, MSG_DF_1_SINGLETON_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
339 |
{ 0, 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
340 |
}; |
0 | 341 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
342 |
switch (CONV_TYPE_FMT_ALT(fmt_flags)) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
343 |
case CONV_FMT_ALT_CF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
344 |
return (vda_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
345 |
case CONV_FMT_ALT_CFNP: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
346 |
return (vda_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
347 |
case CONV_FMT_ALT_NF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
348 |
return (vda_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
349 |
} |
0 | 350 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
351 |
return (vda_def); |
0 | 352 |
} |
353 |
||
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
354 |
conv_iter_ret_t |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
355 |
conv_iter_dyn_flag1(Conv_fmt_flags_t fmt_flags, conv_iter_cb_t func, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
356 |
void *uvalue) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
357 |
{ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
358 |
return (conv_iter_vd(conv_dyn_flag1_strings(fmt_flags), func, uvalue)); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
359 |
} |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
360 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
361 |
const Val_desc * |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
362 |
conv_dyn_feature1_strings(Conv_fmt_flags_t fmt_flags) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
363 |
{ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
364 |
#define FEATSZ CONV_EXPN_FIELD_DEF_PREFIX_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
365 |
MSG_DTF_1_PARINIT_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
366 |
MSG_DTF_1_CONFEXP_CF_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
367 |
CONV_INV_BUFSIZE + CONV_EXPN_FIELD_DEF_SUFFIX_SIZE |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
368 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
369 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
370 |
* Ensure that Conv_dyn_feature1_buf_t is large enough: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
371 |
* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
372 |
* FEATSZ is the real min size of the buffer required by |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
373 |
* conv_dyn_feature1(). However, Conv_dyn_feature1_buf_t uses |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
374 |
* CONV_DYN_FEATURE1_BUFSIZE to set the buffer size. We do things |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
375 |
* this way because the definition of FEATSZ uses information that |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
376 |
* is not available in the environment of other programs that include |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
377 |
* the conv.h header file. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
378 |
*/ |
5152
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
379 |
#if (CONV_DYN_FEATURE1_BUFSIZE != FEATSZ) && !defined(__lint) |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
380 |
#define REPORT_BUFSIZE FEATSZ |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
381 |
#include "report_bufsize.h" |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
382 |
#error "CONV_DYN_FEATURE1_BUFSIZE does not match FEATSZ" |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
383 |
#endif |
0 | 384 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
385 |
static const Val_desc vda_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
386 |
{ DTF_1_PARINIT, MSG_DTF_1_PARINIT_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
387 |
{ DTF_1_CONFEXP, MSG_DTF_1_CONFEXP_CF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
388 |
{ 0, 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
389 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
390 |
static const Val_desc vda_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
391 |
{ DTF_1_PARINIT, MSG_DTF_1_PARINIT_CFNP }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
392 |
{ DTF_1_CONFEXP, MSG_DTF_1_CONFEXP_CFNP }, |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
393 |
{ 0, 0 } |
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
394 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
395 |
static const Val_desc vda_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
396 |
{ DTF_1_PARINIT, MSG_DTF_1_PARINIT_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
397 |
{ DTF_1_CONFEXP, MSG_DTF_1_CONFEXP_NF }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
398 |
{ 0, 0 } |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
399 |
}; |
0 | 400 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
401 |
switch (CONV_TYPE_FMT_ALT(fmt_flags)) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
402 |
case CONV_FMT_ALT_CF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
403 |
return (vda_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
404 |
case CONV_FMT_ALT_NF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
405 |
return (vda_nf); |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
406 |
} |
0 | 407 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
408 |
return (vda_cfnp); |
0 | 409 |
} |
410 |
||
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
411 |
conv_iter_ret_t |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
412 |
conv_iter_dyn_feature1(Conv_fmt_flags_t fmt_flags, conv_iter_cb_t func, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
413 |
void *uvalue) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
414 |
{ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
415 |
return (conv_iter_vd(conv_dyn_feature1_strings(fmt_flags), |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
416 |
func, uvalue)); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
417 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
418 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
419 |
const conv_ds_t ** |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
420 |
conv_dyn_tag_strings(conv_iter_osabi_t osabi, Half mach, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
421 |
Conv_fmt_flags_t fmt_flags) |
0 | 422 |
{ |
3492 | 423 |
/* |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
424 |
* Maximum # of items that can be in the returned array. Size this |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
425 |
* by counting the maximum depth in the switch statement that fills |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
426 |
* retarr at the end of this function. |
3492 | 427 |
*/ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
428 |
#define MAX_RET 12 |
3492 | 429 |
|
430 |
/* |
|
431 |
* Generic dynamic tags: |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
432 |
* - Note hole between DT_FLAGS and DT_PREINIT_ARRAY (tag 32). |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
433 |
* We use a 0, which is the signal for "not defined". |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
434 |
* - This range has alternative names for dump, requiring an |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
435 |
* additional array. |
3492 | 436 |
*/ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
437 |
static const Msg tags_null_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
438 |
MSG_DT_NULL_CF, MSG_DT_NEEDED_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
439 |
MSG_DT_PLTRELSZ_CF, MSG_DT_PLTGOT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
440 |
MSG_DT_HASH_CF, MSG_DT_STRTAB_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
441 |
MSG_DT_SYMTAB_CF, MSG_DT_RELA_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
442 |
MSG_DT_RELASZ_CF, MSG_DT_RELAENT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
443 |
MSG_DT_STRSZ_CF, MSG_DT_SYMENT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
444 |
MSG_DT_INIT_CF, MSG_DT_FINI_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
445 |
MSG_DT_SONAME_CF, MSG_DT_RPATH_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
446 |
MSG_DT_SYMBOLIC_CF, MSG_DT_REL_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
447 |
MSG_DT_RELSZ_CF, MSG_DT_RELENT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
448 |
MSG_DT_PLTREL_CF, MSG_DT_DEBUG_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
449 |
MSG_DT_TEXTREL_CF, MSG_DT_JMPREL_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
450 |
MSG_DT_BIND_NOW_CF, MSG_DT_INIT_ARRAY_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
451 |
MSG_DT_FINI_ARRAY_CF, MSG_DT_INIT_ARRAYSZ_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
452 |
MSG_DT_FINI_ARRAYSZ_CF, MSG_DT_RUNPATH_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
453 |
MSG_DT_FLAGS_CF, 0, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
454 |
MSG_DT_PREINIT_ARRAY_CF, MSG_DT_PREINIT_ARRAYSZ_CF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
455 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
456 |
static const Msg tags_null_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
457 |
MSG_DT_NULL_CFNP, MSG_DT_NEEDED_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
458 |
MSG_DT_PLTRELSZ_CFNP, MSG_DT_PLTGOT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
459 |
MSG_DT_HASH_CFNP, MSG_DT_STRTAB_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
460 |
MSG_DT_SYMTAB_CFNP, MSG_DT_RELA_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
461 |
MSG_DT_RELASZ_CFNP, MSG_DT_RELAENT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
462 |
MSG_DT_STRSZ_CFNP, MSG_DT_SYMENT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
463 |
MSG_DT_INIT_CFNP, MSG_DT_FINI_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
464 |
MSG_DT_SONAME_CFNP, MSG_DT_RPATH_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
465 |
MSG_DT_SYMBOLIC_CFNP, MSG_DT_REL_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
466 |
MSG_DT_RELSZ_CFNP, MSG_DT_RELENT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
467 |
MSG_DT_PLTREL_CFNP, MSG_DT_DEBUG_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
468 |
MSG_DT_TEXTREL_CFNP, MSG_DT_JMPREL_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
469 |
MSG_DT_BIND_NOW_CFNP, MSG_DT_INIT_ARRAY_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
470 |
MSG_DT_FINI_ARRAY_CFNP, MSG_DT_INIT_ARRAYSZ_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
471 |
MSG_DT_FINI_ARRAYSZ_CFNP, MSG_DT_RUNPATH_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
472 |
MSG_DT_FLAGS_CFNP, 0, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
473 |
MSG_DT_PREINIT_ARRAY_CFNP, MSG_DT_PREINIT_ARRAYSZ_CFNP |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
474 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
475 |
static const Msg tags_null_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
476 |
MSG_DT_NULL_NF, MSG_DT_NEEDED_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
477 |
MSG_DT_PLTRELSZ_NF, MSG_DT_PLTGOT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
478 |
MSG_DT_HASH_NF, MSG_DT_STRTAB_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
479 |
MSG_DT_SYMTAB_NF, MSG_DT_RELA_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
480 |
MSG_DT_RELASZ_NF, MSG_DT_RELAENT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
481 |
MSG_DT_STRSZ_NF, MSG_DT_SYMENT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
482 |
MSG_DT_INIT_NF, MSG_DT_FINI_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
483 |
MSG_DT_SONAME_NF, MSG_DT_RPATH_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
484 |
MSG_DT_SYMBOLIC_NF, MSG_DT_REL_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
485 |
MSG_DT_RELSZ_NF, MSG_DT_RELENT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
486 |
MSG_DT_PLTREL_NF, MSG_DT_DEBUG_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
487 |
MSG_DT_TEXTREL_NF, MSG_DT_JMPREL_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
488 |
MSG_DT_BIND_NOW_NF, MSG_DT_INIT_ARRAY_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
489 |
MSG_DT_FINI_ARRAY_NF, MSG_DT_INIT_ARRAYSZ_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
490 |
MSG_DT_FINI_ARRAYSZ_NF, MSG_DT_RUNPATH_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
491 |
MSG_DT_FLAGS_NF, 0, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
492 |
MSG_DT_PREINIT_ARRAY_NF, MSG_DT_PREINIT_ARRAYSZ_NF |
3492 | 493 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
494 |
static const Msg tags_null_dmp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
495 |
MSG_DT_NULL_CFNP, MSG_DT_NEEDED_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
496 |
MSG_DT_PLTRELSZ_DMP, MSG_DT_PLTGOT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
497 |
MSG_DT_HASH_CFNP, MSG_DT_STRTAB_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
498 |
MSG_DT_SYMTAB_CFNP, MSG_DT_RELA_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
499 |
MSG_DT_RELASZ_CFNP, MSG_DT_RELAENT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
500 |
MSG_DT_STRSZ_CFNP, MSG_DT_SYMENT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
501 |
MSG_DT_INIT_CFNP, MSG_DT_FINI_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
502 |
MSG_DT_SONAME_CFNP, MSG_DT_RPATH_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
503 |
MSG_DT_SYMBOLIC_DMP, MSG_DT_REL_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
504 |
MSG_DT_RELSZ_CFNP, MSG_DT_RELENT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
505 |
MSG_DT_PLTREL_CFNP, MSG_DT_DEBUG_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
506 |
MSG_DT_TEXTREL_CFNP, MSG_DT_JMPREL_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
507 |
MSG_DT_BIND_NOW_CFNP, MSG_DT_INIT_ARRAY_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
508 |
MSG_DT_FINI_ARRAY_CFNP, MSG_DT_INIT_ARRAYSZ_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
509 |
MSG_DT_FINI_ARRAYSZ_CFNP, MSG_DT_RUNPATH_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
510 |
MSG_DT_FLAGS_CFNP, 0, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
511 |
MSG_DT_PREINIT_ARRAY_CFNP, MSG_DT_PREINIT_ARRAYSZ_CFNP |
1976 | 512 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
513 |
static const conv_ds_msg_t ds_null_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
514 |
CONV_DS_MSG_INIT(DT_NULL, tags_null_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
515 |
static const conv_ds_msg_t ds_null_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
516 |
CONV_DS_MSG_INIT(DT_NULL, tags_null_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
517 |
static const conv_ds_msg_t ds_null_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
518 |
CONV_DS_MSG_INIT(DT_NULL, tags_null_nf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
519 |
static const conv_ds_msg_t ds_null_dmp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
520 |
CONV_DS_MSG_INIT(DT_NULL, tags_null_dmp) }; |
0 | 521 |
|
3492 | 522 |
/* |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
523 |
* DT_SPARC_REGISTER was originally assigned 0x7000001. It is processor |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
524 |
* specific, and should have been in the range DT_LOPROC-DT_HIPROC |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
525 |
* instead of here. When the error was fixed, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
526 |
* DT_DEPRECATED_SPARC_REGISTER was created to maintain backward |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
527 |
* compatability. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
528 |
*/ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
529 |
static const Msg tags_sdreg_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
530 |
MSG_DT_DEP_SPARC_REG_CF }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
531 |
static const Msg tags_sdreg_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
532 |
MSG_DT_DEP_SPARC_REG_CFNP }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
533 |
static const Msg tags_sdreg_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
534 |
MSG_DT_DEP_SPARC_REG_NF }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
535 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
536 |
static const conv_ds_msg_t ds_sdreg_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
537 |
CONV_DS_MSG_INIT(DT_DEPRECATED_SPARC_REGISTER, tags_sdreg_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
538 |
static const conv_ds_msg_t ds_sdreg_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
539 |
CONV_DS_MSG_INIT(DT_DEPRECATED_SPARC_REGISTER, tags_sdreg_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
540 |
static const conv_ds_msg_t ds_sdreg_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
541 |
CONV_DS_MSG_INIT(DT_DEPRECATED_SPARC_REGISTER, tags_sdreg_nf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
542 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
543 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
544 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
545 |
* SUNW: DT_LOOS -> DT_HIOS range. Note holes between DT_SUNW_TLSSORTSZ, |
6206 | 546 |
* DT_SUNW_STRPAD, and DT_SUNW_LDMACH. We handle the outliers |
547 |
* separately below as single values. |
|
3492 | 548 |
*/ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
549 |
static const Msg tags_sunw_auxiliary_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
550 |
MSG_DT_SUNW_AUXILIARY_CF, MSG_DT_SUNW_RTLDINF_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
551 |
MSG_DT_SUNW_FILTER_CF, MSG_DT_SUNW_CAP_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
552 |
MSG_DT_SUNW_SYMTAB_CF, MSG_DT_SUNW_SYMSZ_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
553 |
MSG_DT_SUNW_SORTENT_CF, MSG_DT_SUNW_SYMSORT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
554 |
MSG_DT_SUNW_SYMSORTSZ_CF, MSG_DT_SUNW_TLSSORT_CF, |
11827 | 555 |
MSG_DT_SUNW_TLSSORTSZ_CF, MSG_DT_SUNW_CAPINFO_CF, |
556 |
MSG_DT_SUNW_STRPAD_CF, MSG_DT_SUNW_CAPCHAIN_CF, |
|
557 |
MSG_DT_SUNW_LDMACH_CF, 0, |
|
558 |
MSG_DT_SUNW_CAPCHAINENT_CF, 0, |
|
559 |
MSG_DT_SUNW_CAPCHAINSZ_CF |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
560 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
561 |
static const Msg tags_sunw_auxiliary_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
562 |
MSG_DT_SUNW_AUXILIARY_CFNP, MSG_DT_SUNW_RTLDINF_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
563 |
MSG_DT_SUNW_FILTER_CFNP, MSG_DT_SUNW_CAP_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
564 |
MSG_DT_SUNW_SYMTAB_CFNP, MSG_DT_SUNW_SYMSZ_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
565 |
MSG_DT_SUNW_SORTENT_CFNP, MSG_DT_SUNW_SYMSORT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
566 |
MSG_DT_SUNW_SYMSORTSZ_CFNP, MSG_DT_SUNW_TLSSORT_CFNP, |
11827 | 567 |
MSG_DT_SUNW_TLSSORTSZ_CFNP, MSG_DT_SUNW_CAPINFO_CFNP, |
568 |
MSG_DT_SUNW_STRPAD_CFNP, MSG_DT_SUNW_CAPCHAIN_CFNP, |
|
569 |
MSG_DT_SUNW_LDMACH_CFNP, 0, |
|
570 |
MSG_DT_SUNW_CAPCHAINENT_CFNP, 0, |
|
571 |
MSG_DT_SUNW_CAPCHAINSZ_CFNP |
|
3492 | 572 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
573 |
static const Msg tags_sunw_auxiliary_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
574 |
MSG_DT_SUNW_AUXILIARY_NF, MSG_DT_SUNW_RTLDINF_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
575 |
MSG_DT_SUNW_FILTER_NF, MSG_DT_SUNW_CAP_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
576 |
MSG_DT_SUNW_SYMTAB_NF, MSG_DT_SUNW_SYMSZ_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
577 |
MSG_DT_SUNW_SORTENT_NF, MSG_DT_SUNW_SYMSORT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
578 |
MSG_DT_SUNW_SYMSORTSZ_NF, MSG_DT_SUNW_TLSSORT_NF, |
11827 | 579 |
MSG_DT_SUNW_TLSSORTSZ_NF, MSG_DT_SUNW_CAPINFO_NF, |
580 |
MSG_DT_SUNW_STRPAD_NF, MSG_DT_SUNW_CAPCHAIN_NF, |
|
581 |
MSG_DT_SUNW_LDMACH_NF, 0, |
|
582 |
MSG_DT_SUNW_CAPCHAINENT_NF, 0, |
|
583 |
MSG_DT_SUNW_CAPCHAINSZ_NF |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
584 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
585 |
static const conv_ds_msg_t ds_sunw_auxiliary_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
586 |
CONV_DS_MSG_INIT(DT_SUNW_AUXILIARY, tags_sunw_auxiliary_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
587 |
static const conv_ds_msg_t ds_sunw_auxiliary_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
588 |
CONV_DS_MSG_INIT(DT_SUNW_AUXILIARY, tags_sunw_auxiliary_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
589 |
static const conv_ds_msg_t ds_sunw_auxiliary_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
590 |
CONV_DS_MSG_INIT(DT_SUNW_AUXILIARY, tags_sunw_auxiliary_nf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
591 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
592 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
593 |
* GNU: (In DT_VALRNGLO section) DT_GNU_PRELINKED - DT_GNU_LIBLISTSZ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
594 |
*/ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
595 |
static const Msg tags_gnu_prelinked_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
596 |
MSG_DT_GNU_PRELINKED_CF, MSG_DT_GNU_CONFLICTSZ_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
597 |
MSG_DT_GNU_LIBLISTSZ_CF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
598 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
599 |
static const Msg tags_gnu_prelinked_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
600 |
MSG_DT_GNU_PRELINKED_CFNP, MSG_DT_GNU_CONFLICTSZ_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
601 |
MSG_DT_GNU_LIBLISTSZ_CFNP |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
602 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
603 |
static const Msg tags_gnu_prelinked_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
604 |
MSG_DT_GNU_PRELINKED_NF, MSG_DT_GNU_CONFLICTSZ_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
605 |
MSG_DT_GNU_LIBLISTSZ_NF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
606 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
607 |
static const conv_ds_msg_t ds_gnu_prelinked_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
608 |
CONV_DS_MSG_INIT(DT_GNU_PRELINKED, tags_gnu_prelinked_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
609 |
static const conv_ds_msg_t ds_gnu_prelinked_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
610 |
CONV_DS_MSG_INIT(DT_GNU_PRELINKED, tags_gnu_prelinked_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
611 |
static const conv_ds_msg_t ds_gnu_prelinked_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
612 |
CONV_DS_MSG_INIT(DT_GNU_PRELINKED, tags_gnu_prelinked_nf) }; |
0 | 613 |
|
3492 | 614 |
/* |
615 |
* SUNW: DT_VALRNGLO - DT_VALRNGHI range. |
|
616 |
*/ |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
617 |
static const Msg tags_checksum_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
618 |
MSG_DT_CHECKSUM_CF, MSG_DT_PLTPADSZ_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
619 |
MSG_DT_MOVEENT_CF, MSG_DT_MOVESZ_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
620 |
MSG_DT_FEATURE_1_CF, MSG_DT_POSFLAG_1_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
621 |
MSG_DT_SYMINSZ_CF, MSG_DT_SYMINENT_CF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
622 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
623 |
static const Msg tags_checksum_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
624 |
MSG_DT_CHECKSUM_CFNP, MSG_DT_PLTPADSZ_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
625 |
MSG_DT_MOVEENT_CFNP, MSG_DT_MOVESZ_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
626 |
MSG_DT_FEATURE_1_CFNP, MSG_DT_POSFLAG_1_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
627 |
MSG_DT_SYMINSZ_CFNP, MSG_DT_SYMINENT_CFNP |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
628 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
629 |
static const Msg tags_checksum_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
630 |
MSG_DT_CHECKSUM_NF, MSG_DT_PLTPADSZ_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
631 |
MSG_DT_MOVEENT_NF, MSG_DT_MOVESZ_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
632 |
MSG_DT_FEATURE_1_NF, MSG_DT_POSFLAG_1_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
633 |
MSG_DT_SYMINSZ_NF, MSG_DT_SYMINENT_NF |
3492 | 634 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
635 |
static const conv_ds_msg_t ds_checksum_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
636 |
CONV_DS_MSG_INIT(DT_CHECKSUM, tags_checksum_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
637 |
static const conv_ds_msg_t ds_checksum_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
638 |
CONV_DS_MSG_INIT(DT_CHECKSUM, tags_checksum_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
639 |
static const conv_ds_msg_t ds_checksum_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
640 |
CONV_DS_MSG_INIT(DT_CHECKSUM, tags_checksum_nf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
641 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
642 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
643 |
* GNU: (In DT_ADDRRNGLO section) DT_GNU_HASH - DT_GNU_LIBLIST |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
644 |
*/ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
645 |
static const Msg tags_gnu_hash_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
646 |
MSG_DT_GNU_HASH_CF, MSG_DT_TLSDESC_PLT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
647 |
MSG_DT_TLSDESC_GOT_CF, MSG_DT_GNU_CONFLICT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
648 |
MSG_DT_GNU_LIBLIST_CF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
649 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
650 |
static const Msg tags_gnu_hash_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
651 |
MSG_DT_GNU_HASH_CFNP, MSG_DT_TLSDESC_PLT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
652 |
MSG_DT_TLSDESC_GOT_CFNP, MSG_DT_GNU_CONFLICT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
653 |
MSG_DT_GNU_LIBLIST_CFNP |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
654 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
655 |
static const Msg tags_gnu_hash_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
656 |
MSG_DT_GNU_HASH_NF, MSG_DT_TLSDESC_PLT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
657 |
MSG_DT_TLSDESC_GOT_NF, MSG_DT_GNU_CONFLICT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
658 |
MSG_DT_GNU_LIBLIST_NF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
659 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
660 |
static const conv_ds_msg_t ds_gnu_hash_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
661 |
CONV_DS_MSG_INIT(DT_GNU_HASH, tags_gnu_hash_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
662 |
static const conv_ds_msg_t ds_gnu_hash_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
663 |
CONV_DS_MSG_INIT(DT_GNU_HASH, tags_gnu_hash_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
664 |
static const conv_ds_msg_t ds_gnu_hash_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
665 |
CONV_DS_MSG_INIT(DT_GNU_HASH, tags_gnu_hash_nf) }; |
3492 | 666 |
|
667 |
/* |
|
668 |
* SUNW: DT_ADDRRNGLO - DT_ADDRRNGHI range. |
|
669 |
*/ |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
670 |
static const Msg tags_config_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
671 |
MSG_DT_CONFIG_CF, MSG_DT_DEPAUDIT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
672 |
MSG_DT_AUDIT_CF, MSG_DT_PLTPAD_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
673 |
MSG_DT_MOVETAB_CF, MSG_DT_SYMINFO_CF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
674 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
675 |
static const Msg tags_config_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
676 |
MSG_DT_CONFIG_CFNP, MSG_DT_DEPAUDIT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
677 |
MSG_DT_AUDIT_CFNP, MSG_DT_PLTPAD_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
678 |
MSG_DT_MOVETAB_CFNP, MSG_DT_SYMINFO_CFNP |
3492 | 679 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
680 |
static const Msg tags_config_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
681 |
MSG_DT_CONFIG_NF, MSG_DT_DEPAUDIT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
682 |
MSG_DT_AUDIT_NF, MSG_DT_PLTPAD_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
683 |
MSG_DT_MOVETAB_NF, MSG_DT_SYMINFO_NF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
684 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
685 |
static const conv_ds_msg_t ds_config_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
686 |
CONV_DS_MSG_INIT(DT_CONFIG, tags_config_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
687 |
static const conv_ds_msg_t ds_config_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
688 |
CONV_DS_MSG_INIT(DT_CONFIG, tags_config_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
689 |
static const conv_ds_msg_t ds_config_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
690 |
CONV_DS_MSG_INIT(DT_CONFIG, tags_config_nf) }; |
0 | 691 |
|
3492 | 692 |
/* |
693 |
* SUNW: generic range. Note hole between DT_VERSYM and DT_RELACOUNT. |
|
694 |
*/ |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
695 |
static const Msg tags_versym_cf[] = { MSG_DT_VERSYM_CF }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
696 |
static const Msg tags_versym_cfnp[] = { MSG_DT_VERSYM_CFNP }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
697 |
static const Msg tags_versym_nf[] = { MSG_DT_VERSYM_NF }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
698 |
static const conv_ds_msg_t ds_versym_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
699 |
CONV_DS_MSG_INIT(DT_VERSYM, tags_versym_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
700 |
static const conv_ds_msg_t ds_versym_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
701 |
CONV_DS_MSG_INIT(DT_VERSYM, tags_versym_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
702 |
static const conv_ds_msg_t ds_versym_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
703 |
CONV_DS_MSG_INIT(DT_VERSYM, tags_versym_nf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
704 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
705 |
static const Msg tags_relacount_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
706 |
MSG_DT_RELACOUNT_CF, MSG_DT_RELCOUNT_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
707 |
MSG_DT_FLAGS_1_CF, MSG_DT_VERDEF_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
708 |
MSG_DT_VERDEFNUM_CF, MSG_DT_VERNEED_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
709 |
MSG_DT_VERNEEDNUM_CF |
3492 | 710 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
711 |
static const Msg tags_relacount_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
712 |
MSG_DT_RELACOUNT_CFNP, MSG_DT_RELCOUNT_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
713 |
MSG_DT_FLAGS_1_CFNP, MSG_DT_VERDEF_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
714 |
MSG_DT_VERDEFNUM_CFNP, MSG_DT_VERNEED_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
715 |
MSG_DT_VERNEEDNUM_CFNP |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
716 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
717 |
static const Msg tags_relacount_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
718 |
MSG_DT_RELACOUNT_NF, MSG_DT_RELCOUNT_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
719 |
MSG_DT_FLAGS_1_NF, MSG_DT_VERDEF_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
720 |
MSG_DT_VERDEFNUM_NF, MSG_DT_VERNEED_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
721 |
MSG_DT_VERNEEDNUM_NF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
722 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
723 |
static const conv_ds_msg_t ds_relacount_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
724 |
CONV_DS_MSG_INIT(DT_RELACOUNT, tags_relacount_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
725 |
static const conv_ds_msg_t ds_relacount_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
726 |
CONV_DS_MSG_INIT(DT_RELACOUNT, tags_relacount_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
727 |
static const conv_ds_msg_t ds_relacount_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
728 |
CONV_DS_MSG_INIT(DT_RELACOUNT, tags_relacount_nf) }; |
3492 | 729 |
|
730 |
/* |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
731 |
* DT_LOPROC - DT_HIPROC range: solaris/sparc-only |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
732 |
*/ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
733 |
static const Msg tags_sparc_reg_cf[] = { MSG_DT_SPARC_REGISTER_CF }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
734 |
static const Msg tags_sparc_reg_cfnp[] = { MSG_DT_SPARC_REGISTER_CFNP }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
735 |
static const Msg tags_sparc_reg_nf[] = { MSG_DT_SPARC_REGISTER_NF }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
736 |
static const Msg tags_sparc_reg_dmp[] = { MSG_DT_SPARC_REGISTER_DMP }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
737 |
static const conv_ds_msg_t ds_sparc_reg_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
738 |
CONV_DS_MSG_INIT(DT_SPARC_REGISTER, tags_sparc_reg_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
739 |
static const conv_ds_msg_t ds_sparc_reg_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
740 |
CONV_DS_MSG_INIT(DT_SPARC_REGISTER, tags_sparc_reg_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
741 |
static const conv_ds_msg_t ds_sparc_reg_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
742 |
CONV_DS_MSG_INIT(DT_SPARC_REGISTER, tags_sparc_reg_nf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
743 |
static const conv_ds_msg_t ds_sparc_reg_dmp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
744 |
CONV_DS_MSG_INIT(DT_SPARC_REGISTER, tags_sparc_reg_dmp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
745 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
746 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
747 |
* DT_LOPROC - DT_HIPROC range: Solaris osabi, all hardware |
3492 | 748 |
*/ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
749 |
static const Msg tags_auxiliary_cf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
750 |
MSG_DT_AUXILIARY_CF, MSG_DT_USED_CF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
751 |
MSG_DT_FILTER_CF |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
752 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
753 |
static const Msg tags_auxiliary_cfnp[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
754 |
MSG_DT_AUXILIARY_CFNP, MSG_DT_USED_CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
755 |
MSG_DT_FILTER_CFNP |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
756 |
}; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
757 |
static const Msg tags_auxiliary_nf[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
758 |
MSG_DT_AUXILIARY_NF, MSG_DT_USED_NF, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
759 |
MSG_DT_FILTER_NF |
3492 | 760 |
}; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
761 |
static const conv_ds_msg_t ds_auxiliary_cf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
762 |
CONV_DS_MSG_INIT(DT_AUXILIARY, tags_auxiliary_cf) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
763 |
static const conv_ds_msg_t ds_auxiliary_cfnp = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
764 |
CONV_DS_MSG_INIT(DT_AUXILIARY, tags_auxiliary_cfnp) }; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
765 |
static const conv_ds_msg_t ds_auxiliary_nf = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
766 |
CONV_DS_MSG_INIT(DT_AUXILIARY, tags_auxiliary_nf) }; |
3492 | 767 |
|
768 |
||
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
769 |
static const conv_ds_t *retarr[MAX_RET]; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
770 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
771 |
int ndx = 0; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
772 |
int fmt_osabi = CONV_TYPE_FMT_ALT(fmt_flags); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
773 |
int mach_sparc, osabi_solaris, osabi_linux; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
774 |
|
3492 | 775 |
|
0 | 776 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
777 |
osabi_solaris = (osabi == ELFOSABI_NONE) || |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
778 |
(osabi == ELFOSABI_SOLARIS) || (osabi == CONV_OSABI_ALL); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
779 |
osabi_linux = (osabi == ELFOSABI_LINUX) || (osabi == CONV_OSABI_ALL); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
780 |
mach_sparc = (mach == EM_SPARC) || (mach == EM_SPARCV9) || |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
781 |
(mach == EM_SPARC32PLUS) || (mach == CONV_MACH_ALL); |
0 | 782 |
|
3492 | 783 |
/* |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
784 |
* Fill in retarr with the descriptors for the messages that |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
785 |
* apply to the current osabi. Note that we order these items such |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
786 |
* that the more common are placed at the beginning, and the less |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
787 |
* likely at the end. This should speed the common case. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
788 |
* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
789 |
* Note that the CFNP and DMP styles are very similar, so they |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
790 |
* are combined in 'default', and fmt_osabi is consulted when there |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
791 |
* are differences. |
3492 | 792 |
*/ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
793 |
switch (fmt_osabi) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
794 |
case CONV_FMT_ALT_CF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
795 |
retarr[ndx++] = CONV_DS_ADDR(ds_null_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
796 |
if (osabi_solaris) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
797 |
retarr[ndx++] = CONV_DS_ADDR(ds_sunw_auxiliary_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
798 |
retarr[ndx++] = CONV_DS_ADDR(ds_checksum_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
799 |
retarr[ndx++] = CONV_DS_ADDR(ds_config_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
800 |
retarr[ndx++] = CONV_DS_ADDR(ds_versym_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
801 |
retarr[ndx++] = CONV_DS_ADDR(ds_relacount_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
802 |
if (osabi_solaris) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
803 |
retarr[ndx++] = CONV_DS_ADDR(ds_auxiliary_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
804 |
if (mach_sparc) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
805 |
retarr[ndx++] = CONV_DS_ADDR(ds_sparc_reg_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
806 |
retarr[ndx++] = CONV_DS_ADDR(ds_sdreg_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
807 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
808 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
809 |
if (osabi_linux) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
810 |
retarr[ndx++] = CONV_DS_ADDR(ds_gnu_prelinked_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
811 |
retarr[ndx++] = CONV_DS_ADDR(ds_gnu_hash_cf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
812 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
813 |
break; |
3492 | 814 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
815 |
case CONV_FMT_ALT_NF: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
816 |
retarr[ndx++] = CONV_DS_ADDR(ds_null_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
817 |
if (osabi_solaris) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
818 |
retarr[ndx++] = CONV_DS_ADDR(ds_sunw_auxiliary_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
819 |
retarr[ndx++] = CONV_DS_ADDR(ds_checksum_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
820 |
retarr[ndx++] = CONV_DS_ADDR(ds_config_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
821 |
retarr[ndx++] = CONV_DS_ADDR(ds_versym_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
822 |
retarr[ndx++] = CONV_DS_ADDR(ds_relacount_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
823 |
if (osabi_solaris) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
824 |
retarr[ndx++] = CONV_DS_ADDR(ds_auxiliary_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
825 |
if (mach_sparc) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
826 |
retarr[ndx++] = CONV_DS_ADDR(ds_sparc_reg_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
827 |
retarr[ndx++] = CONV_DS_ADDR(ds_sdreg_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
828 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
829 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
830 |
if (osabi_linux) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
831 |
retarr[ndx++] = CONV_DS_ADDR(ds_gnu_prelinked_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
832 |
retarr[ndx++] = CONV_DS_ADDR(ds_gnu_hash_nf); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
833 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
834 |
break; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
835 |
default: |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
836 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
837 |
* The default style for the generic range is CFNP, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
838 |
* while dump has a couple of different strings. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
839 |
*/ |
3492 | 840 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
841 |
retarr[ndx++] = (fmt_osabi == CONV_FMT_ALT_DUMP) ? |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
842 |
CONV_DS_ADDR(ds_null_dmp) : CONV_DS_ADDR(ds_null_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
843 |
if (osabi_solaris) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
844 |
retarr[ndx++] = CONV_DS_ADDR(ds_sunw_auxiliary_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
845 |
retarr[ndx++] = CONV_DS_ADDR(ds_checksum_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
846 |
retarr[ndx++] = CONV_DS_ADDR(ds_config_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
847 |
retarr[ndx++] = CONV_DS_ADDR(ds_versym_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
848 |
retarr[ndx++] = CONV_DS_ADDR(ds_relacount_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
849 |
if (osabi_solaris) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
850 |
retarr[ndx++] = CONV_DS_ADDR(ds_auxiliary_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
851 |
if (mach_sparc) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
852 |
/* |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
853 |
* The default style for DT_SPARC_REGISTER |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
854 |
* is the dump style, which omits the 'SPARC_'. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
855 |
* CFNP keeps the prefix. |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
856 |
*/ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
857 |
retarr[ndx++] = |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
858 |
(fmt_osabi == CONV_FMT_ALT_CFNP) ? |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
859 |
CONV_DS_ADDR(ds_sparc_reg_cfnp) : |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
860 |
CONV_DS_ADDR(ds_sparc_reg_dmp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
861 |
retarr[ndx++] = CONV_DS_ADDR(ds_sdreg_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
862 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
863 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
864 |
if (osabi_linux) { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
865 |
retarr[ndx++] = CONV_DS_ADDR(ds_gnu_prelinked_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
866 |
retarr[ndx++] = CONV_DS_ADDR(ds_gnu_hash_cfnp); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
867 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
868 |
break; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
869 |
} |
3492 | 870 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
871 |
retarr[ndx++] = NULL; |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
872 |
assert(ndx <= MAX_RET); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
873 |
return (retarr); |
0 | 874 |
} |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
875 |
|
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
876 |
conv_iter_ret_t |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
877 |
conv_iter_dyn_tag(conv_iter_osabi_t osabi, Half mach, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
878 |
Conv_fmt_flags_t fmt_flags, conv_iter_cb_t func, void *uvalue) |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
879 |
{ |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
880 |
return (conv_iter_ds(osabi, mach, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
881 |
conv_dyn_tag_strings(osabi, mach, fmt_flags), func, uvalue)); |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
882 |
} |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
883 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
884 |
|
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
885 |
#define BINDTSZ CONV_EXPN_FIELD_DEF_PREFIX_SIZE + \ |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
886 |
MSG_BND_NEEDED_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
887 |
MSG_BND_REFER_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
888 |
MSG_BND_FILTER_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
889 |
CONV_INV_BUFSIZE + CONV_EXPN_FIELD_DEF_SUFFIX_SIZE |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
890 |
|
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
891 |
/* |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
892 |
* Ensure that Conv_bnd_type_buf_t is large enough: |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
893 |
* |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
894 |
* BINDTSZ is the real minimum size of the buffer required by conv_bnd_type(). |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
895 |
* However, Conv_bnd_type_buf_t uses CONV_BND_TYPE_BUFSIZE to set the |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
896 |
* buffer size. We do things this way because the definition of BINDTSZ uses |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
897 |
* information that is not available in the environment of other programs |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
898 |
* that include the conv.h header file. |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
899 |
*/ |
5152
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
900 |
#if (CONV_BND_TYPE_BUFSIZE != BINDTSZ) && !defined(__lint) |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
901 |
#define REPORT_BUFSIZE BINDTSZ |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
902 |
#include "report_bufsize.h" |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
903 |
#error "CONV_BND_TYPE_BUFSIZE does not match BINDTSZ" |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
904 |
#endif |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
905 |
|
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
906 |
const char * |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
907 |
conv_bnd_type(uint_t flags, Conv_bnd_type_buf_t *bnd_type_buf) |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
908 |
{ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
909 |
static const Val_desc vda[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
910 |
{ BND_NEEDED, MSG_BND_NEEDED }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
911 |
{ BND_REFER, MSG_BND_REFER }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
912 |
{ BND_FILTER, MSG_BND_FILTER }, |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
913 |
{ 0, 0 } |
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
914 |
}; |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
915 |
static CONV_EXPN_FIELD_ARG conv_arg = { |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
916 |
NULL, sizeof (bnd_type_buf->buf) }; |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
917 |
|
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
918 |
if (flags == 0) |
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
919 |
return (MSG_ORIG(MSG_STR_EMPTY)); |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
920 |
|
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
921 |
conv_arg.buf = bnd_type_buf->buf; |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
922 |
conv_arg.oflags = conv_arg.rflags = flags; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
923 |
(void) conv_expn_field(&conv_arg, vda, 0); |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
924 |
|
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
925 |
return ((const char *)bnd_type_buf->buf); |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
926 |
} |
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
927 |
|
1824
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
928 |
/* |
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
929 |
* Note, conv_bnd_obj() is called with either: |
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
930 |
* LML_FLG_OBJADDED (possibly with LML_FLG_OBJREEVAL added), or |
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
931 |
* LML_FLG_OBJDELETED, or |
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
932 |
* LML_FLG_ATEXIT. |
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
933 |
*/ |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
934 |
#define BINDOSZ CONV_EXPN_FIELD_DEF_PREFIX_SIZE + \ |
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
935 |
MSG_BND_ADDED_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
936 |
MSG_BND_REEVAL_SIZE + CONV_EXPN_FIELD_DEF_SEP_SIZE + \ |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
937 |
CONV_INV_BUFSIZE + CONV_EXPN_FIELD_DEF_SUFFIX_SIZE |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
938 |
|
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
939 |
/* |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
940 |
* Ensure that Conv_bnd_obj_buf_t is large enough: |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
941 |
* |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
942 |
* BINDOSZ is the real minimum size of the buffer required by conv_bnd_obj(). |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
943 |
* However, Conv_bnd_obj_buf_t uses CONV_BND_OBJ_BUFSIZE to set the |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
944 |
* buffer size. We do things this way because the definition of BINDOSZ uses |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
945 |
* information that is not available in the environment of other programs |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
946 |
* that include the conv.h header file. |
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
947 |
*/ |
5152
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
948 |
#if (CONV_BND_OBJ_BUFSIZE != BINDOSZ) && !defined(__lint) |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
949 |
#define REPORT_BUFSIZE BINDOSZ |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
950 |
#include "report_bufsize.h" |
fa5ab16f3606
5035454 mixing -Kpic and -KPIC may cause SIGSEGV with -xarch=v9
ab196087
parents:
5088
diff
changeset
|
951 |
#error "CONV_BND_OBJ_BUFSIZE does not match BINDOSZ" |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
952 |
#endif |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
953 |
|
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
954 |
const char * |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
955 |
conv_bnd_obj(uint_t flags, Conv_bnd_obj_buf_t *bnd_obj_buf) |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
956 |
{ |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
957 |
static const Val_desc vda[] = { |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
958 |
{ LML_FLG_OBJADDED, MSG_BND_ADDED }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
959 |
{ LML_FLG_OBJREEVAL, MSG_BND_REEVAL }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
960 |
{ LML_FLG_OBJDELETED, MSG_BND_DELETED }, |
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
961 |
{ LML_FLG_ATEXIT, MSG_BND_ATEXIT }, |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
962 |
{ 0, 0 } |
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
963 |
}; |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
964 |
static CONV_EXPN_FIELD_ARG conv_arg = { |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
965 |
NULL, sizeof (bnd_obj_buf->buf) }; |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
966 |
|
1824
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
967 |
if ((flags & (LML_FLG_OBJADDED | LML_FLG_OBJREEVAL | |
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
968 |
LML_FLG_OBJDELETED | LML_FLG_ATEXIT)) == 0) |
9cc314774a20
6262333 init section of .so dlopened from audit interface not being called
rie
parents:
1698
diff
changeset
|
969 |
return (MSG_ORIG(MSG_BND_REVISIT)); |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
970 |
|
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
971 |
/* |
1618
8c9a4f31d225
6316708 LD_DEBUG should provide a means of identifying/isolating individual
rie
parents:
280
diff
changeset
|
972 |
* Note, we're not worried about unknown flags for this family, only |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
973 |
* the selected flags are of interest, so we leave conv_arg.rflags |
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
974 |
* set to 0. |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
975 |
*/ |
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
976 |
conv_arg.buf = bnd_obj_buf->buf; |
2352
9cdfed81bb1c
6421380 nm uses too many digits when formatting 64-bit hex values
ab196087
parents:
1976
diff
changeset
|
977 |
conv_arg.oflags = flags; |
9273
9a0603d78ad3
6821619 Solaris linkers need systematic approach to ELF OSABI
Ali Bahrami <Ali.Bahrami@Sun.COM>
parents:
6206
diff
changeset
|
978 |
(void) conv_expn_field(&conv_arg, vda, 0); |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
979 |
|
4734
a4708faa3e85
6583742 ELF string conversion library needs to lose static writable buffers
ab196087
parents:
4679
diff
changeset
|
980 |
return ((const char *)bnd_obj_buf->buf); |
280
ffd6f0e5ac00
6301218 Matlab dumps core on startup when running on 112963-22
rie
parents:
0
diff
changeset
|
981 |
} |