10Sstevel@tonic-gate# 20Sstevel@tonic-gate# CDDL HEADER START 30Sstevel@tonic-gate# 40Sstevel@tonic-gate# The contents of this file are subject to the terms of the 51824Srie# Common Development and Distribution License (the "License"). 61824Srie# You may not use this file except in compliance with the License. 70Sstevel@tonic-gate# 80Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 90Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 100Sstevel@tonic-gate# See the License for the specific language governing permissions 110Sstevel@tonic-gate# and limitations under the License. 120Sstevel@tonic-gate# 130Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 140Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 150Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 160Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 170Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 180Sstevel@tonic-gate# 190Sstevel@tonic-gate# CDDL HEADER END 200Sstevel@tonic-gate# 211824Srie 221824Srie# 23*12877SRod.Evans@Sun.COM# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 241824Srie# 250Sstevel@tonic-gate 260Sstevel@tonic-gate@ _START_ 270Sstevel@tonic-gate 280Sstevel@tonic-gate@ _END_ 290Sstevel@tonic-gate 300Sstevel@tonic-gate# 310Sstevel@tonic-gate# Misc. Strings 320Sstevel@tonic-gate# 330Sstevel@tonic-gate@ MSG_STR_NAME "NAME" 340Sstevel@tonic-gate@ MSG_STR_PATHNAME "PATHNAME" 350Sstevel@tonic-gate@ MSG_STR_REFNAME "REFNAME" 360Sstevel@tonic-gate@ MSG_STR_RPATH "RPATH" 370Sstevel@tonic-gate@ MSG_STR_DASHES "----------------------------------------------\n" 380Sstevel@tonic-gate@ MSG_STR_LDSO1 "ld.so.1" 390Sstevel@tonic-gate@ MSG_STR_DYNLMLIST "dynlm_list" 400Sstevel@tonic-gate@ MSG_STR_ALIST "Alist" 415892Sab196087@ MSG_STR_APLIST "APlist" 420Sstevel@tonic-gate@ MSG_STR_EMPTY "" 430Sstevel@tonic-gate@ MSG_STR_ORPHANED "<orphaned>" 440Sstevel@tonic-gate@ MSG_STR_SETENV "setenv" 450Sstevel@tonic-gate 460Sstevel@tonic-gate# 470Sstevel@tonic-gate# mdb_dcmd_t.dc_usage's 480Sstevel@tonic-gate# 490Sstevel@tonic-gate@ MSG_USG_ADDREQ ":" # Address required 500Sstevel@tonic-gate@ MSG_USG_ADDREQ_V ":[-v]" # Address required plus -v 510Sstevel@tonic-gate@ MSG_USG_ADDOPT_V "?[-v]" # Address optional plus -v 520Sstevel@tonic-gate@ MSG_USG_SETENV "name[=value]" # Setenv argument 530Sstevel@tonic-gate 540Sstevel@tonic-gate# 550Sstevel@tonic-gate# mdb_walker.walk_descr's 560Sstevel@tonic-gate# 570Sstevel@tonic-gate@ MSG_WWD_RTMAP "Walk a List of Rt_maps" 580Sstevel@tonic-gate 590Sstevel@tonic-gate# 600Sstevel@tonic-gate# Flag Strings 610Sstevel@tonic-gate# 623466Srie@ MSG_FLG_ISMAIN "IS-MAIN" 633466Srie@ MSG_FLG_IMGALLOC "IMAGE-ALLOCATED" 640Sstevel@tonic-gate@ MSG_FLG_RELOCED "RELOCED" 653466Srie@ MSG_FLG_SETGROUP "SET-GROUP" 6611827SRod.Evans@Sun.COM@ MSG_FLG_CAP "CAP" 670Sstevel@tonic-gate@ MSG_FLG_OBJECT "OBJECT" 689340SRod.Evans@Sun.COM@ MSG_FLG_NEWLOAD "NEWLOAD" 690Sstevel@tonic-gate@ MSG_FLG_NODUMP "NODUMP" 700Sstevel@tonic-gate@ MSG_FLG_DELETE "DELETE" 710Sstevel@tonic-gate@ MSG_FLG_ANALYZED "ANALYZED" 723466Srie@ MSG_FLG_INITDONE "INIT-DONE" 730Sstevel@tonic-gate@ MSG_FLG_TRANS "TRANS" 740Sstevel@tonic-gate@ MSG_FLG_FIXED "FIXED" 750Sstevel@tonic-gate@ MSG_FLG_PRELOAD "PRELOAD" 763466Srie@ MSG_FLG_ALTER "ALTERNATE" 773466Srie@ MSG_FLG_LOADFLTR "LOAD-FILTERS" 780Sstevel@tonic-gate@ MSG_FLG_AUDIT "AUDIT" 793466Srie@ MSG_FLG_MODESET "MODE-SET" 800Sstevel@tonic-gate@ MSG_FLG_ANALZING "ANALYZING" 813466Srie@ MSG_FLG_INITFRST "INIT-FIRST" 823466Srie@ MSG_FLG_NOOPEN "NO-OPEN" 833466Srie@ MSG_FLG_FINICLCT "FINI-COLLECTED" 843466Srie@ MSG_FLG_INITCALL "INIT-CALLED" 853466Srie@ MSG_FLG_OBJINTPO "OBJECT-INTERPOSE" 863466Srie@ MSG_FLG_SYMINTPO "SYMBOL-INTERPOSE" 870Sstevel@tonic-gate@ MSG_FLG_MOVE "MOVE" 889577SRod.Evans@Sun.COM@ MSG_FLG_RELOCING "RELOCATING" 893466Srie@ MSG_FLG_REGSYMS "REGISTER-SYMS" 903466Srie@ MSG_FLG_INITCLCT "INIT-COLLECTED" 919577SRod.Evans@Sun.COM@ MSG_FLG_PUBHDL "PUBLIC-HANDLE" 929577SRod.Evans@Sun.COM@ MSG_FLG_PRIHDL "PRIVATE-HANDLE" 930Sstevel@tonic-gate 940Sstevel@tonic-gate@ MSG_FL1_COPYTOOK "COPYTOOK" 9511827SRod.Evans@Sun.COM@ MSG_FL1_ALTCHECK "ALT-CAP-CHECKED" 9611827SRod.Evans@Sun.COM@ MSG_FL1_ALTCAP "ALT-CAP-REQUIRED" 970Sstevel@tonic-gate@ MSG_FL1_CONFSET "CONFSET" 983466Srie@ MSG_FL1_NODEFLIB "NO-DEFAULT-LIBPATH" 993466Srie@ MSG_FL1_ENDFILTE "END-FILTEE" 1003466Srie@ MSG_FL1_DISPREL "DISPLACEMENT-RELOCATED" 1018598SRod.Evans@Sun.COM@ MSG_FL1_DTFLAGS "DTFLAGS-AVAILABLE" 1020Sstevel@tonic-gate@ MSG_FL1_LDDSTUB "LDDSTUB" 1033466Srie@ MSG_FL1_NOINIFIN "NO-INITFINI" 1040Sstevel@tonic-gate@ MSG_FL1_USED "USED" 1050Sstevel@tonic-gate@ MSG_FL1_SYMBOLIC "SYMBOLIC" 1063466Srie@ MSG_FL1_OBJSFLTR "OBJ-STD-FILTER" 1073466Srie@ MSG_FL1_OBJAFLTR "OBJ-AUX-FILTER" 1083466Srie@ MSG_FL1_SYMSFLTR "SYM-STD-FILTER" 1093466Srie@ MSG_FL1_SYMAFLTR "SYM-AUX-FILTER" 1103466Srie@ MSG_FL1_TLSADD "TLS-ADD" 1113466Srie@ MSG_FL1_TLSSTAT "TLS-STAT" 1123466Srie@ MSG_FL1_DIRECT "DIRECT" 1134679Srie@ MSG_FL1_GLOBAUD "GLOBAL-AUDITING" 1140Sstevel@tonic-gate 1150Sstevel@tonic-gate@ MSG_MODE_LAZY "LAZY" 1160Sstevel@tonic-gate@ MSG_MODE_NOW "NOW" 1170Sstevel@tonic-gate@ MSG_MODE_NOLOAD "NOLOAD" 1180Sstevel@tonic-gate@ MSG_MODE_GLOBAL "GLOBAL" 1190Sstevel@tonic-gate@ MSG_MODE_PARENT "PARENT" 1200Sstevel@tonic-gate@ MSG_MODE_GROUP "GROUP" 1210Sstevel@tonic-gate@ MSG_MODE_WORLD "WORLD" 1220Sstevel@tonic-gate@ MSG_MODE_NODELETE "NODELETE" 1230Sstevel@tonic-gate@ MSG_MODE_FIRST "FIRST" 1240Sstevel@tonic-gate@ MSG_MODE_CONFGEN "CONFGEN" 1250Sstevel@tonic-gate 1260Sstevel@tonic-gate@ MSG_BFL_NEEDED "NEEDED" 1270Sstevel@tonic-gate@ MSG_BFL_REFER "REFERENCED" 128280Srie@ MSG_BFL_FILTER "FILTER" 1290Sstevel@tonic-gate 1309577SRod.Evans@Sun.COM@ MSG_GPH_PUBLIC "PUBLIC-HANDLE" 1319577SRod.Evans@Sun.COM@ MSG_GPH_PRIVATE "PRIVATE-HANDLE" 1320Sstevel@tonic-gate@ MSG_GPH_ZERO "ZERO" 1330Sstevel@tonic-gate@ MSG_GPH_LDSO "LD.SO.1" 1340Sstevel@tonic-gate@ MSG_GPH_FIRST "FIRST-ONLY" 1350Sstevel@tonic-gate@ MSG_GPH_FILTEE "FILTEE" 1360Sstevel@tonic-gate@ MSG_GPH_INITIAL "INITIALIZED" 1370Sstevel@tonic-gate 1384699Srie@ MSG_GPD_DLSYM "AVAIL-TO-DLSYM" 1394699Srie@ MSG_GPD_RELOC "AVAIL-FOR-RELOCATION" 1400Sstevel@tonic-gate@ MSG_GPD_ADDEPS "ADD-DEPENDENCIES" 1410Sstevel@tonic-gate@ MSG_GPD_PARENT "PARENT" 1420Sstevel@tonic-gate@ MSG_GPD_FILTER "FILTER" 1430Sstevel@tonic-gate@ MSG_GPD_REMOVE "REMOVAL-CANDIDATE" 1440Sstevel@tonic-gate 1458598SRod.Evans@Sun.COM@ MSG_LFL_BASELM "BASELM" 1468598SRod.Evans@Sun.COM@ MSG_LFL_RTLDLM "RTLDLM" 1478598SRod.Evans@Sun.COM@ MSG_LFL_PLTREL "DEFERRED-PLT-RELOCATION" 1488598SRod.Evans@Sun.COM@ MSG_LFL_HOLDLOCK "HOLD-LOCK" 1498598SRod.Evans@Sun.COM@ MSG_LFL_ENVIRON "ENVIRON" 1508598SRod.Evans@Sun.COM@ MSG_LFL_INTRPOSE "INTERPOSE" 1518598SRod.Evans@Sun.COM@ MSG_LFL_LOCAUDIT "LOCAL-AUDIT" 1528598SRod.Evans@Sun.COM@ MSG_LFL_LOADAVAIL "LOAD-AVAILABLE" 1538598SRod.Evans@Sun.COM@ MSG_LFL_IGNRELERR "IGNORE-RELOCATION-ERROR" 1548598SRod.Evans@Sun.COM@ MSG_LFL_STARTREL "START-RELOCATION" 1558598SRod.Evans@Sun.COM@ MSG_LFL_ATEXIT "ATEXIT" 1568598SRod.Evans@Sun.COM@ MSG_LFL_OBJADDED "OBJECT-ADDED" 1578598SRod.Evans@Sun.COM@ MSG_LFL_OBJDELETED "OBJECT-DELETED" 1588598SRod.Evans@Sun.COM@ MSG_LFL_OBJREEVAL "OBJECT-REEVALUATE" 1598598SRod.Evans@Sun.COM@ MSG_LFL_INTRPOSETSORT "INTERPOSE-TSORTING-DONE" 1609963SRod.Evans@Sun.COM@ MSG_LFL_AUDITNOTIFY "AUDIT-CONSISTENT-REQUIRED" 1618598SRod.Evans@Sun.COM@ MSG_LFL_GROUPSEXIST "LOCAL-GROUPS-EXIST" 1620Sstevel@tonic-gate 1638598SRod.Evans@Sun.COM@ MSG_LFL_TRC_LDDSTUB "LDDSTUB" 1648598SRod.Evans@Sun.COM@ MSG_LFL_TRC_ENABLE "TRACING-ENABLED" 1658598SRod.Evans@Sun.COM@ MSG_LFL_TRC_WARN "TRACE-WARNINGS" 1668598SRod.Evans@Sun.COM@ MSG_LFL_TRC_VERBOSE "TRACE-VERBOSE" 1678598SRod.Evans@Sun.COM@ MSG_LFL_TRC_SEARCH "TRACE-SEARCH" 1688598SRod.Evans@Sun.COM@ MSG_LFL_TRC_UNREF "TRACE-UNREFERENCED" 1698598SRod.Evans@Sun.COM@ MSG_LFL_TRC_UNUSED "TRACE-UNUSED" 1708598SRod.Evans@Sun.COM@ MSG_LFL_TRC_INIT "TRACE-INIT" 1718598SRod.Evans@Sun.COM@ MSG_LFL_TRC_NOUNRESWEAK "TRACE-NO-UNRESOLVED-WEAKS" 1728598SRod.Evans@Sun.COM@ MSG_LFL_TRC_NOPAREXT "TRACE-NO-PARENT-OR-EXTERN" 1730Sstevel@tonic-gate 1748598SRod.Evans@Sun.COM@ MSG_LTFL_NOLAZYLD "NO-LAZY-LOADING" 1758598SRod.Evans@Sun.COM@ MSG_LTFL_NODIRECT "NO-DIRECT" 176*12877SRod.Evans@Sun.COM@ MSG_LTFL_NOAUDIT "NO-AUDIT" 1778598SRod.Evans@Sun.COM@ MSG_LTFL_LOADFLTR "LOAD-FILTER" 1780Sstevel@tonic-gate 1790Sstevel@tonic-gate@ MSG_LTFL_AUD_PREINIT "AUD_PREINIT" 1800Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJSEARCH "AUD_OBJSEARCH" 1810Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJOPEN "AUD_OBJOPEN" 1820Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJFILTER "AUD_OBJFILTER" 1830Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJCLOSE "AUD_OBJCLOSE" 1840Sstevel@tonic-gate@ MSG_LTFL_AUD_SYMBIND "AUD_SYMBIND" 1850Sstevel@tonic-gate@ MSG_LTFL_AUD_PLTENTER "AUD_PLTENTER" 1860Sstevel@tonic-gate@ MSG_LTFL_AUD_PLTEXIT "AUD_PLTEXIT" 1870Sstevel@tonic-gate@ MSG_LTFL_AUD_ACTIVITY "AUD_ACTIVITY" 1880Sstevel@tonic-gate 1890Sstevel@tonic-gate@ MSG_LMC_ANALYZING "ANALYZING" 1900Sstevel@tonic-gate@ MSG_LMC_RELOCATING "RELOCATING" 1910Sstevel@tonic-gate@ MSG_LMC_REANALYZE "REANALYZE" 1920Sstevel@tonic-gate 1930Sstevel@tonic-gate# 1940Sstevel@tonic-gate# Error messages 1950Sstevel@tonic-gate# 1960Sstevel@tonic-gate@ MSG_ERR_NAS "%s:: no address specified\n" 1970Sstevel@tonic-gate@ MSG_ERR_READ "%s:: failed to read from: 0x%p\n" 1980Sstevel@tonic-gate@ MSG_ERR_SYMFAILED "rtmaps:: lookup of %s`%s failed\n" 1990Sstevel@tonic-gate 2000Sstevel@tonic-gate# 2010Sstevel@tonic-gate# Various generic format strings 2020Sstevel@tonic-gate# 2030Sstevel@tonic-gate@ MSG_FMT_RT "[0x%x]\t0x%0?p 0x%0?p %s\n" 2040Sstevel@tonic-gate 2050Sstevel@tonic-gate# 2060Sstevel@tonic-gate# Elf header messages. 2070Sstevel@tonic-gate# 2080Sstevel@tonic-gate@ MSG_EHDR_STR "ElfEhdr" 2090Sstevel@tonic-gate 2100Sstevel@tonic-gate@ MSG_EHDR_DCD "Display Elf_Ehdr entry" 2110Sstevel@tonic-gate 2120Sstevel@tonic-gate@ MSG_EHDR_TITLE "Elf Header located at: 0x%p\n" 2130Sstevel@tonic-gate@ MSG_EHDR_LINE1 " ei_magic: { 0x%x, %c, %c, %c }\n" 2140Sstevel@tonic-gate@ MSG_EHDR_LINE2 " ei_class: %-18s ei_data: %s\n" 2150Sstevel@tonic-gate@ MSG_EHDR_LINE3 " e_machine: %-18s e_version: %s\n" 2160Sstevel@tonic-gate@ MSG_EHDR_LINE4 " e_type: %s\n" 2170Sstevel@tonic-gate@ MSG_EHDR_LINE5 " e_flags: %s\n" 2180Sstevel@tonic-gate@ MSG_EHDR_LINE6 " e_flags: %18s\n" 2190Sstevel@tonic-gate@ MSG_EHDR_LINE7 " e_entry: %#18lx e_ehsize: %2d \ 2200Sstevel@tonic-gate e_shstrndx: %2d\n" 2210Sstevel@tonic-gate@ MSG_EHDR_LINE8 " e_shoff: %#18lx e_shentsize: %2d \ 2220Sstevel@tonic-gate e_shnum: %2d\n" 2230Sstevel@tonic-gate@ MSG_EHDR_LINE9 " e_phoff: %#18lx e_phentsize: %2d \ 2240Sstevel@tonic-gate e_phnum: %2d\n" 2250Sstevel@tonic-gate 2260Sstevel@tonic-gate@ MSG_EHDR_HELP "\ 2270Sstevel@tonic-gate Decode an ELF Header (Elf_Ehdr) structure.\n\ 2280Sstevel@tonic-gate \n\ 2290Sstevel@tonic-gate Example:\n\n\ 2300Sstevel@tonic-gate \t> 0x10000::ElfEhdr \n\ 2310Sstevel@tonic-gate \tElf Header located at: 0x10000\n\ 2320Sstevel@tonic-gate \t ei_magic: { 0x7f, E, L, F }\n\ 2330Sstevel@tonic-gate \t ei_class: ELFCLASS32 ei_data: ELFDATA2MSB\n\ 2340Sstevel@tonic-gate \t e_machine: EM_SPARC e_version: EV_CURRENT\n\ 2350Sstevel@tonic-gate \t e_type: ET_EXEC\n\ 2360Sstevel@tonic-gate \t e_flags: 0\n\ 2370Sstevel@tonic-gate \t e_entry: 0x10640 e_ehsize: 52 e_shstrndx: 27\n\ 2380Sstevel@tonic-gate \t e_shoff: 0x1390 e_shentsize: 40 e_shnum: 29\n\ 2390Sstevel@tonic-gate \t e_phoff: 0x34 e_phentsize: 32 e_phnum: 5\n" 2400Sstevel@tonic-gate 2410Sstevel@tonic-gate# 2420Sstevel@tonic-gate# Elf Program Header messages. 2430Sstevel@tonic-gate# 2440Sstevel@tonic-gate 2450Sstevel@tonic-gate@ MSG_EPHDR_STR "ElfPhdr" 2460Sstevel@tonic-gate 2470Sstevel@tonic-gate@ MSG_EPHDR_DCD "Display Elf_Phdr entry" 2480Sstevel@tonic-gate 2490Sstevel@tonic-gate@ MSG_EPHDR_TITLE "Program Header located at: 0x%p\n" 2500Sstevel@tonic-gate@ MSG_EPHDR_LINE1 " p_vaddr: %#-14lx p_flags: %s\n" 2510Sstevel@tonic-gate@ MSG_EPHDR_LINE2 " p_paddr: %#-14lx p_type: %s\n" 2520Sstevel@tonic-gate@ MSG_EPHDR_LINE3 " p_filesz: %#-14lx p_memsz: %#lx\n" 2530Sstevel@tonic-gate@ MSG_EPHDR_LINE4 " p_offset: %#-14lx p_align: %#lx\n" 2540Sstevel@tonic-gate 2550Sstevel@tonic-gate@ MSG_EPHDR_HELP "\ 2560Sstevel@tonic-gate Decode an ELF Program Header (Elf_Phdr) structure.\n\ 2570Sstevel@tonic-gate \n\ 2580Sstevel@tonic-gate Example 1 - a single entry:\n\n\ 2590Sstevel@tonic-gate \t> 0x10000+0x34::ElfPhdr\n\ 2600Sstevel@tonic-gate \tProgram Header located at: 0x10034\n\ 2610Sstevel@tonic-gate \t p_vaddr: 0x10034 p_flags: [ PF_X PF_R ]\n\ 2620Sstevel@tonic-gate \t p_paddr: 0 p_type: [ PT_PHDR ]\n\ 2630Sstevel@tonic-gate \t p_filesz: 0xa0 p_memsz: 0xa0\n\ 2640Sstevel@tonic-gate \t p_offset: 0x34 p_align: 0\n\ 2650Sstevel@tonic-gate \n\ 2660Sstevel@tonic-gate Example 2 - multiple entries:\n\n\ 2670Sstevel@tonic-gate \t> 0x10034,2::ElfPhdr\n\ 2680Sstevel@tonic-gate \tProgram Header located at: 0x10034\n\ 2690Sstevel@tonic-gate \t p_vaddr: 0x10034 p_flags: [ PF_X PF_R ]\n\ 2700Sstevel@tonic-gate \t p_paddr: 0 p_type: [ PT_PHDR ]\n\ 2710Sstevel@tonic-gate \t p_filesz: 0xa0 p_memsz: 0xa0\n\ 2720Sstevel@tonic-gate \t p_offset: 0x34 p_align: 0\n\ 2730Sstevel@tonic-gate \tProgram Header located at: 0x10054\n\ 2740Sstevel@tonic-gate \t p_vaddr: 0 p_flags: [ PF_R ]\n\ 2750Sstevel@tonic-gate \t p_paddr: 0 p_type: [ PT_INTERP ]\n\ 2760Sstevel@tonic-gate \t p_filesz: 0x11 p_memsz: 0\n\ 2770Sstevel@tonic-gate \t p_offset: 0xd4 p_align: 0\n" 2780Sstevel@tonic-gate 2790Sstevel@tonic-gate 2800Sstevel@tonic-gate# 2810Sstevel@tonic-gate# Elf_Dyn messages. 2820Sstevel@tonic-gate# 2830Sstevel@tonic-gate 2840Sstevel@tonic-gate@ MSG_ELFDYN_STR "ElfDyn" 2850Sstevel@tonic-gate 2860Sstevel@tonic-gate@ MSG_ELFDYN_DCD "Display Elf_Dyn entry" 2870Sstevel@tonic-gate 2880Sstevel@tonic-gate@ MSG_ELFDYN_TITLE "Elf_Dyn located at: 0x%p\n" 2890Sstevel@tonic-gate@ MSG_ELFDYN_LINE1 " %a %s\t 0x%0?p\n" 2900Sstevel@tonic-gate 2910Sstevel@tonic-gate@ MSG_ELFDYN_HELP "\ 2920Sstevel@tonic-gate Decode an ELF dynamic section (Elf_Dyn) entry.\n\ 2930Sstevel@tonic-gate \n\ 2940Sstevel@tonic-gate Example 1 - a single entry:\n\n\ 2950Sstevel@tonic-gate \t> 0xff33a478::ElfDyn\n\ 2960Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a478\n\ 2970Sstevel@tonic-gate \t 0xff33a478 NEEDED 0x00004013\n\ 2980Sstevel@tonic-gate \n\ 2990Sstevel@tonic-gate Example 2 - multiple entries:\n\n\ 3000Sstevel@tonic-gate \t> 0xff33a478,4::ElfDyn\n\ 3010Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a478\n\ 3020Sstevel@tonic-gate \t 0xff33a478 NEEDED 0x00004013\n\ 3030Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a480\n\ 3040Sstevel@tonic-gate \t 0xff33a480 INIT 0x0009b484\n\ 3050Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a488\n\ 3060Sstevel@tonic-gate \t 0xff33a488 FINI 0x0009b4dc\n\ 3070Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a490\n\ 3080Sstevel@tonic-gate \t 0xff33a490 SONAME 0x00004009\n" 3090Sstevel@tonic-gate 3100Sstevel@tonic-gate 3110Sstevel@tonic-gate# 3120Sstevel@tonic-gate# Lm_list messages. 3130Sstevel@tonic-gate# 3140Sstevel@tonic-gate 3150Sstevel@tonic-gate@ MSG_LMLIST_STR "Lm_list" 3160Sstevel@tonic-gate 3170Sstevel@tonic-gate@ MSG_LMLIST_DCD "Display Lm_list structure" 3180Sstevel@tonic-gate 3190Sstevel@tonic-gate@ MSG_LMLIST_BASE "(LM_ID_BASE)" 3200Sstevel@tonic-gate@ MSG_LMLIST_LDSO "(LM_ID_LDSO)" 3210Sstevel@tonic-gate@ MSG_LMLIST_NEWLM "(LM_ID_NEWLM)" 3220Sstevel@tonic-gate 3239131SRod.Evans@Sun.COM@ MSG_LMLIST_TITLE0 "Link-map lists (%s): 0x0\n"; 3249131SRod.Evans@Sun.COM@ MSG_LMLIST_TITLE1 "Link-map lists (%s): 0x%p Alist[used %u: total %u]\n"; 3250Sstevel@tonic-gate@ MSG_LMLIST_TITLE2 "Lm_list: 0x%p %s\n" 3260Sstevel@tonic-gate 3270Sstevel@tonic-gate@ MSG_LMLIST_LINE0 " lists: 0x%0?p Alist[used %u: total %u]\n" 3280Sstevel@tonic-gate 3290Sstevel@tonic-gate@ MSG_LMC_LINE1 "Lm_cntl: 0x%p\n" 3301824Srie@ MSG_LMC_LINE2 " head: 0x%0?p\t tail: 0x%0?p\n" 3311824Srie@ MSG_LMC_LINE3 " flags: 0x%08x\t now: 0x%0?p\n" 3320Sstevel@tonic-gate@ MSG_LMC_LINE4 " [ %#b ]\n" 3330Sstevel@tonic-gate 3341824Srie@ MSG_LMLIST_LINE1 " head: 0x%0?p\t tail: 0x%0?p\n" 3351824Srie@ MSG_LMLIST_LINE2 " audit: 0x%0?p\t rtldinfo: 0x%0?p\n" 3361824Srie@ MSG_LMLIST_LINE3 " handle: 0x%0?p\t obj: %4d init: %4d \ 3370Sstevel@tonic-gate lazy: %4d\n" 3380Sstevel@tonic-gate@ MSG_LMLIST_LINE4 " flags: 0x%08x\n" 3390Sstevel@tonic-gate@ MSG_LMLIST_LINE5 " tflags: 0x%08x\n" 3400Sstevel@tonic-gate@ MSG_LMLIST_LINE6 " [ %#b ]\n" 3410Sstevel@tonic-gate 3420Sstevel@tonic-gate@ MSG_LMLIST_HELP "\ 3430Sstevel@tonic-gate Display a link-map list header. If no address is specified, the \ 3440Sstevel@tonic-gate dynlm_list\nmaster link-map list is searched and all link-map headers \ 3450Sstevel@tonic-gate displayed.\n\ 3460Sstevel@tonic-gate \n\ 3470Sstevel@tonic-gate A link-map list header points to a family of link-map control lists, \ 3480Sstevel@tonic-gate together\nwith other state information. The initial control list represents \ 3490Sstevel@tonic-gate those\nobjects that have been completely analyzed and relocated, and are \ 3500Sstevel@tonic-gate presently in\nuse. \ 3510Sstevel@tonic-gate Additional control lists may exist as families of objects are processed\nin \ 3520Sstevel@tonic-gate preparation for joining the main control list. These families are created\n\ 3530Sstevel@tonic-gate from events such as dlopen(3c), lazy loading, and filtee processing, once\n\ 3540Sstevel@tonic-gate the initial process that started the application has been relocated.\n\ 3550Sstevel@tonic-gate \n\ 3560Sstevel@tonic-gate The -v option walks all link-map control lists displaying each member.\n\ 3570Sstevel@tonic-gate \n\ 3580Sstevel@tonic-gate Example 1 - a single, verbose entry, starting from a specified address:\n\n\ 3590Sstevel@tonic-gate \n\ 3600Sstevel@tonic-gate \t> 0xff3ee0f0::Lm_list -v\n\ 3610Sstevel@tonic-gate \tLm_list: 0xff3ee0f0 (LM_ID_BASE)\n\ 3620Sstevel@tonic-gate \t----------------------------------------------\n\ 3630Sstevel@tonic-gate \t lists: 0xff3f0b00 Alist[used 1: total 4]\n\ 3640Sstevel@tonic-gate \t ----------------------------------------------\n\ 3650Sstevel@tonic-gate \t Lm_cntl: 0xff3f0b0c\n\ 3660Sstevel@tonic-gate \t head: 0xff3f0fdc tail: 0xff3f13bc\n\ 3670Sstevel@tonic-gate \t flags: 0x00000000 now: 0x00000000\n\ 3680Sstevel@tonic-gate \t [ 0 ]\n\ 3690Sstevel@tonic-gate \t ----------------------------------------------\n\ 3700Sstevel@tonic-gate \t lmco rtmap ADDR() NAME()\n\ 3710Sstevel@tonic-gate \t ----------------------------------------------\n\ 3720Sstevel@tonic-gate \t [0xc] 0xff3f0fdc 0x00010000 main\n\ 3730Sstevel@tonic-gate \t [0xc] 0xff3f13bc 0xff280000 /lib/libc.so.1\n\ 3740Sstevel@tonic-gate \t ----------------------------------------------\n\ 3750Sstevel@tonic-gate \t head: 0xff3f0f84 tail: 0xff3f1794\n\ 3760Sstevel@tonic-gate \t audit: 0x00000000 preexec: 0xff3f1794\n\ 3770Sstevel@tonic-gate \t handle: 0x00000000 obj: 3 init: 0 lazy: 0\n\ 3780Sstevel@tonic-gate \t flags: 0x00008041\n\ 3790Sstevel@tonic-gate \t [ BASELM,ENVIRON,STARTREL ]\n\ 3800Sstevel@tonic-gate \t tflags: 0x00000000\n\ 3810Sstevel@tonic-gate \n\ 3820Sstevel@tonic-gate Example 2 - all link-map headers:\n\n\ 3830Sstevel@tonic-gate \t> ::Lm_list\n\ 3840Sstevel@tonic-gate \tLink-map lists (dynlm_list): 0xffbfdbf8\n\ 3850Sstevel@tonic-gate \t----------------------------------------------\n\ 3860Sstevel@tonic-gate \t Lm_list: 0xff3ee0f0 (LM_ID_BASE)\n\ 3870Sstevel@tonic-gate \t ----------------------------------------------\n\ 3880Sstevel@tonic-gate \t lists: 0xff3f0b68 Alist[used 1: total 4]\n\ 3890Sstevel@tonic-gate \t ----------------------------------------------\n\ 3900Sstevel@tonic-gate \t head: 0xff3f0f84 tail: 0xff3f1794\n\ 3910Sstevel@tonic-gate \t audit: 0x00000000 preexec: 0xff3f1794\n\ 3920Sstevel@tonic-gate \t handle: 0x00000000 obj: 3 init: 0 lazy: 0\n\ 3930Sstevel@tonic-gate \t flags: 0x00008041\n\ 3940Sstevel@tonic-gate \t [ BASELM,ENVIRON,STARTREL ]\n\ 3950Sstevel@tonic-gate \t tflags: 0x00000000\n\ 3960Sstevel@tonic-gate \t ----------------------------------------------\n\ 3970Sstevel@tonic-gate \t Lm_list: 0xff3ee134 (LM_ID_LDSO)\n\ 3980Sstevel@tonic-gate \t ----------------------------------------------\n\ 3990Sstevel@tonic-gate \t lists: 0xff3f0ba4 Alist[used 1: total 4]\n\ 4000Sstevel@tonic-gate \t ----------------------------------------------\n\ 4010Sstevel@tonic-gate \t head: 0xff3f0c20 tail: 0xff3f0c20\n\ 4020Sstevel@tonic-gate \t audit: 0x00000000 preexec: 0x00000000\n\ 4030Sstevel@tonic-gate \t handle: 0x00000000 obj: 0 init: 0 lazy: 0\n\ 4040Sstevel@tonic-gate \t flags: 0x00000006\n\ 4050Sstevel@tonic-gate \t [ RTLDLM,NOAUDIT ]\n\ 4060Sstevel@tonic-gate \t tflags: 0x00000000\n" 4070Sstevel@tonic-gate 4080Sstevel@tonic-gate# 4090Sstevel@tonic-gate# Rt_maps messages. 4100Sstevel@tonic-gate# 4110Sstevel@tonic-gate 4120Sstevel@tonic-gate@ MSG_RTMAPS_STR "Rt_maps" 4130Sstevel@tonic-gate 4140Sstevel@tonic-gate@ MSG_RTMAPS_DCD "Display list of Rt_map structures" 4150Sstevel@tonic-gate 4160Sstevel@tonic-gate@ MSG_RTMAPS_TITLE0 "lmco \trtmap ADDR() NAME()\n" 4170Sstevel@tonic-gate 4180Sstevel@tonic-gate@ MSG_RTMAPS_HELP "\ 4190Sstevel@tonic-gate Walk a list of Rt_map's starting with a specified Rt_map entry. If no\n\ 4200Sstevel@tonic-gate address is specified, the dynlm_list master Rt_map list is searched and\n\ 4210Sstevel@tonic-gate all objects listed.\n\ 4220Sstevel@tonic-gate \n\ 4230Sstevel@tonic-gate The -v option expands each Rt_map in detail. See Rt_map.\n\ 4240Sstevel@tonic-gate \n\ 4250Sstevel@tonic-gate Example 1 - a single entry, starting from a specified address:\n\n\ 4260Sstevel@tonic-gate \t> 0xff3b0214::Rt_maps\n\ 4270Sstevel@tonic-gate \tlmco rtmap ADDR() NAME()\n\ 4280Sstevel@tonic-gate \t---------------------------------------------\n\ 4290Sstevel@tonic-gate \t[0xc] 0xff3b0214 0x00010000 prog\n\ 4300Sstevel@tonic-gate \t[0xc] 0xff3b065c 0xff3a0000 /lib/libdl.so.1\n\ 4310Sstevel@tonic-gate \t[0xc] 0xff3b0a04 0xff280000 /lib/libc.so.1\n\ 4320Sstevel@tonic-gate \n\ 4330Sstevel@tonic-gate Example 2 - all Rt_map entries:\n\n\ 4340Sstevel@tonic-gate \t> ::Rt_maps\n\ 4350Sstevel@tonic-gate \tLink-map lists (dynlm_list): 0xffbfe080\n\ 4360Sstevel@tonic-gate \t---------------------------------------------\n\ 4370Sstevel@tonic-gate \t Lm_list: 0xff3f60c8 (LM_ID_BASE)\n\ 4380Sstevel@tonic-gate \t ---------------------------------------------\n\ 4390Sstevel@tonic-gate \t lmco rtmap ADDR() NAME()\n\ 4400Sstevel@tonic-gate \t ---------------------------------------------\n\ 4410Sstevel@tonic-gate \t [0xc] 0xff3b0214 0x00010000 prog\n\ 4420Sstevel@tonic-gate \t [0xc] 0xff3b065c 0xff3a0000 /lib/libdl.so.1\n\ 4430Sstevel@tonic-gate \t [0xc] 0xff3b0a04 0xff280000 /lib/libc.so.1\n\ 4440Sstevel@tonic-gate \t ---------------------------------------------\n\ 4450Sstevel@tonic-gate \t Lm_list: 0xff3f60e8 (LM_ID_LDSO)\n\ 4460Sstevel@tonic-gate \t ---------------------------------------------\n\ 4470Sstevel@tonic-gate \t lmco rtmap ADDR() NAME()\n\ 4480Sstevel@tonic-gate \t ---------------------------------------------\n\ 4490Sstevel@tonic-gate \t [0xc] 0xff3f7cc0 0xff3c0000 /lib/ld.so.1\n" 4500Sstevel@tonic-gate 4510Sstevel@tonic-gate 4520Sstevel@tonic-gate# 4530Sstevel@tonic-gate# Rt_map messages. 4540Sstevel@tonic-gate# 4550Sstevel@tonic-gate 4560Sstevel@tonic-gate@ MSG_RTMAP_STR "Rt_map" 4570Sstevel@tonic-gate 4580Sstevel@tonic-gate@ MSG_RTMAP_DCD "Display Rt_map structure" 4590Sstevel@tonic-gate 4600Sstevel@tonic-gate@ MSG_RTMAP_TITLE "Rt_map located at: 0x%0?p\n" 4610Sstevel@tonic-gate@ MSG_RTMAP_LINE1 " NAME: %s\n" 4620Sstevel@tonic-gate@ MSG_RTMAP_LINE2 " PATHNAME: %s\n" 4630Sstevel@tonic-gate@ MSG_RTMAP_LINE3 " ADDR: 0x%0?p\t DYN: 0x%0?p\n" 4640Sstevel@tonic-gate@ MSG_RTMAP_LINE4 " NEXT: 0x%0?p\t PREV: 0x%0?p\n" 4650Sstevel@tonic-gate@ MSG_RTMAP_LINE5 " FCT: 0x%0?p\t TLSMODID: %?ld\n" 4660Sstevel@tonic-gate@ MSG_RTMAP_LINE6 " INIT: 0x%0?p\t FINI: 0x%0?p\n" 4670Sstevel@tonic-gate@ MSG_RTMAP_LINE7 " GROUPS: 0x%0?p\t HANDLES: 0x%0?p\n" 4680Sstevel@tonic-gate@ MSG_RTMAP_LINE8 " DEPENDS: 0x%0?p\t CALLERS: 0x%0?p\n" 4690Sstevel@tonic-gate@ MSG_RTMAP_LINE9 " DYNINFO: 0x%0?p\t REFNAME: %s\n" 4700Sstevel@tonic-gate@ MSG_RTMAP_LINE10 " RLIST: 0x%0?p\t RPATH: %s\n" 4710Sstevel@tonic-gate@ MSG_RTMAP_LINE11 " LIST: 0x%0?p [%a]\n" 4720Sstevel@tonic-gate@ MSG_RTMAP_LINE12 " FLAGS: 0x%08x\n" 4730Sstevel@tonic-gate@ MSG_RTMAP_LINE13 " FLAGS1: 0x%08x\n" 4748598SRod.Evans@Sun.COM@ MSG_RTMAP_LINE14 " AFLAGS: 0x%08x\n" 4758598SRod.Evans@Sun.COM@ MSG_RTMAP_LINE15 " MODE: 0x%08x\n" 4760Sstevel@tonic-gate@ MSG_RTMAP_LINE20 " [ %#b ]\n" 4770Sstevel@tonic-gate 4780Sstevel@tonic-gate@ MSG_RTMAP_HELP "\ 4790Sstevel@tonic-gate Display the contents of selected fields of an Rt_map structure.\n\ 4800Sstevel@tonic-gate \n\ 4810Sstevel@tonic-gate Example:\n\n\ 4820Sstevel@tonic-gate \t0xff3b0214::Rt_map\n\ 4830Sstevel@tonic-gate \tRt_map located at: 0xff3b0214\n\ 4840Sstevel@tonic-gate \t NAME: prog\n\ 4850Sstevel@tonic-gate \t PATHNAME: /home/developer/bin/prog\n\ 4860Sstevel@tonic-gate \t ADDR: 0x00010000 DYN: 0x00020b1\n\ 4870Sstevel@tonic-gate \t NEXT: 0xff3b065c PREV: 0x0000000\n\ 4880Sstevel@tonic-gate \t FCT: 0xff3f6080 TLSMODID: 0\n\ 4890Sstevel@tonic-gate \t INIT: 0x00010960 FINI: 0x000109b\n\ 4900Sstevel@tonic-gate \t .....\n" 4910Sstevel@tonic-gate 4920Sstevel@tonic-gate# 4930Sstevel@tonic-gate# Bind messages. 4940Sstevel@tonic-gate# 4950Sstevel@tonic-gate 4960Sstevel@tonic-gate@ MSG_BND_STR "Bind" 4970Sstevel@tonic-gate 4980Sstevel@tonic-gate@ MSG_BND_DCD "Display a Binding Descriptor" 4990Sstevel@tonic-gate 5000Sstevel@tonic-gate@ MSG_BND_TITLE "Binding descriptor located at: 0x%0?p\n" 5010Sstevel@tonic-gate@ MSG_BND_LINE1 " caller: 0x%0?p %s\n" 5020Sstevel@tonic-gate@ MSG_BND_LINE2 " depend: 0x%0?p %s\n" 5030Sstevel@tonic-gate@ MSG_BND_LINE3 " flags: 0x%08x [ %#b ]\n" 5040Sstevel@tonic-gate 5050Sstevel@tonic-gate@ MSG_BND_HELP "\ 5060Sstevel@tonic-gate Decode the binding descriptor specified by addr.\n\ 5070Sstevel@tonic-gate \n\ 5080Sstevel@tonic-gate Relationships between Rt_map objects are maintained by a binding dis-\n\ 5090Sstevel@tonic-gate cripter. The descriptor contains a pointer to the Rt_map of the caller,\n\ 5100Sstevel@tonic-gate a pointer to the Rt_map of the dependency, and a flags field indicating\n\ 5110Sstevel@tonic-gate the relationship between the two Rt_map objects.\n\ 5120Sstevel@tonic-gate \n\ 5130Sstevel@tonic-gate The -v option expands each Rt_map.\n\ 5140Sstevel@tonic-gate \n\ 5150Sstevel@tonic-gate Example:\n\n\ 5160Sstevel@tonic-gate \t> 0xff3b0410::Bind\n\ 5170Sstevel@tonic-gate \tBinding Descriptor located at: 0xff3b0410\n\ 5180Sstevel@tonic-gate \t caller: 0xff3b0030 main\n\ 5190Sstevel@tonic-gate \t depend: 0xff3b0460 /lib/libelf.so.1\n\ 5200Sstevel@tonic-gate \t flags: 0x00000001 [ NEEDED ]\n" 5210Sstevel@tonic-gate 5220Sstevel@tonic-gate 5230Sstevel@tonic-gate# 5240Sstevel@tonic-gate# Depends messages. 5250Sstevel@tonic-gate# 5260Sstevel@tonic-gate 5270Sstevel@tonic-gate@ MSG_DEPENDS_STR "Depends" 5280Sstevel@tonic-gate 5290Sstevel@tonic-gate@ MSG_DEPENDS_DCD "Display Rt_map DEPENDS binding descriptors" 5300Sstevel@tonic-gate 5310Sstevel@tonic-gate@ MSG_DEPENDS_LINE1 "DEPENDS for %s\n" 5325892Sab196087@ MSG_DEPENDS_LINE2 " Depends: 0x%0?p APlist[used %u: total %u]\n" 5330Sstevel@tonic-gate 5340Sstevel@tonic-gate@ MSG_DEPENDS_HELP "\ 5350Sstevel@tonic-gate Display the binding descriptor list of DEPENDS() of the Rt_map\n\ 5365892Sab196087 specified by addr. A DEPENDS() entry consists of an APlist\n\ 5370Sstevel@tonic-gate defining each dependency.\n\ 5380Sstevel@tonic-gate \n\ 5395892Sab196087 The -v option walks the APlist descriptor displaying each dependency.\n\ 5400Sstevel@tonic-gate \n\ 5410Sstevel@tonic-gate Example:\n\n\ 5420Sstevel@tonic-gate \t> 0xff3b0554::Depends -v\n\ 5430Sstevel@tonic-gate \tDEPENDS for /lib/libc.so.1\n\ 5440Sstevel@tonic-gate \t----------------------------------------------\n\ 5455892Sab196087 \t Depends: 0xff3b0bc4 APlist[used 2: total 4]\n\ 5460Sstevel@tonic-gate \t ----------------------------------------------\n\ 5470Sstevel@tonic-gate \t Binding descriptor located at: 0xff3b08f8\n\ 5480Sstevel@tonic-gate \t caller: 0xff3b0554 /lib/libc.so.1\n\ 5490Sstevel@tonic-gate \t depend: 0xff3b0938 /lib/libdl.so.1\n\ 5500Sstevel@tonic-gate \t flags: 0x00000003 [ NEEDED,REFERENCED ]\n\ 5510Sstevel@tonic-gate \t ----------------------------------------------\n\ 5520Sstevel@tonic-gate \t Binding descriptor located at: 0xff3b07a8\n\ 5530Sstevel@tonic-gate \t caller: 0xff3b0554 /lib/libc.so.1\n\ 5540Sstevel@tonic-gate \t depend: 0xff3f7cc0 /lib/ld.so.1\n\ 5550Sstevel@tonic-gate \t flags: 0x00000002 [ REFERENCED ]\n" 5560Sstevel@tonic-gate 5570Sstevel@tonic-gate# 5580Sstevel@tonic-gate# Callers messages. 5590Sstevel@tonic-gate# 5600Sstevel@tonic-gate 5610Sstevel@tonic-gate@ MSG_CALLERS_STR "Callers" 5620Sstevel@tonic-gate 5630Sstevel@tonic-gate@ MSG_CALLERS_DCD "Display Rt_map CALLERS binding descriptors" 5640Sstevel@tonic-gate 5650Sstevel@tonic-gate@ MSG_CALLERS_LINE1 "CALLERS for %s\n" 5665892Sab196087@ MSG_CALLERS_LINE2 " Callers: 0x%0?p APlist[used %u: total %u]\n" 5670Sstevel@tonic-gate 5680Sstevel@tonic-gate@ MSG_CALLERS_HELP "\ 5690Sstevel@tonic-gate Display the binding descriptor list of CALLERS() of the Rt_map\n\ 5705892Sab196087 specified by addr. A CALLERS() entry consists of an APlist\n\ 5710Sstevel@tonic-gate defining each caller.\n\ 5720Sstevel@tonic-gate \n\ 5735892Sab196087 The -v option walks the APlist descriptor displaying each caller.\n\ 5740Sstevel@tonic-gate \n\ 5750Sstevel@tonic-gate Example:\n\n\ 5760Sstevel@tonic-gate \t> 0xff3b0554::Callers -v\n\ 5770Sstevel@tonic-gate \tCALLERS for /lib/libc.so.1\n\ 5780Sstevel@tonic-gate \t----------------------------------------------\n\ 5795892Sab196087 \t Callers: 0xff3b08cc APlist[used 1: total 4]\n\ 5800Sstevel@tonic-gate \t ----------------------------------------------\n\ 5810Sstevel@tonic-gate \t Binding descriptor located at: 0xff3b0514\n\ 5820Sstevel@tonic-gate \t caller: 0xff3b0214 a.out\n\ 5830Sstevel@tonic-gate \t depend: 0xff3b0554 /lib/libc.so.1\n\ 5840Sstevel@tonic-gate \t flags: 0x00000003 [ NEEDED,REFERENCED ]\n" 5850Sstevel@tonic-gate 5860Sstevel@tonic-gate 5870Sstevel@tonic-gate# 5880Sstevel@tonic-gate# Handle messages. 5890Sstevel@tonic-gate# 5900Sstevel@tonic-gate 5910Sstevel@tonic-gate@ MSG_HANDLES_STR "Handles" 5920Sstevel@tonic-gate 5930Sstevel@tonic-gate@ MSG_HANDLES_DCD "Display Rt_map HANDLES group descriptors" 5940Sstevel@tonic-gate 5950Sstevel@tonic-gate@ MSG_HANDLES_LINE1 "HANDLES for %s\n" 5965892Sab196087@ MSG_HANDLES_LINE2 " HANDLE: 0x%0?p APlist[used %u: total %u]\n" 5970Sstevel@tonic-gate 5980Sstevel@tonic-gate@ MSG_HANDLES_HELP "\ 5990Sstevel@tonic-gate Display the list of HANDLES() that the Rt_map, specified by addr, is the\n\ 6005892Sab196087 owner of. A HANDLES() entry consists of an APlist of Grp_hdl descriptors.\n\ 6015892Sab196087 See GrpHdl. Each Grp_hdl() consists of an APlist of Grp_desc descriptors\n\ 6020Sstevel@tonic-gate that define each caller. See GrpDesc.\n\ 6030Sstevel@tonic-gate \n\ 6045892Sab196087 The -v option walks all APlists displaying each member of the handle.\n\ 6050Sstevel@tonic-gate \n\ 6060Sstevel@tonic-gate Example:\n\n\ 6070Sstevel@tonic-gate \t> 0xff3b0f6c::Handles -v\n\ 6080Sstevel@tonic-gate \tHANDLES for ./sub.so\n\ 6090Sstevel@tonic-gate \t----------------------------------------------\n\ 6105892Sab196087 \t HANDLE: 0xff3b1310 APlist[used 1: total 1]\n\ 6110Sstevel@tonic-gate \t ----------------------------------------------\n\ 6120Sstevel@tonic-gate \t Group Handle located at: 0xff3b1270\n\ 6130Sstevel@tonic-gate \t ----------------------------------------------\n\ 6140Sstevel@tonic-gate \t owner: ./sub.so\n\ 6150Sstevel@tonic-gate \t flags: 0x00000000 [ 0 ]\n\ 6160Sstevel@tonic-gate \t refcnt: 1 depends: 0xff3b12c8 Alist[used 3: total 4]\n\ 6170Sstevel@tonic-gate \t ----------------------------------------------\n\ 6180Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12d4\n\ 6190Sstevel@tonic-gate \t depend: 0xff3b0f6c ./sub.so\n\ 6200Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6210Sstevel@tonic-gate \t ----------------------------------------------\n\ 6220Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12dc\n\ 6230Sstevel@tonic-gate \t depend: 0xff3b0a04 /lib/libc.so.1\n\ 6240Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6250Sstevel@tonic-gate \t ----------------------------------------------\n\ 6260Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12e4\n\ 6270Sstevel@tonic-gate \t depend: 0xff3b065c /lib/libdl.so.1\n\ 6280Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n" 6290Sstevel@tonic-gate 6300Sstevel@tonic-gate# 6310Sstevel@tonic-gate# Group messages. 6320Sstevel@tonic-gate# 6330Sstevel@tonic-gate 6340Sstevel@tonic-gate@ MSG_GROUPS_STR "Groups" 6350Sstevel@tonic-gate 6360Sstevel@tonic-gate@ MSG_GROUPS_DCD "Display Rt_map GROUPS group handles" 6370Sstevel@tonic-gate 6380Sstevel@tonic-gate@ MSG_GROUPS_LINE1 "GROUPS for %s\n" 6395892Sab196087@ MSG_GROUPS_LINE2 " Groups: 0x%0?p APlist[used %u: total %u]\n" 6400Sstevel@tonic-gate 6410Sstevel@tonic-gate@ MSG_GROUPS_HELP "\ 6420Sstevel@tonic-gate Display the list of GROUPS() that the Rt_map, specified by addr, is a \ 6435892Sab196087 member\nof. A GROUPS() entry consists of an APlist of Grp_hdl entries. \ 6440Sstevel@tonic-gate See GrpHdl.\n\ 6450Sstevel@tonic-gate \n\ 6465892Sab196087 The -v option walks the APlist descriptor displaying each member of the\n\ 6470Sstevel@tonic-gate handle.\n\ 6480Sstevel@tonic-gate \n\ 6490Sstevel@tonic-gate Example:\n\n\ 6500Sstevel@tonic-gate \t> 0xff3b0f6c::Groups -v\n\ 6510Sstevel@tonic-gate \tGROUPS for ./sub.so\n\ 6520Sstevel@tonic-gate \t----------------------------------------------\n\ 6535892Sab196087 \t Groups: 0xff3b12a8 APlist[used 1: total 1]\n\ 6540Sstevel@tonic-gate \t ----------------------------------------------\n\ 6550Sstevel@tonic-gate \t Group Handle located at: 0xff3b1270\n\ 6560Sstevel@tonic-gate \t ----------------------------------------------\n\ 6570Sstevel@tonic-gate \t owner: ./sub.so\n\ 6580Sstevel@tonic-gate \t flags: 0x00000000 [ 0 ]\n\ 6590Sstevel@tonic-gate \t refcnt: 1 depends: 0xff3b12c8 Alist[used 3: total 4]\n\ 6600Sstevel@tonic-gate \t ----------------------------------------------\n\ 6610Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12d4\n\ 6620Sstevel@tonic-gate \t depend: 0xff3b0f6c ./sub.so\n\ 6630Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6640Sstevel@tonic-gate \t ----------------------------------------------\n\ 6650Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12dc\n\ 6660Sstevel@tonic-gate \t depend: 0xff3b0a04 /lib/libc.so.1\n\ 6670Sstevel@tonic-gate \t flags: 0x00000004 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6680Sstevel@tonic-gate \t ----------------------------------------------\n\ 6690Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12e4\n\ 6700Sstevel@tonic-gate \t depend: 0xff3b065c /lib/libdl.so.1\n\ 6710Sstevel@tonic-gate \t flags: 0x00000004 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n" 6720Sstevel@tonic-gate 6730Sstevel@tonic-gate 6740Sstevel@tonic-gate# 6750Sstevel@tonic-gate# Group handle and group descriptor messages. 6760Sstevel@tonic-gate# 6770Sstevel@tonic-gate 6780Sstevel@tonic-gate@ MSG_GRPHDL_STR "GrpHdl" 6790Sstevel@tonic-gate 6800Sstevel@tonic-gate@ MSG_GRPHDL_DCD "Display a Group Handle" 6810Sstevel@tonic-gate 6820Sstevel@tonic-gate@ MSG_GRPHDL_LINE1 "Group Handle located at: 0x%0?p\n" 6830Sstevel@tonic-gate@ MSG_GRPHDL_LINE2 " owner: %s\n" 6840Sstevel@tonic-gate@ MSG_GRPHDL_LINE3 " flags: 0x%08x [ %#b ]\n" 6850Sstevel@tonic-gate@ MSG_GRPHDL_LINE4 " refcnt: %8d depends: 0\n" 6860Sstevel@tonic-gate@ MSG_GRPHDL_LINE5 " refcnt: %8d depends: 0x%0?p \ 6870Sstevel@tonic-gate Alist[used %u: total %u]\n" 6880Sstevel@tonic-gate 6890Sstevel@tonic-gate@ MSG_GRPHDL_HELP "\ 6900Sstevel@tonic-gate Decode a group handle. A successful dlopen() of an object returns a\n\ 6910Sstevel@tonic-gate handle applicable for subsequent dlsym() requests. The handle maintains\n\ 6920Sstevel@tonic-gate a reference count, flags and a table of group descriptors that define the\n\ 6930Sstevel@tonic-gate dependencies associated with this group of objects.\n\ 6940Sstevel@tonic-gate \n\ 6950Sstevel@tonic-gate The -v option expands each group descriptor.\n\ 6960Sstevel@tonic-gate \n\ 6970Sstevel@tonic-gate Example:\n\n\ 6980Sstevel@tonic-gate \t> 0xff3a0c58::GrpHdl\n\ 6990Sstevel@tonic-gate \tGroup Handle located at: 0xff3a0c58\n\ 7000Sstevel@tonic-gate \t----------------------------------------------\n\ 7010Sstevel@tonic-gate \t refcnt: 1 main\n\ 7020Sstevel@tonic-gate \t flags: 0x00000001 [ DLOPEN-ZERO ]\n\ 7030Sstevel@tonic-gate \t depends: 0xff3a0c89 Alist[next 1: cnt 2]\n" 7040Sstevel@tonic-gate 7050Sstevel@tonic-gate 7060Sstevel@tonic-gate 7070Sstevel@tonic-gate@ MSG_GRPDESC_STR "GrpDesc" 7080Sstevel@tonic-gate 7090Sstevel@tonic-gate@ MSG_GRPDESC_DCD "Display a Group Descriptor" 7100Sstevel@tonic-gate 7110Sstevel@tonic-gate@ MSG_GRPDESC_LINE1 "Group Descriptor located at: 0x%0?p\n" 7120Sstevel@tonic-gate@ MSG_GRPDESC_LINE2 " depend: 0x%0?p %s\n" 7130Sstevel@tonic-gate@ MSG_GRPDESC_LINE3 " flags: 0x%08x [ %#b ]\n" 7140Sstevel@tonic-gate 7150Sstevel@tonic-gate@ MSG_GRPDESC_HELP "\ 7160Sstevel@tonic-gate Decode a group descriptor. A GrpHdl created by dlopen() maintains a\n\ 7170Sstevel@tonic-gate list of group descriptors for each dependency. See GrpHdl.\n\ 7180Sstevel@tonic-gate \n\ 7190Sstevel@tonic-gate Example\n\n\ 7200Sstevel@tonic-gate \t> 0xff3b12d4::GrpDesc -v\n\ 7210Sstevel@tonic-gate \tGroup Descriptor located at: 0xff3b12d4\n\ 7220Sstevel@tonic-gate \t depend: 0xff3b0f6c ./sub.so\n\ 7230Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n" 7240Sstevel@tonic-gate 7250Sstevel@tonic-gate 7260Sstevel@tonic-gate@ MSG_BNDDESC_STR "BndDesc" 7270Sstevel@tonic-gate 7280Sstevel@tonic-gate# 7290Sstevel@tonic-gate# General purpose environment addition. 7300Sstevel@tonic-gate# 7310Sstevel@tonic-gate 7320Sstevel@tonic-gate@ MSG_SETENV_STR "Setenv" 7330Sstevel@tonic-gate 7340Sstevel@tonic-gate@ MSG_SETENV_DCD "Set an environment variable" 7350Sstevel@tonic-gate 7360Sstevel@tonic-gate@ MSG_SETENV_HELP "\ 7370Sstevel@tonic-gate Set the associated environment variable. This can be useful to establish\n\ 7380Sstevel@tonic-gate runtime linker environment variables without affecting the debugger itself.\n\ 7390Sstevel@tonic-gate \n\ 7400Sstevel@tonic-gate Note, newer versions of mdb(1) provide setenv. The mdb(1) implementation\n\ 7410Sstevel@tonic-gate provides the ability to make environment changes at any point during\n\ 7420Sstevel@tonic-gate application monitoring. Where available, Setenv calls through to setenv.\n\ 7430Sstevel@tonic-gate On older environments, Setenv only provides for changing the applications\n\ 7440Sstevel@tonic-gate environment before it is invoked.\n\ 7450Sstevel@tonic-gate \n\ 7460Sstevel@tonic-gate Example\n\n\ 7470Sstevel@tonic-gate \t> ::Setenv LD_DEBUG=files\n" 748