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.
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.
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]
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
32 Dbg_move_data(Rt_map
*lmp
)
34 Lm_list
*lml
= LIST(lmp
);
36 if (DBG_NOTCLASS(DBG_C_MOVE
))
39 dbg_print(lml
, MSG_INTL(MSG_MOVE_FILE
), NAME(lmp
));
40 dbg_print(lml
, MSG_INTL(MSG_MOVE_TITLE2
));
44 Dbg_move_adjexpandreloc(Lm_list
*lml
, Xword offset
, const char *name
)
46 if (DBG_NOTCLASS(DBG_C_MOVE
| DBG_C_RELOC
))
51 dbg_print(lml
, MSG_INTL(MSG_MOVE_ADJEXPAND
), Dbg_demangle_name(name
),
56 Dbg_move_adjmovereloc(Lm_list
*lml
, Xword offset1
, Xword offset2
,
59 if (DBG_NOTCLASS(DBG_C_MOVE
| DBG_C_RELOC
))
64 dbg_print(lml
, MSG_INTL(MSG_MOVE_ADJMOVE
), Dbg_demangle_name(name
),
65 EC_XWORD(offset1
), EC_XWORD(offset2
));
69 Dbg_move_outsctadj(Lm_list
*lml
, Sym_desc
*sdp
)
71 if (DBG_NOTCLASS(DBG_C_MOVE
| DBG_C_RELOC
))
76 dbg_print(lml
, MSG_INTL(MSG_MOVE_OUTSCTADJ
),
77 Dbg_demangle_name(sdp
->sd_name
));
81 Dbg_move_parexpn(Lm_list
*lml
, const char *name
, const char *reason
)
83 if (DBG_NOTCLASS(DBG_C_MOVE
))
86 Dbg_util_nl(lml
, DBG_NL_STD
);
87 dbg_print(lml
, MSG_INTL(MSG_MOVE_PAREXPN
), name
, reason
);
88 dbg_print(lml
, MSG_INTL(MSG_MOVE_TITLE1
));
92 Dbg_move_outmove(Lm_list
*lml
, const char *name
)
94 if (DBG_NOTCLASS(DBG_C_MOVE
))
97 Dbg_util_nl(lml
, DBG_NL_STD
);
98 dbg_print(lml
, MSG_INTL(MSG_MOVE_OUTMOVE
), name
);
99 dbg_print(lml
, MSG_INTL(MSG_MOVE_TITLE1
));
103 Dbg_move_expand(Lm_list
*lml
, Move
*mv
, Addr addr
)
105 if (DBG_NOTCLASS(DBG_C_MOVE
))
108 dbg_print(lml
, MSG_INTL(MSG_MOVE_EXPAND
), EC_ADDR(addr
),
109 EC_LWORD(mv
->m_value
));
113 Dbg_move_input(Lm_list
*lml
, const char *name
)
115 if (DBG_NOTCLASS(DBG_C_MOVE
))
118 Dbg_util_nl(lml
, DBG_NL_STD
);
119 dbg_print(lml
, MSG_INTL(MSG_MOVE_INPUT
), name
);
120 dbg_print(lml
, MSG_INTL(MSG_MOVE_TITLE1
));
124 Dbg_move_entry1(Lm_list
*lml
, int which
, Move
*mv
, Sym_desc
*s
)
128 if (DBG_NOTCLASS(DBG_C_MOVE
))
132 str
= MSG_INTL(MSG_MOVE_ENTRYIN
);
134 str
= MSG_INTL(MSG_MOVE_ENTRYOUT
);
136 dbg_print(lml
, str
, EC_XWORD(mv
->m_poffset
), ELF_M_SIZE(mv
->m_info
),
137 mv
->m_repeat
, mv
->m_stride
, EC_LWORD(mv
->m_value
), s
->sd_name
);
141 Dbg_move_entry2(Lm_list
*lml
, Move
*mv
, Word st_name
, const char *name
)
145 if (DBG_NOTCLASS(DBG_C_MOVE
))
151 sname
= MSG_INTL(MSG_STR_UNKNOWN
);
153 dbg_print(lml
, MSG_INTL(MSG_MOVE_ENTRYIN
), EC_XWORD(mv
->m_poffset
),
154 ELF_M_SIZE(mv
->m_info
), mv
->m_repeat
, mv
->m_stride
,
155 EC_LWORD(mv
->m_value
), sname
);
159 Dbg_move_bad(Lm_list
*lml
, ulong_t num
, const char *name
, Addr addr
)
161 if (DBG_NOTCLASS(DBG_C_MOVE
))
164 dbg_print(lml
, MSG_INTL(MSG_MOVE_BAD
), EC_XWORD(num
), name
,