xref: /illumos-gate/usr/src/cmd/sgs/liblddbg/common/map.c (revision 08278a5e)
17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
55aefb655Srie  * Common Development and Distribution License (the "License").
65aefb655Srie  * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate  *
87c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate  * and limitations under the License.
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * CDDL HEADER END
207c478bd9Sstevel@tonic-gate  */
215aefb655Srie 
227c478bd9Sstevel@tonic-gate /*
23*69112eddSAli Bahrami  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
245aefb655Srie  * Use is subject to license terms.
257c478bd9Sstevel@tonic-gate  */
267c478bd9Sstevel@tonic-gate 
277c478bd9Sstevel@tonic-gate #include	"msg.h"
287c478bd9Sstevel@tonic-gate #include	"_debug.h"
297c478bd9Sstevel@tonic-gate #include	"libld.h"
307c478bd9Sstevel@tonic-gate 
315aefb655Srie 
32*69112eddSAli Bahrami /*
33*69112eddSAli Bahrami  * Report change in input enable status caused by evaluating
34*69112eddSAli Bahrami  * $if/$elif control directives.
35*69112eddSAli Bahrami  */
365aefb655Srie void
Dbg_map_pass(Lm_list * lml,Boolean enable,const char * file,Lineno lineno,const char * directive)37*69112eddSAli Bahrami Dbg_map_pass(Lm_list *lml, Boolean enable, const char *file,
38*69112eddSAli Bahrami     Lineno lineno, const char *directive)
395aefb655Srie {
40*69112eddSAli Bahrami 	const char *fmt;
41*69112eddSAli Bahrami 
425aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
435aefb655Srie 		return;
445aefb655Srie 
45*69112eddSAli Bahrami 	fmt = enable ? MSG_INTL(MSG_MAP_PASS) : MSG_INTL(MSG_MAP_NOPASS);
46*69112eddSAli Bahrami 	dbg_print(lml, fmt, file, EC_LINENO(lineno), directive);
475aefb655Srie }
487c478bd9Sstevel@tonic-gate 
49*69112eddSAli Bahrami /*
50*69112eddSAli Bahrami  * Report entry/removal of boolean identifier from conditional expression
51*69112eddSAli Bahrami  * known values.
52*69112eddSAli Bahrami  */
537c478bd9Sstevel@tonic-gate void
Dbg_map_cexp_id(Lm_list * lml,Boolean add,const char * file,Lineno lineno,const char * id)54*69112eddSAli Bahrami Dbg_map_cexp_id(Lm_list *lml, Boolean add, const char *file,
55*69112eddSAli Bahrami     Lineno lineno, const char *id)
565aefb655Srie {
57*69112eddSAli Bahrami 	const char *fmt;
58*69112eddSAli Bahrami 
595aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
605aefb655Srie 		return;
615aefb655Srie 
62*69112eddSAli Bahrami 	fmt = add ? MSG_INTL(MSG_MAP_ID_ADD) : MSG_INTL(MSG_MAP_ID_CLEAR);
63*69112eddSAli Bahrami 	dbg_print(lml, fmt, file, EC_LINENO(lineno), id);
645aefb655Srie }
655aefb655Srie 
665aefb655Srie void
Dbg_map_version(Lm_list * lml,const char * version,const char * name,int scope)675aefb655Srie Dbg_map_version(Lm_list *lml, const char *version, const char *name, int scope)
687c478bd9Sstevel@tonic-gate {
697c478bd9Sstevel@tonic-gate 	const char	*str, *scp;
707c478bd9Sstevel@tonic-gate 
715aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP | DBG_C_SYMBOLS))
727c478bd9Sstevel@tonic-gate 		return;
737c478bd9Sstevel@tonic-gate 
747c478bd9Sstevel@tonic-gate 	str = MSG_INTL(MSG_MAP_SYM_SCOPE);
757c478bd9Sstevel@tonic-gate 	if (scope)
767c478bd9Sstevel@tonic-gate 		scp = MSG_ORIG(MSG_SYM_GLOBAL);
777c478bd9Sstevel@tonic-gate 	else
787c478bd9Sstevel@tonic-gate 		scp = MSG_ORIG(MSG_SYM_LOCAL);
797c478bd9Sstevel@tonic-gate 
807c478bd9Sstevel@tonic-gate 	if (version)
815aefb655Srie 		dbg_print(lml, MSG_INTL(MSG_MAP_SYM_VER_1), str, version,
825aefb655Srie 		    Dbg_demangle_name(name), scp);
837c478bd9Sstevel@tonic-gate 	else
845aefb655Srie 		dbg_print(lml, MSG_INTL(MSG_MAP_SYM_VER_2), str,
855aefb655Srie 		    Dbg_demangle_name(name), scp);
867c478bd9Sstevel@tonic-gate }
877c478bd9Sstevel@tonic-gate 
887c478bd9Sstevel@tonic-gate void
Dbg_map_size_new(Lm_list * lml,const char * symname,const char * segname,Lineno lineno)89*69112eddSAli Bahrami Dbg_map_size_new(Lm_list *lml, const char *symname, const char *segname,
90*69112eddSAli Bahrami     Lineno lineno)
917c478bd9Sstevel@tonic-gate {
925aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
937c478bd9Sstevel@tonic-gate 		return;
947c478bd9Sstevel@tonic-gate 
95*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
96*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_SYM_SIZE), EC_LINENO(lineno), segname,
97*69112eddSAli Bahrami 	    Dbg_demangle_name(symname), MSG_INTL(MSG_STR_ADDING));
987c478bd9Sstevel@tonic-gate }
997c478bd9Sstevel@tonic-gate 
1007c478bd9Sstevel@tonic-gate void
Dbg_map_size_old(Ofl_desc * ofl,Sym_desc * sdp,const char * segname,Lineno lineno)101*69112eddSAli Bahrami Dbg_map_size_old(Ofl_desc *ofl, Sym_desc *sdp, const char *segname,
102*69112eddSAli Bahrami     Lineno lineno)
1037c478bd9Sstevel@tonic-gate {
104de777a60Sab 	Conv_inv_buf_t	inv_buf;
105de777a60Sab 	Lm_list		*lml = ofl->ofl_lml;
1065aefb655Srie 
1075aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
1087c478bd9Sstevel@tonic-gate 		return;
1097c478bd9Sstevel@tonic-gate 
110*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
111*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_SYM_SIZE), EC_LINENO(lineno), segname,
112*69112eddSAli Bahrami 	    sdp->sd_name, MSG_INTL(MSG_STR_UP_1));
1137c478bd9Sstevel@tonic-gate 
1147c478bd9Sstevel@tonic-gate 	if (DBG_NOTDETAIL())
1157c478bd9Sstevel@tonic-gate 		return;
1167c478bd9Sstevel@tonic-gate 
1175aefb655Srie 	Elf_syms_table_entry(lml, ELF_DBG_LD, MSG_INTL(MSG_STR_UP_2),
1184f680cc6SAli Bahrami 	    ofl->ofl_dehdr->e_ident[EI_OSABI], ofl->ofl_dehdr->e_machine,
1194f680cc6SAli Bahrami 	    sdp->sd_sym, sdp->sd_aux ? sdp->sd_aux->sa_overndx : 0, 0, NULL,
120de777a60Sab 	    conv_def_tag(sdp->sd_ref, &inv_buf));
1217c478bd9Sstevel@tonic-gate }
1227c478bd9Sstevel@tonic-gate 
1237c478bd9Sstevel@tonic-gate void
Dbg_map_symbol(Ofl_desc * ofl,Sym_desc * sdp)1245aefb655Srie Dbg_map_symbol(Ofl_desc *ofl, Sym_desc *sdp)
1257c478bd9Sstevel@tonic-gate {
126de777a60Sab 	Conv_inv_buf_t	inv_buf;
127de777a60Sab 	Lm_list		*lml = ofl->ofl_lml;
1285aefb655Srie 
12960758829Srie 	if (DBG_NOTCLASS(DBG_C_MAP | DBG_C_SYMBOLS))
1307c478bd9Sstevel@tonic-gate 		return;
1317c478bd9Sstevel@tonic-gate 	if (DBG_NOTDETAIL())
1327c478bd9Sstevel@tonic-gate 		return;
1337c478bd9Sstevel@tonic-gate 
13460758829Srie 	Elf_syms_table_entry(lml, ELF_DBG_LD, MSG_INTL(MSG_STR_ENTERED),
1354f680cc6SAli Bahrami 	    ofl->ofl_dehdr->e_ident[EI_OSABI],  ofl->ofl_dehdr->e_machine,
1364f680cc6SAli Bahrami 	    sdp->sd_sym, sdp->sd_aux ? sdp->sd_aux->sa_overndx : 0, 0, NULL,
13760758829Srie 	    conv_def_tag(sdp->sd_ref, &inv_buf));
1387c478bd9Sstevel@tonic-gate }
1397c478bd9Sstevel@tonic-gate 
140*69112eddSAli Bahrami /*
141*69112eddSAli Bahrami  * Object version dependency. In the v1 syntax, this is the 'dash' operator.
142*69112eddSAli Bahrami  * In the v2 syntax, the DEPEND_VERSIONS directive.
143*69112eddSAli Bahrami  */
1447c478bd9Sstevel@tonic-gate void
Dbg_map_dv(Lm_list * lml,const char * obj_name,Lineno lineno)145*69112eddSAli Bahrami Dbg_map_dv(Lm_list *lml, const char *obj_name, Lineno lineno)
1467c478bd9Sstevel@tonic-gate {
1475aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
1487c478bd9Sstevel@tonic-gate 		return;
1497c478bd9Sstevel@tonic-gate 
150*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_DV), EC_LINENO(lineno), obj_name);
1517c478bd9Sstevel@tonic-gate }
1527c478bd9Sstevel@tonic-gate 
153*69112eddSAli Bahrami /*
154*69112eddSAli Bahrami  * Add a version to an object dependency
155*69112eddSAli Bahrami  */
1567c478bd9Sstevel@tonic-gate void
Dbg_map_dv_entry(Lm_list * lml,Lineno lineno,int require,const char * version)157*69112eddSAli Bahrami Dbg_map_dv_entry(Lm_list *lml, Lineno lineno, int require, const char *version)
158*69112eddSAli Bahrami {
159*69112eddSAli Bahrami 	const char *attr;
160*69112eddSAli Bahrami 
161*69112eddSAli Bahrami 	if (DBG_NOTCLASS(DBG_C_MAP))
162*69112eddSAli Bahrami 		return;
163*69112eddSAli Bahrami 
164*69112eddSAli Bahrami 	attr = require ? MSG_INTL(MSG_STR_REQUIRE) : MSG_INTL(MSG_STR_ALLOW);
165*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_DV_ENTRY), attr, version,
166*69112eddSAli Bahrami 	    EC_LINENO(lineno));
167*69112eddSAli Bahrami }
168*69112eddSAli Bahrami 
169*69112eddSAli Bahrami void
Dbg_map_sort_title(Lm_list * lml,Boolean orig)170*69112eddSAli Bahrami Dbg_map_sort_title(Lm_list *lml, Boolean orig)
1717c478bd9Sstevel@tonic-gate {
1725aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
1737c478bd9Sstevel@tonic-gate 		return;
1747c478bd9Sstevel@tonic-gate 	if (DBG_NOTDETAIL())
1757c478bd9Sstevel@tonic-gate 		return;
1767c478bd9Sstevel@tonic-gate 
177*69112eddSAli Bahrami 	if (orig) {
178*69112eddSAli Bahrami 		Dbg_util_nl(lml, DBG_NL_STD);
179*69112eddSAli Bahrami 		dbg_print(lml, MSG_INTL(MSG_MAP_SORT_TITLE));
180*69112eddSAli Bahrami 		dbg_print(lml, MSG_INTL(MSG_MAP_SORT_TITLE_O));
181*69112eddSAli Bahrami 	} else {
182*69112eddSAli Bahrami 		dbg_print(lml, MSG_INTL(MSG_MAP_SORT_TITLE_S));
183*69112eddSAli Bahrami 	}
1847c478bd9Sstevel@tonic-gate }
1857c478bd9Sstevel@tonic-gate 
1867c478bd9Sstevel@tonic-gate void
Dbg_map_sort_seg(Lm_list * lml,uchar_t osabi,Half mach,Sg_desc * sgp)187*69112eddSAli Bahrami Dbg_map_sort_seg(Lm_list *lml, uchar_t osabi, Half mach, Sg_desc *sgp)
1887c478bd9Sstevel@tonic-gate {
189*69112eddSAli Bahrami 	const char	*type_str;
190*69112eddSAli Bahrami 	Conv_inv_buf_t	inv_buf;
1917c478bd9Sstevel@tonic-gate 
1925aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
1937c478bd9Sstevel@tonic-gate 		return;
1947c478bd9Sstevel@tonic-gate 	if (DBG_NOTDETAIL())
1957c478bd9Sstevel@tonic-gate 		return;
1967c478bd9Sstevel@tonic-gate 
197*69112eddSAli Bahrami 	type_str = conv_phdr_type(osabi, mach, sgp->sg_phdr.p_type,
198*69112eddSAli Bahrami 	    0, &inv_buf);
199*69112eddSAli Bahrami 
200*69112eddSAli Bahrami 	if (sgp->sg_name) {
201*69112eddSAli Bahrami 		if (sgp->sg_flags & FLG_SG_P_VADDR) {
202*69112eddSAli Bahrami 			dbg_print(lml, MSG_ORIG(MSG_MAP_SORT_SEG_V),
203*69112eddSAli Bahrami 			    type_str, sgp->sg_name,
204*69112eddSAli Bahrami 			    EC_ADDR(sgp->sg_phdr.p_vaddr));
205*69112eddSAli Bahrami 		} else if (sgp->sg_flags & FLG_SG_ORDERED) {
206*69112eddSAli Bahrami 			/*
207*69112eddSAli Bahrami 			 * All FLG_SG_ORDERED have adjacent sg_id values
208*69112eddSAli Bahrami 			 * that start at SGID_TEXT. Subtract out the base
209*69112eddSAli Bahrami 			 * in order to present the order values based at 0.
210*69112eddSAli Bahrami 			 */
211*69112eddSAli Bahrami 			dbg_print(lml, MSG_ORIG(MSG_MAP_SORT_SEG_O),
212*69112eddSAli Bahrami 			    type_str, sgp->sg_name,
213*69112eddSAli Bahrami 			    EC_WORD(sgp->sg_id - SGID_TEXT));
214*69112eddSAli Bahrami 		} else {
215*69112eddSAli Bahrami 			dbg_print(lml, MSG_ORIG(MSG_MAP_SORT_SEG_NAME),
216*69112eddSAli Bahrami 			    type_str, sgp->sg_name);
217*69112eddSAli Bahrami 		}
218*69112eddSAli Bahrami 	} else {
219*69112eddSAli Bahrami 		dbg_print(lml, MSG_ORIG(MSG_MAP_SORT_SEG), type_str);
220*69112eddSAli Bahrami 	}
2217c478bd9Sstevel@tonic-gate }
2227c478bd9Sstevel@tonic-gate 
2237c478bd9Sstevel@tonic-gate void
Dbg_map_parse(Lm_list * lml,const char * file,int version)224*69112eddSAli Bahrami Dbg_map_parse(Lm_list *lml, const char *file, int version)
2257c478bd9Sstevel@tonic-gate {
226*69112eddSAli Bahrami 	Conv_inv_buf_t	inv_buf;
227*69112eddSAli Bahrami 
2285aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
2297c478bd9Sstevel@tonic-gate 		return;
2307c478bd9Sstevel@tonic-gate 
2315aefb655Srie 	Dbg_util_nl(lml, DBG_NL_STD);
232*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_MAPFILE), file, EC_WORD(version),
233*69112eddSAli Bahrami 	    conv_mapfile_version(version, 0, &inv_buf));
2347c478bd9Sstevel@tonic-gate }
2357c478bd9Sstevel@tonic-gate 
2367c478bd9Sstevel@tonic-gate void
Dbg_map_ent(Lm_list * lml,Ent_desc * enp,Ofl_desc * ofl,Lineno lineno)237*69112eddSAli Bahrami Dbg_map_ent(Lm_list *lml, Ent_desc *enp, Ofl_desc *ofl, Lineno lineno)
2387c478bd9Sstevel@tonic-gate {
2395aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
2407c478bd9Sstevel@tonic-gate 		return;
2417c478bd9Sstevel@tonic-gate 
242*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
243*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_EC), EC_LINENO(lineno));
2444f680cc6SAli Bahrami 	Dbg_ent_entry(lml, ofl->ofl_dehdr->e_ident[EI_OSABI],
2454f680cc6SAli Bahrami 	    ofl->ofl_dehdr->e_machine, enp);
2467c478bd9Sstevel@tonic-gate }
2477c478bd9Sstevel@tonic-gate 
2487c478bd9Sstevel@tonic-gate void
Dbg_map_ent_ord_title(Lm_list * lml,const char * segname)249*69112eddSAli Bahrami Dbg_map_ent_ord_title(Lm_list *lml, const char *segname)
2507c478bd9Sstevel@tonic-gate {
2515aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
2527c478bd9Sstevel@tonic-gate 		return;
2537c478bd9Sstevel@tonic-gate 
254*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
255*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_ENT_ORD_TITLE), segname);
2567c478bd9Sstevel@tonic-gate }
2577c478bd9Sstevel@tonic-gate 
2587c478bd9Sstevel@tonic-gate void
Dbg_map_seg_os_order(Lm_list * lml,Sg_desc * sgp,const char * sec_name,Word ndx,Lineno lineno)259*69112eddSAli Bahrami Dbg_map_seg_os_order(Lm_list *lml, Sg_desc *sgp, const char *sec_name,
260*69112eddSAli Bahrami     Word ndx, Lineno lineno)
261*69112eddSAli Bahrami {
262*69112eddSAli Bahrami 	if (DBG_NOTCLASS(DBG_C_MAP))
263*69112eddSAli Bahrami 		return;
264*69112eddSAli Bahrami 
265*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_OS_ORDER), EC_LINENO(lineno),
266*69112eddSAli Bahrami 	    sgp->sg_name, sec_name, EC_WORD(ndx));
267*69112eddSAli Bahrami }
268*69112eddSAli Bahrami 
269*69112eddSAli Bahrami void
Dbg_map_seg(Ofl_desc * ofl,dbg_state_t dbg_state,int ndx,Sg_desc * sgp,Lineno lineno)270*69112eddSAli Bahrami Dbg_map_seg(Ofl_desc *ofl, dbg_state_t dbg_state, int ndx, Sg_desc *sgp,
271*69112eddSAli Bahrami     Lineno lineno)
2727c478bd9Sstevel@tonic-gate {
2735aefb655Srie 	Lm_list	*lml = ofl->ofl_lml;
2745aefb655Srie 
2755aefb655Srie 	if (DBG_NOTCLASS(DBG_C_MAP))
2767c478bd9Sstevel@tonic-gate 		return;
2777c478bd9Sstevel@tonic-gate 
278*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
279*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_SEG), EC_LINENO(lineno),
280*69112eddSAli Bahrami 	    Dbg_state_str(dbg_state));
281*69112eddSAli Bahrami 	Dbg_seg_desc_entry(ofl->ofl_lml, ofl->ofl_dehdr->e_ident[EI_OSABI],
282*69112eddSAli Bahrami 	    ofl->ofl_dehdr->e_machine, ndx, sgp, FALSE);
283*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
284*69112eddSAli Bahrami }
285*69112eddSAli Bahrami 
286*69112eddSAli Bahrami void
Dbg_map_seg_order(Ofl_desc * ofl,uchar_t osabi,Half mach,dbg_state_t dbg_state,Lineno lineno)287*69112eddSAli Bahrami Dbg_map_seg_order(Ofl_desc *ofl, uchar_t osabi, Half mach,
288*69112eddSAli Bahrami     dbg_state_t dbg_state, Lineno lineno)
289*69112eddSAli Bahrami {
290*69112eddSAli Bahrami 	Lm_list	*lml = ofl->ofl_lml;
291*69112eddSAli Bahrami 	Aliste		idx;
292*69112eddSAli Bahrami 	Sg_desc		*sgp;
293*69112eddSAli Bahrami 	Conv_inv_buf_t	inv_buf;
294*69112eddSAli Bahrami 	const char	*type_str;
295*69112eddSAli Bahrami 
296*69112eddSAli Bahrami 	if (DBG_NOTCLASS(DBG_C_MAP))
297*69112eddSAli Bahrami 		return;
298*69112eddSAli Bahrami 
299*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
300*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_SEG_ORDER), EC_LINENO(lineno),
301*69112eddSAli Bahrami 	    EC_XWORD(aplist_nitems(ofl->ofl_segs_order)),
302*69112eddSAli Bahrami 	    Dbg_state_str(dbg_state));
303*69112eddSAli Bahrami 	for (APLIST_TRAVERSE(ofl->ofl_segs_order, idx, sgp)) {
304*69112eddSAli Bahrami 		type_str = conv_phdr_type(osabi, mach, sgp->sg_phdr.p_type,
305*69112eddSAli Bahrami 		    0, &inv_buf);
306*69112eddSAli Bahrami 		dbg_print(lml, MSG_ORIG(MSG_MAP_SORT_SEG_NAME), type_str,
307*69112eddSAli Bahrami 		    sgp->sg_name);
3087c478bd9Sstevel@tonic-gate 	}
309*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
310*69112eddSAli Bahrami }
311*69112eddSAli Bahrami 
312*69112eddSAli Bahrami void
Dbg_map_post_title(Lm_list * lml)313*69112eddSAli Bahrami Dbg_map_post_title(Lm_list *lml)
314*69112eddSAli Bahrami {
315*69112eddSAli Bahrami 	if (DBG_NOTCLASS(DBG_C_MAP))
316*69112eddSAli Bahrami 		return;
317*69112eddSAli Bahrami 
318*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
319*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_POST_TITLE));
320*69112eddSAli Bahrami }
321*69112eddSAli Bahrami 
322*69112eddSAli Bahrami void
Dbg_map_hdr_noalloc(Lm_list * lml,Lineno lineno)323*69112eddSAli Bahrami Dbg_map_hdr_noalloc(Lm_list *lml, Lineno lineno)
324*69112eddSAli Bahrami {
325*69112eddSAli Bahrami 	if (DBG_NOTCLASS(DBG_C_MAP))
326*69112eddSAli Bahrami 		return;
327*69112eddSAli Bahrami 
328*69112eddSAli Bahrami 	Dbg_util_nl(lml, DBG_NL_STD);
329*69112eddSAli Bahrami 	dbg_print(lml, MSG_INTL(MSG_MAP_HDR_NOALLOC), EC_LINENO(lineno));
3307c478bd9Sstevel@tonic-gate }
331