lintsup.c revision 12877:69001e4756ae
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
22/*
23 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
24 */
25/* LINTLIBRARY */
26/* PROTOLIB1 */
27
28/*
29 * Supplemental definitions for lint that help us avoid
30 * options like `-x' that filter out things we want to
31 * know about as well as things we don't.
32 */
33
34/*
35 * The public interfaces are allowed to be "declared
36 * but not used".
37 */
38#include <stdio.h>
39#include <sys/auxv.h>
40#include <libelf.h>
41#include <link.h>
42#include <demangle.h>
43#include <elfcap.h>
44#include <dwarf.h>
45#include "sgs.h"
46#include "rtld.h"
47#include "libld.h"
48#include "conv.h"
49
50/*
51 * Suppress the actual message codes from the sgsmsg headers.
52 * With multiple string tables, we will have name collisions.
53 */
54#define	LINTSUP_SUPPRESS_STRINGS
55#include "arch_msg.h"
56#include "audit_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_audit);
93	USE(_sgs_msg_libconv_c_literal);
94	USE(_sgs_msg_libconv_cap);
95	USE(_sgs_msg_libconv_config);
96	USE(_sgs_msg_libconv_corenote);
97	USE(_sgs_msg_libconv_data);
98	USE(_sgs_msg_libconv_deftag);
99	USE(_sgs_msg_libconv_demangle);
100	USE(_sgs_msg_libconv_dl);
101	USE(_sgs_msg_libconv_dwarf_ehe);
102	USE(_sgs_msg_libconv_dwarf);
103	USE(_sgs_msg_libconv_dynamic);
104	USE(_sgs_msg_libconv_elf);
105	USE(_sgs_msg_libconv_entry);
106	USE(_sgs_msg_libconv_globals);
107	USE(_sgs_msg_libconv_group);
108	USE(_sgs_msg_libconv_lddstub);
109	USE(_sgs_msg_libconv_map);
110	USE(_sgs_msg_libconv_phdr);
111	USE(_sgs_msg_libconv_relocate_amd64);
112	USE(_sgs_msg_libconv_relocate_i386);
113	USE(_sgs_msg_libconv_relocate_sparc);
114	USE(_sgs_msg_libconv_sections);
115	USE(_sgs_msg_libconv_segments);
116	USE(_sgs_msg_libconv_symbols);
117	USE(_sgs_msg_libconv_symbols_sparc);
118	USE(_sgs_msg_libconv_syminfo);
119	USE(_sgs_msg_libconv_time);
120	USE(_sgs_msg_libconv_version);
121
122#undef USE
123}
124