xref: /onnv-gate/usr/src/cmd/sgs/elfedit/common/lintsup.c (revision 5088:26c540f30cd3)
1*5088Sab196087 /*
2*5088Sab196087  * CDDL HEADER START
3*5088Sab196087  *
4*5088Sab196087  * The contents of this file are subject to the terms of the
5*5088Sab196087  * Common Development and Distribution License (the "License").
6*5088Sab196087  * You may not use this file except in compliance with the License.
7*5088Sab196087  *
8*5088Sab196087  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*5088Sab196087  * or http://www.opensolaris.org/os/licensing.
10*5088Sab196087  * See the License for the specific language governing permissions
11*5088Sab196087  * and limitations under the License.
12*5088Sab196087  *
13*5088Sab196087  * When distributing Covered Code, include this CDDL HEADER in each
14*5088Sab196087  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*5088Sab196087  * If applicable, add the following below this CDDL HEADER, with the
16*5088Sab196087  * fields enclosed by brackets "[]" replaced with your own identifying
17*5088Sab196087  * information: Portions Copyright [yyyy] [name of copyright owner]
18*5088Sab196087  *
19*5088Sab196087  * CDDL HEADER END
20*5088Sab196087  */
21*5088Sab196087 
22*5088Sab196087 /*
23*5088Sab196087  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
24*5088Sab196087  * Use is subject to license terms.
25*5088Sab196087  */
26*5088Sab196087 /* LINTLIBRARY */
27*5088Sab196087 /* PROTOLIB1 */
28*5088Sab196087 
29*5088Sab196087 #pragma ident	"%Z%%M%	%I%	%E% SMI"
30*5088Sab196087 
31*5088Sab196087 /*
32*5088Sab196087  * Supplemental Pseudo-code to get lint to consider these symbols used.
33*5088Sab196087  */
34*5088Sab196087 #include	<msg.h>
35*5088Sab196087 #include	<debug.h>
36*5088Sab196087 #include	<elfedit.h>
37*5088Sab196087 
38*5088Sab196087 /*
39*5088Sab196087  * Lint doesn't understand that both elfedit{32|64}_init_obj_state()
40*5088Sab196087  * gets built, because it doesn't know that elfedit_machelf.c gets
41*5088Sab196087  * compiled twice. The difference between this case and the others
42*5088Sab196087  * is that we don't use macros to give them both the same name,
43*5088Sab196087  * because elfedit.c needs to know about both explictly. So,
44*5088Sab196087  * supply the "missing" one here, for lint's benefit.
45*5088Sab196087  *
46*5088Sab196087  * This dummy routine eliminates the "name used but not defined"
47*5088Sab196087  * errors that otherwise result.
48*5088Sab196087  */
49*5088Sab196087 #ifdef _ELF64
50*5088Sab196087 /*ARGSUSED*/
51*5088Sab196087 void
52*5088Sab196087 elfedit32_init_obj_state(const char *file, int fd, Elf *elf)
53*5088Sab196087 {
54*5088Sab196087 }
55*5088Sab196087 #else
56*5088Sab196087 /*ARGSUSED*/
57*5088Sab196087 void
58*5088Sab196087 elfedit64_init_obj_state(const char *file, int fd, Elf *elf)
59*5088Sab196087 {
60*5088Sab196087 }
61*5088Sab196087 #endif
62*5088Sab196087 
63*5088Sab196087 
64*5088Sab196087 void
65*5088Sab196087 foo()
66*5088Sab196087 {
67*5088Sab196087 	dbg_print(NULL, NULL, 0);
68*5088Sab196087 
69*5088Sab196087 	elfedit_array_elts_delete(NULL, NULL, 0, 0, 0, 0);
70*5088Sab196087 	elfedit_array_elts_move(NULL, NULL, 0, 0, 0, 0, 0, NULL);
71*5088Sab196087 
72*5088Sab196087 	(void) _elfedit_msg((Msg)&__elfedit_msg[0]);
73*5088Sab196087 
74*5088Sab196087 	(void) elfedit_atoi(NULL, NULL);
75*5088Sab196087 	(void) elfedit_atoui(NULL, NULL);
76*5088Sab196087 	(void) elfedit_atoconst(NULL, 0);
77*5088Sab196087 
78*5088Sab196087 	(void) elfedit_atoi2(NULL, NULL, NULL);
79*5088Sab196087 	(void) elfedit_atoui2(NULL, NULL, NULL);
80*5088Sab196087 	(void) elfedit_atoconst2(NULL, 0, NULL);
81*5088Sab196087 
82*5088Sab196087 	(void) elfedit_atoi_range(NULL, NULL, 0, 0, NULL);
83*5088Sab196087 	(void) elfedit_atoui_range(NULL, NULL, 0, 0, NULL);
84*5088Sab196087 	(void) elfedit_atoconst_range(NULL, NULL, 0, 0, 0);
85*5088Sab196087 
86*5088Sab196087 	(void) elfedit_atoi_range2(NULL, 0, 0, NULL, NULL);
87*5088Sab196087 	(void) elfedit_atoui_range2(NULL, 0, 0, NULL, NULL);
88*5088Sab196087 	(void) elfedit_atoconst_range2(NULL, 0, 0, 0, NULL);
89*5088Sab196087 
90*5088Sab196087 	(void) elfedit_atoi_value_to_str(NULL, 0, 0);
91*5088Sab196087 	(void) elfedit_atoui_value_to_str(NULL, 0, 0);
92*5088Sab196087 	(void) elfedit_atoconst_value_to_str(0, 0, 0);
93*5088Sab196087 
94*5088Sab196087 	(void) elfedit_atoshndx(NULL, 0);
95*5088Sab196087 
96*5088Sab196087 	(void) elfedit_cpl_atoi(NULL, NULL);
97*5088Sab196087 	(void) elfedit_cpl_atoui(NULL, NULL);
98*5088Sab196087 	(void) elfedit_cpl_atoconst(NULL, 0);
99*5088Sab196087 
100*5088Sab196087 	(void) elfedit_dyn_offset_to_str(NULL, NULL);
101*5088Sab196087 	(void) elfedit_dynstr_insert(NULL, NULL, NULL, NULL);
102*5088Sab196087 	(void) elfedit_flags();
103*5088Sab196087 	(void) elfedit_modified_ehdr(NULL);
104*5088Sab196087 	(void) elfedit_modified_phdr(NULL);
105*5088Sab196087 	(void) elfedit_modified_shdr(NULL);
106*5088Sab196087 	(void) elfedit_mach_sunw_hw1_to_atoui(0);
107*5088Sab196087 	(void) elfedit_name_to_shndx(NULL, NULL);
108*5088Sab196087 	(void) elfedit_name_to_symndx(NULL, NULL, NULL, ELFEDIT_MSG_ERR, NULL);
109*5088Sab196087 	(void) elfedit_outstyle();
110*5088Sab196087 	(void) elfedit_sec_getcap(NULL, NULL, NULL);
111*5088Sab196087 	(void) elfedit_sec_getdyn(NULL, NULL, NULL);
112*5088Sab196087 	(void) elfedit_sec_getstr(NULL, 0);
113*5088Sab196087 	(void) elfedit_sec_getsyminfo(NULL, NULL, NULL);
114*5088Sab196087 	(void) elfedit_sec_getsymtab(NULL, 0, 0, NULL, NULL, NULL, NULL);
115*5088Sab196087 	(void) elfedit_sec_getversym(NULL, NULL, NULL, NULL);
116*5088Sab196087 	(void) elfedit_sec_getxshndx(NULL, NULL, NULL, NULL);
117*5088Sab196087 	(void) elfedit_sec_msgprefix(NULL);
118*5088Sab196087 	(void) elfedit_shndx_to_name(NULL, NULL);
119*5088Sab196087 	(void) elfedit_strtab_insert(NULL, NULL, NULL, NULL);
120*5088Sab196087 	(void) elfedit_strtab_insert_test(NULL, NULL, NULL, NULL);
121*5088Sab196087 	(void) elfedit_type_to_shndx(NULL, 0);
122*5088Sab196087 }
123