lintsup.c revision 11734:d29dc9c2b6c5
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
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 */
21/* LINTLIBRARY */
22/* PROTOLIB1 */
23
24/*
25 * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
26 * Use is subject to license terms.
27 */
28
29/*
30 * Supplimental definitions for lint that help us avoid
31 * options like `-x' that filter out things we want to
32 * know about as well as things we don't.
33 */
34
35/*
36 * The public interfaces are allowed to be "declared
37 * but not used".
38 */
39#include <stdio.h>
40#include <sys/auxv.h>
41#include <libelf.h>
42#include <link.h>
43#include <demangle.h>
44#include <elfcap.h>
45#include <dwarf.h>
46#include "sgs.h"
47#include "rtld.h"
48#include "libld.h"
49#include "conv.h"
50
51/*
52 * Suppress the actual message codes from the sgsmsg headers.
53 * With multiple string tables, we will have name collisions.
54 */
55#define	LINTSUP_SUPPRESS_STRINGS
56#include "arch_msg.h"
57#include "c_literal_msg.h"
58#include "cap_msg.h"
59#include "config_msg.h"
60#include "corenote_msg.h"
61#include "data_msg.h"
62#include "deftag_msg.h"
63#include "demangle_msg.h"
64#include "dl_msg.h"
65#include "dwarf_ehe_msg.h"
66#include "dwarf_msg.h"
67#include "dynamic_msg.h"
68#include "elf_msg.h"
69#include "entry_msg.h"
70#include "globals_msg.h"
71#include "group_msg.h"
72#include "lddstub_msg.h"
73#include "map_msg.h"
74#include "phdr_msg.h"
75#include "relocate_amd64_msg.h"
76#include "relocate_i386_msg.h"
77#include "relocate_sparc_msg.h"
78#include "sections_msg.h"
79#include "segments_msg.h"
80#include "symbols_msg.h"
81#include "symbols_sparc_msg.h"
82#include "syminfo_msg.h"
83#include "time_msg.h"
84#include "version_msg.h"
85
86void
87foo()
88{
89#define	USE(name) (void) name((Msg)&_ ## name[0])
90
91	USE(_sgs_msg_libconv_arch);
92	USE(_sgs_msg_libconv_c_literal);
93	USE(_sgs_msg_libconv_cap);
94	USE(_sgs_msg_libconv_config);
95	USE(_sgs_msg_libconv_corenote);
96	USE(_sgs_msg_libconv_data);
97	USE(_sgs_msg_libconv_deftag);
98	USE(_sgs_msg_libconv_demangle);
99	USE(_sgs_msg_libconv_dl);
100	USE(_sgs_msg_libconv_dwarf_ehe);
101	USE(_sgs_msg_libconv_dwarf);
102	USE(_sgs_msg_libconv_dynamic);
103	USE(_sgs_msg_libconv_elf);
104	USE(_sgs_msg_libconv_entry);
105	USE(_sgs_msg_libconv_globals);
106	USE(_sgs_msg_libconv_group);
107	USE(_sgs_msg_libconv_lddstub);
108	USE(_sgs_msg_libconv_map);
109	USE(_sgs_msg_libconv_phdr);
110	USE(_sgs_msg_libconv_relocate_amd64);
111	USE(_sgs_msg_libconv_relocate_i386);
112	USE(_sgs_msg_libconv_relocate_sparc);
113	USE(_sgs_msg_libconv_sections);
114	USE(_sgs_msg_libconv_segments);
115	USE(_sgs_msg_libconv_symbols);
116	USE(_sgs_msg_libconv_symbols_sparc);
117	USE(_sgs_msg_libconv_syminfo);
118	USE(_sgs_msg_libconv_time);
119	USE(_sgs_msg_libconv_version);
120
121#undef USE
122}
123