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# 233466Srie# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 241824Srie# Use is subject to license terms. 251824Srie# 260Sstevel@tonic-gate# pragma ident "%Z%%M% %I% %E% SMI" 270Sstevel@tonic-gate# 280Sstevel@tonic-gate 290Sstevel@tonic-gate@ _START_ 300Sstevel@tonic-gate 310Sstevel@tonic-gate@ _END_ 320Sstevel@tonic-gate 330Sstevel@tonic-gate# 340Sstevel@tonic-gate# Misc. Strings 350Sstevel@tonic-gate# 360Sstevel@tonic-gate@ MSG_STR_NAME "NAME" 370Sstevel@tonic-gate@ MSG_STR_PATHNAME "PATHNAME" 380Sstevel@tonic-gate@ MSG_STR_REFNAME "REFNAME" 390Sstevel@tonic-gate@ MSG_STR_RPATH "RPATH" 400Sstevel@tonic-gate@ MSG_STR_DASHES "----------------------------------------------\n" 410Sstevel@tonic-gate@ MSG_STR_LDSO1 "ld.so.1" 420Sstevel@tonic-gate@ MSG_STR_DYNLMLIST "dynlm_list" 430Sstevel@tonic-gate@ MSG_STR_ALIST "Alist" 440Sstevel@tonic-gate@ MSG_STR_LISTNODE "Listnode" 450Sstevel@tonic-gate@ MSG_STR_EMPTY "" 460Sstevel@tonic-gate@ MSG_STR_ORPHANED "<orphaned>" 470Sstevel@tonic-gate@ MSG_STR_SETENV "setenv" 480Sstevel@tonic-gate 490Sstevel@tonic-gate# 500Sstevel@tonic-gate# mdb_dcmd_t.dc_usage's 510Sstevel@tonic-gate# 520Sstevel@tonic-gate@ MSG_USG_ADDREQ ":" # Address required 530Sstevel@tonic-gate@ MSG_USG_ADDREQ_V ":[-v]" # Address required plus -v 540Sstevel@tonic-gate@ MSG_USG_ADDOPT_V "?[-v]" # Address optional plus -v 550Sstevel@tonic-gate@ MSG_USG_SETENV "name[=value]" # Setenv argument 560Sstevel@tonic-gate 570Sstevel@tonic-gate# 580Sstevel@tonic-gate# mdb_walker.walk_descr's 590Sstevel@tonic-gate# 600Sstevel@tonic-gate@ MSG_WWD_RTMAP "Walk a List of Rt_maps" 610Sstevel@tonic-gate@ MSG_WWD_LIST "Walk a List" 620Sstevel@tonic-gate 630Sstevel@tonic-gate# 640Sstevel@tonic-gate# Flag Strings 650Sstevel@tonic-gate# 663466Srie@ MSG_FLG_ISMAIN "IS-MAIN" 673466Srie@ MSG_FLG_IMGALLOC "IMAGE-ALLOCATED" 680Sstevel@tonic-gate@ MSG_FLG_RELOCED "RELOCED" 693466Srie@ MSG_FLG_SETGROUP "SET-GROUP" 700Sstevel@tonic-gate@ MSG_FLG_HWCAP "HWCAP" 710Sstevel@tonic-gate@ MSG_FLG_OBJECT "OBJECT" 720Sstevel@tonic-gate@ MSG_FLG_NODUMP "NODUMP" 730Sstevel@tonic-gate@ MSG_FLG_DELETE "DELETE" 740Sstevel@tonic-gate@ MSG_FLG_ANALYZED "ANALYZED" 753466Srie@ MSG_FLG_INITDONE "INIT-DONE" 760Sstevel@tonic-gate@ MSG_FLG_TRANS "TRANS" 770Sstevel@tonic-gate@ MSG_FLG_FIXED "FIXED" 780Sstevel@tonic-gate@ MSG_FLG_PRELOAD "PRELOAD" 793466Srie@ MSG_FLG_ALTER "ALTERNATE" 803466Srie@ MSG_FLG_LOADFLTR "LOAD-FILTERS" 810Sstevel@tonic-gate@ MSG_FLG_AUDIT "AUDIT" 823466Srie@ MSG_FLG_MODESET "MODE-SET" 830Sstevel@tonic-gate@ MSG_FLG_ANALZING "ANALYZING" 843466Srie@ MSG_FLG_INITFRST "INIT-FIRST" 853466Srie@ MSG_FLG_NOOPEN "NO-OPEN" 863466Srie@ MSG_FLG_FINICLCT "FINI-COLLECTED" 873466Srie@ MSG_FLG_INITCALL "INIT-CALLED" 880Sstevel@tonic-gate@ MSG_FLG_SUNWBSS "SUNWBSS" 893466Srie@ MSG_FLG_OBJINTPO "OBJECT-INTERPOSE" 903466Srie@ MSG_FLG_SYMINTPO "SYMBOL-INTERPOSE" 910Sstevel@tonic-gate@ MSG_FLG_MOVE "MOVE" 920Sstevel@tonic-gate@ MSG_FLG_DLSYM "DLSYM" 933466Srie@ MSG_FLG_REGSYMS "REGISTER-SYMS" 943466Srie@ MSG_FLG_INITCLCT "INIT-COLLECTED" 950Sstevel@tonic-gate@ MSG_FLG_HANDLE "HANDLE" 960Sstevel@tonic-gate@ MSG_FLG_RELOCING "RELOCATING" 970Sstevel@tonic-gate 980Sstevel@tonic-gate@ MSG_FL1_COPYTOOK "COPYTOOK" 990Sstevel@tonic-gate@ MSG_FL1_RELATIVE "RELATIVE" 1000Sstevel@tonic-gate@ MSG_FL1_CONFSET "CONFSET" 1013466Srie@ MSG_FL1_NODEFLIB "NO-DEFAULT-LIBPATH" 1023466Srie@ MSG_FL1_ENDFILTE "END-FILTEE" 1033466Srie@ MSG_FL1_DISPREL "DISPLACEMENT-RELOCATED" 1043466Srie@ MSG_FL1_TEXTREL "TEXT-RELOCATED" 1053466Srie@ MSG_FL1_INITWAIT "INIT-WAIT" 1060Sstevel@tonic-gate@ MSG_FL1_LDDSTUB "LDDSTUB" 1073466Srie@ MSG_FL1_NOINIFIN "NO-INITFINI" 1080Sstevel@tonic-gate@ MSG_FL1_USED "USED" 1090Sstevel@tonic-gate@ MSG_FL1_SYMBOLIC "SYMBOLIC" 1103466Srie@ MSG_FL1_OBJSFLTR "OBJ-STD-FILTER" 1113466Srie@ MSG_FL1_OBJAFLTR "OBJ-AUX-FILTER" 1123466Srie@ MSG_FL1_SYMSFLTR "SYM-STD-FILTER" 1133466Srie@ MSG_FL1_SYMAFLTR "SYM-AUX-FILTER" 1143466Srie@ MSG_FL1_TLSADD "TLS-ADD" 1153466Srie@ MSG_FL1_TLSSTAT "TLS-STAT" 1163466Srie@ MSG_FL1_DIRECT "DIRECT" 1174679Srie@ MSG_FL1_GLOBAUD "GLOBAL-AUDITING" 1180Sstevel@tonic-gate 1190Sstevel@tonic-gate@ MSG_MODE_LAZY "LAZY" 1200Sstevel@tonic-gate@ MSG_MODE_NOW "NOW" 1210Sstevel@tonic-gate@ MSG_MODE_NOLOAD "NOLOAD" 1220Sstevel@tonic-gate@ MSG_MODE_GLOBAL "GLOBAL" 1230Sstevel@tonic-gate@ MSG_MODE_PARENT "PARENT" 1240Sstevel@tonic-gate@ MSG_MODE_GROUP "GROUP" 1250Sstevel@tonic-gate@ MSG_MODE_WORLD "WORLD" 1260Sstevel@tonic-gate@ MSG_MODE_NODELETE "NODELETE" 1270Sstevel@tonic-gate@ MSG_MODE_FIRST "FIRST" 1280Sstevel@tonic-gate@ MSG_MODE_CONFGEN "CONFGEN" 1290Sstevel@tonic-gate 1300Sstevel@tonic-gate@ MSG_BFL_NEEDED "NEEDED" 1310Sstevel@tonic-gate@ MSG_BFL_REFER "REFERENCED" 132280Srie@ MSG_BFL_FILTER "FILTER" 1330Sstevel@tonic-gate 1340Sstevel@tonic-gate@ MSG_GPH_ZERO "ZERO" 1350Sstevel@tonic-gate@ MSG_GPH_LDSO "LD.SO.1" 1360Sstevel@tonic-gate@ MSG_GPH_FIRST "FIRST-ONLY" 1370Sstevel@tonic-gate@ MSG_GPH_PARENT "PARENT-REQUIRED" 1380Sstevel@tonic-gate@ MSG_GPH_FILTEE "FILTEE" 1390Sstevel@tonic-gate@ MSG_GPH_INITIAL "INITIALIZED" 1402850Srie@ MSG_GPH_NOPENDLAZY "NO-PENDING-LAZY-DEPENDENCIES" 1410Sstevel@tonic-gate 142*4699Srie@ MSG_GPD_DLSYM "AVAIL-TO-DLSYM" 143*4699Srie@ MSG_GPD_RELOC "AVAIL-FOR-RELOCATION" 1440Sstevel@tonic-gate@ MSG_GPD_ADDEPS "ADD-DEPENDENCIES" 1450Sstevel@tonic-gate@ MSG_GPD_PARENT "PARENT" 1460Sstevel@tonic-gate@ MSG_GPD_FILTER "FILTER" 1470Sstevel@tonic-gate@ MSG_GPD_REMOVE "REMOVAL-CANDIDATE" 1480Sstevel@tonic-gate 1490Sstevel@tonic-gate@ MSG_LFL_BASELM "BASELM" 1500Sstevel@tonic-gate@ MSG_LFL_RTLDLM "RTLDLM" 1512850Srie@ MSG_LFL_NOAUDIT "NO-AUDIT" 1522850Srie@ MSG_LFL_PLTREL "DEFERRED-PLT-RELOCATION" 1532850Srie@ MSG_LFL_HOLDLOCK "HOLD-LOCK" 1540Sstevel@tonic-gate@ MSG_LFL_ENVIRON "ENVIRON" 1552850Srie@ MSG_LFL_INTRPOSE "INTERPOSE" 1562850Srie@ MSG_LFL_LOCAUDIT "LOCAL-AUDIT" 1572850Srie@ MSG_LFL_LOADAVAIL "LOAD-AVAILABLE" 1582850Srie@ MSG_LFL_IGNRELERR "IGNORE-RELOCATION-ERROR" 1592850Srie@ MSG_LFL_DBNOTIF "DBG-NOTIFY" 1602850Srie@ MSG_LFL_STARTREL "START-RELOCATION" 161280Srie@ MSG_LFL_ATEXIT "ATEXIT" 1622850Srie@ MSG_LFL_OBJADDED "OBJECT-ADDED" 1632850Srie@ MSG_LFL_OBJDELETED "OBJECT-DELETED" 1642850Srie@ MSG_LFL_OBJREEVAL "OBJECT-REEVALUATE" 1652850Srie@ MSG_LFL_NOPENDGLBLAZY "NO-PENDING-GLOBAL-LAZY-DEPENDENCY" 1660Sstevel@tonic-gate 1670Sstevel@tonic-gate@ MSG_LFL_TRC_LDDSTUB "TRC_LDDSTUB" 1680Sstevel@tonic-gate@ MSG_LFL_TRC_ENABLE "TRC_ENABLE" 1690Sstevel@tonic-gate@ MSG_LFL_TRC_WARN "TRC_WARN" 1700Sstevel@tonic-gate@ MSG_LFL_TRC_VERBOSE "TRC_VERBOSE" 1710Sstevel@tonic-gate@ MSG_LFL_TRC_SEARCH "TRC_SEARCH" 1720Sstevel@tonic-gate@ MSG_LFL_TRC_UNREF "TRC_UNREF" 1730Sstevel@tonic-gate@ MSG_LFL_TRC_UNUSED "TRC_UNUSED" 1740Sstevel@tonic-gate@ MSG_LFL_TRC_INIT "TRC_INIT" 1750Sstevel@tonic-gate 1760Sstevel@tonic-gate@ MSG_LTFL_NOLAZYLD "NOLAZYLD" 1770Sstevel@tonic-gate@ MSG_LTFL_NODIRECT "NODIRECT" 1780Sstevel@tonic-gate@ MSG_LTFL_LOADFLTR "LOADFLTR" 1790Sstevel@tonic-gate 1800Sstevel@tonic-gate@ MSG_LTFL_AUD_PREINIT "AUD_PREINIT" 1810Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJSEARCH "AUD_OBJSEARCH" 1820Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJOPEN "AUD_OBJOPEN" 1830Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJFILTER "AUD_OBJFILTER" 1840Sstevel@tonic-gate@ MSG_LTFL_AUD_OBJCLOSE "AUD_OBJCLOSE" 1850Sstevel@tonic-gate@ MSG_LTFL_AUD_SYMBIND "AUD_SYMBIND" 1860Sstevel@tonic-gate@ MSG_LTFL_AUD_PLTENTER "AUD_PLTENTER" 1870Sstevel@tonic-gate@ MSG_LTFL_AUD_PLTEXIT "AUD_PLTEXIT" 1880Sstevel@tonic-gate@ MSG_LTFL_AUD_ACTIVITY "AUD_ACTIVITY" 1890Sstevel@tonic-gate 1900Sstevel@tonic-gate@ MSG_LMC_ANALYZING "ANALYZING" 1910Sstevel@tonic-gate@ MSG_LMC_RELOCATING "RELOCATING" 1920Sstevel@tonic-gate@ MSG_LMC_REANALYZE "REANALYZE" 1930Sstevel@tonic-gate 1940Sstevel@tonic-gate# 1950Sstevel@tonic-gate# Error messages 1960Sstevel@tonic-gate# 1970Sstevel@tonic-gate@ MSG_ERR_NAS "%s:: no address specified\n" 1980Sstevel@tonic-gate@ MSG_ERR_READ "%s:: failed to read from: 0x%p\n" 1990Sstevel@tonic-gate@ MSG_ERR_SYMFAILED "rtmaps:: lookup of %s`%s failed\n" 2000Sstevel@tonic-gate 2010Sstevel@tonic-gate# 2020Sstevel@tonic-gate# Various generic format strings 2030Sstevel@tonic-gate# 2040Sstevel@tonic-gate@ MSG_FMT_RT "[0x%x]\t0x%0?p 0x%0?p %s\n" 2050Sstevel@tonic-gate@ MSG_FMT_LN "0x%0?p 0x%0?p 0x%0?p\n" 2060Sstevel@tonic-gate 2070Sstevel@tonic-gate# 2080Sstevel@tonic-gate# Elf header messages. 2090Sstevel@tonic-gate# 2100Sstevel@tonic-gate@ MSG_EHDR_STR "ElfEhdr" 2110Sstevel@tonic-gate 2120Sstevel@tonic-gate@ MSG_EHDR_DCD "Display Elf_Ehdr entry" 2130Sstevel@tonic-gate 2140Sstevel@tonic-gate@ MSG_EHDR_TITLE "Elf Header located at: 0x%p\n" 2150Sstevel@tonic-gate@ MSG_EHDR_LINE1 " ei_magic: { 0x%x, %c, %c, %c }\n" 2160Sstevel@tonic-gate@ MSG_EHDR_LINE2 " ei_class: %-18s ei_data: %s\n" 2170Sstevel@tonic-gate@ MSG_EHDR_LINE3 " e_machine: %-18s e_version: %s\n" 2180Sstevel@tonic-gate@ MSG_EHDR_LINE4 " e_type: %s\n" 2190Sstevel@tonic-gate@ MSG_EHDR_LINE5 " e_flags: %s\n" 2200Sstevel@tonic-gate@ MSG_EHDR_LINE6 " e_flags: %18s\n" 2210Sstevel@tonic-gate@ MSG_EHDR_LINE7 " e_entry: %#18lx e_ehsize: %2d \ 2220Sstevel@tonic-gate e_shstrndx: %2d\n" 2230Sstevel@tonic-gate@ MSG_EHDR_LINE8 " e_shoff: %#18lx e_shentsize: %2d \ 2240Sstevel@tonic-gate e_shnum: %2d\n" 2250Sstevel@tonic-gate@ MSG_EHDR_LINE9 " e_phoff: %#18lx e_phentsize: %2d \ 2260Sstevel@tonic-gate e_phnum: %2d\n" 2270Sstevel@tonic-gate 2280Sstevel@tonic-gate@ MSG_EHDR_HELP "\ 2290Sstevel@tonic-gate Decode an ELF Header (Elf_Ehdr) structure.\n\ 2300Sstevel@tonic-gate \n\ 2310Sstevel@tonic-gate Example:\n\n\ 2320Sstevel@tonic-gate \t> 0x10000::ElfEhdr \n\ 2330Sstevel@tonic-gate \tElf Header located at: 0x10000\n\ 2340Sstevel@tonic-gate \t ei_magic: { 0x7f, E, L, F }\n\ 2350Sstevel@tonic-gate \t ei_class: ELFCLASS32 ei_data: ELFDATA2MSB\n\ 2360Sstevel@tonic-gate \t e_machine: EM_SPARC e_version: EV_CURRENT\n\ 2370Sstevel@tonic-gate \t e_type: ET_EXEC\n\ 2380Sstevel@tonic-gate \t e_flags: 0\n\ 2390Sstevel@tonic-gate \t e_entry: 0x10640 e_ehsize: 52 e_shstrndx: 27\n\ 2400Sstevel@tonic-gate \t e_shoff: 0x1390 e_shentsize: 40 e_shnum: 29\n\ 2410Sstevel@tonic-gate \t e_phoff: 0x34 e_phentsize: 32 e_phnum: 5\n" 2420Sstevel@tonic-gate 2430Sstevel@tonic-gate# 2440Sstevel@tonic-gate# Elf Program Header messages. 2450Sstevel@tonic-gate# 2460Sstevel@tonic-gate 2470Sstevel@tonic-gate@ MSG_EPHDR_STR "ElfPhdr" 2480Sstevel@tonic-gate 2490Sstevel@tonic-gate@ MSG_EPHDR_DCD "Display Elf_Phdr entry" 2500Sstevel@tonic-gate 2510Sstevel@tonic-gate@ MSG_EPHDR_TITLE "Program Header located at: 0x%p\n" 2520Sstevel@tonic-gate@ MSG_EPHDR_LINE1 " p_vaddr: %#-14lx p_flags: %s\n" 2530Sstevel@tonic-gate@ MSG_EPHDR_LINE2 " p_paddr: %#-14lx p_type: %s\n" 2540Sstevel@tonic-gate@ MSG_EPHDR_LINE3 " p_filesz: %#-14lx p_memsz: %#lx\n" 2550Sstevel@tonic-gate@ MSG_EPHDR_LINE4 " p_offset: %#-14lx p_align: %#lx\n" 2560Sstevel@tonic-gate 2570Sstevel@tonic-gate@ MSG_EPHDR_HELP "\ 2580Sstevel@tonic-gate Decode an ELF Program Header (Elf_Phdr) structure.\n\ 2590Sstevel@tonic-gate \n\ 2600Sstevel@tonic-gate Example 1 - a single entry:\n\n\ 2610Sstevel@tonic-gate \t> 0x10000+0x34::ElfPhdr\n\ 2620Sstevel@tonic-gate \tProgram Header located at: 0x10034\n\ 2630Sstevel@tonic-gate \t p_vaddr: 0x10034 p_flags: [ PF_X PF_R ]\n\ 2640Sstevel@tonic-gate \t p_paddr: 0 p_type: [ PT_PHDR ]\n\ 2650Sstevel@tonic-gate \t p_filesz: 0xa0 p_memsz: 0xa0\n\ 2660Sstevel@tonic-gate \t p_offset: 0x34 p_align: 0\n\ 2670Sstevel@tonic-gate \n\ 2680Sstevel@tonic-gate Example 2 - multiple entries:\n\n\ 2690Sstevel@tonic-gate \t> 0x10034,2::ElfPhdr\n\ 2700Sstevel@tonic-gate \tProgram Header located at: 0x10034\n\ 2710Sstevel@tonic-gate \t p_vaddr: 0x10034 p_flags: [ PF_X PF_R ]\n\ 2720Sstevel@tonic-gate \t p_paddr: 0 p_type: [ PT_PHDR ]\n\ 2730Sstevel@tonic-gate \t p_filesz: 0xa0 p_memsz: 0xa0\n\ 2740Sstevel@tonic-gate \t p_offset: 0x34 p_align: 0\n\ 2750Sstevel@tonic-gate \tProgram Header located at: 0x10054\n\ 2760Sstevel@tonic-gate \t p_vaddr: 0 p_flags: [ PF_R ]\n\ 2770Sstevel@tonic-gate \t p_paddr: 0 p_type: [ PT_INTERP ]\n\ 2780Sstevel@tonic-gate \t p_filesz: 0x11 p_memsz: 0\n\ 2790Sstevel@tonic-gate \t p_offset: 0xd4 p_align: 0\n" 2800Sstevel@tonic-gate 2810Sstevel@tonic-gate 2820Sstevel@tonic-gate# 2830Sstevel@tonic-gate# Elf_Dyn messages. 2840Sstevel@tonic-gate# 2850Sstevel@tonic-gate 2860Sstevel@tonic-gate@ MSG_ELFDYN_STR "ElfDyn" 2870Sstevel@tonic-gate 2880Sstevel@tonic-gate@ MSG_ELFDYN_DCD "Display Elf_Dyn entry" 2890Sstevel@tonic-gate 2900Sstevel@tonic-gate@ MSG_ELFDYN_TITLE "Elf_Dyn located at: 0x%p\n" 2910Sstevel@tonic-gate@ MSG_ELFDYN_LINE1 " %a %s\t 0x%0?p\n" 2920Sstevel@tonic-gate 2930Sstevel@tonic-gate@ MSG_ELFDYN_HELP "\ 2940Sstevel@tonic-gate Decode an ELF dynamic section (Elf_Dyn) entry.\n\ 2950Sstevel@tonic-gate \n\ 2960Sstevel@tonic-gate Example 1 - a single entry:\n\n\ 2970Sstevel@tonic-gate \t> 0xff33a478::ElfDyn\n\ 2980Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a478\n\ 2990Sstevel@tonic-gate \t 0xff33a478 NEEDED 0x00004013\n\ 3000Sstevel@tonic-gate \n\ 3010Sstevel@tonic-gate Example 2 - multiple entries:\n\n\ 3020Sstevel@tonic-gate \t> 0xff33a478,4::ElfDyn\n\ 3030Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a478\n\ 3040Sstevel@tonic-gate \t 0xff33a478 NEEDED 0x00004013\n\ 3050Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a480\n\ 3060Sstevel@tonic-gate \t 0xff33a480 INIT 0x0009b484\n\ 3070Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a488\n\ 3080Sstevel@tonic-gate \t 0xff33a488 FINI 0x0009b4dc\n\ 3090Sstevel@tonic-gate \tElf_Dyn located at: 0xff33a490\n\ 3100Sstevel@tonic-gate \t 0xff33a490 SONAME 0x00004009\n" 3110Sstevel@tonic-gate 3120Sstevel@tonic-gate 3130Sstevel@tonic-gate# 3140Sstevel@tonic-gate# List messages. 3150Sstevel@tonic-gate# 3160Sstevel@tonic-gate 3170Sstevel@tonic-gate@ MSG_LIST_STR "List" 3180Sstevel@tonic-gate 3190Sstevel@tonic-gate@ MSG_LIST_DCD "Display entries in a List" 3200Sstevel@tonic-gate 3210Sstevel@tonic-gate@ MSG_LIST_TITLE "Listnode data next\n" 3220Sstevel@tonic-gate 3230Sstevel@tonic-gate@ MSG_LIST_HELP "\ 3240Sstevel@tonic-gate Walk a List structure. A list consists of a chain of Listnodes. The head\n\ 3250Sstevel@tonic-gate of a List points to the initial node, the tail of the list points to the\n\ 3260Sstevel@tonic-gate final node. A Listnode contains a pointer to a data item and a pointer to\n\ 3270Sstevel@tonic-gate the next Listnode.\n\ 3280Sstevel@tonic-gate \n\ 3290Sstevel@tonic-gate Example:\n\n\ 3300Sstevel@tonic-gate \t> ld.so.1`dynlm_list::List\n\ 3310Sstevel@tonic-gate \tListnode data next\n\ 3320Sstevel@tonic-gate \t---------------------------------------------\n\ 3330Sstevel@tonic-gate \t0xff3b05ac 0xff3f60c8 0xff3b05c4\n\ 3340Sstevel@tonic-gate \t0xff3b05c4 0xff3f60e8 0x00000000\n" 3350Sstevel@tonic-gate 3360Sstevel@tonic-gate# 3370Sstevel@tonic-gate# Lm_list messages. 3380Sstevel@tonic-gate# 3390Sstevel@tonic-gate 3400Sstevel@tonic-gate@ MSG_LMLIST_STR "Lm_list" 3410Sstevel@tonic-gate 3420Sstevel@tonic-gate@ MSG_LMLIST_DCD "Display Lm_list structure" 3430Sstevel@tonic-gate 3440Sstevel@tonic-gate@ MSG_LMLIST_BASE "(LM_ID_BASE)" 3450Sstevel@tonic-gate@ MSG_LMLIST_LDSO "(LM_ID_LDSO)" 3460Sstevel@tonic-gate@ MSG_LMLIST_NEWLM "(LM_ID_NEWLM)" 3470Sstevel@tonic-gate 3480Sstevel@tonic-gate@ MSG_LMLIST_TITLE1 "Link-map lists (%s): 0x%p\n"; 3490Sstevel@tonic-gate@ MSG_LMLIST_TITLE2 "Lm_list: 0x%p %s\n" 3500Sstevel@tonic-gate 3510Sstevel@tonic-gate@ MSG_LMLIST_LINE0 " lists: 0x%0?p Alist[used %u: total %u]\n" 3520Sstevel@tonic-gate 3530Sstevel@tonic-gate@ MSG_LMC_LINE1 "Lm_cntl: 0x%p\n" 3541824Srie@ MSG_LMC_LINE2 " head: 0x%0?p\t tail: 0x%0?p\n" 3551824Srie@ MSG_LMC_LINE3 " flags: 0x%08x\t now: 0x%0?p\n" 3560Sstevel@tonic-gate@ MSG_LMC_LINE4 " [ %#b ]\n" 3570Sstevel@tonic-gate 3581824Srie@ MSG_LMLIST_LINE1 " head: 0x%0?p\t tail: 0x%0?p\n" 3591824Srie@ MSG_LMLIST_LINE2 " audit: 0x%0?p\t rtldinfo: 0x%0?p\n" 3601824Srie@ MSG_LMLIST_LINE3 " handle: 0x%0?p\t obj: %4d init: %4d \ 3610Sstevel@tonic-gate lazy: %4d\n" 3620Sstevel@tonic-gate@ MSG_LMLIST_LINE4 " flags: 0x%08x\n" 3630Sstevel@tonic-gate@ MSG_LMLIST_LINE5 " tflags: 0x%08x\n" 3640Sstevel@tonic-gate@ MSG_LMLIST_LINE6 " [ %#b ]\n" 3650Sstevel@tonic-gate 3660Sstevel@tonic-gate@ MSG_LMLIST_HELP "\ 3670Sstevel@tonic-gate Display a link-map list header. If no address is specified, the \ 3680Sstevel@tonic-gate dynlm_list\nmaster link-map list is searched and all link-map headers \ 3690Sstevel@tonic-gate displayed.\n\ 3700Sstevel@tonic-gate \n\ 3710Sstevel@tonic-gate A link-map list header points to a family of link-map control lists, \ 3720Sstevel@tonic-gate together\nwith other state information. The initial control list represents \ 3730Sstevel@tonic-gate those\nobjects that have been completely analyzed and relocated, and are \ 3740Sstevel@tonic-gate presently in\nuse. \ 3750Sstevel@tonic-gate Additional control lists may exist as families of objects are processed\nin \ 3760Sstevel@tonic-gate preparation for joining the main control list. These families are created\n\ 3770Sstevel@tonic-gate from events such as dlopen(3c), lazy loading, and filtee processing, once\n\ 3780Sstevel@tonic-gate the initial process that started the application has been relocated.\n\ 3790Sstevel@tonic-gate \n\ 3800Sstevel@tonic-gate The -v option walks all link-map control lists displaying each member.\n\ 3810Sstevel@tonic-gate \n\ 3820Sstevel@tonic-gate Example 1 - a single, verbose entry, starting from a specified address:\n\n\ 3830Sstevel@tonic-gate \n\ 3840Sstevel@tonic-gate \t> 0xff3ee0f0::Lm_list -v\n\ 3850Sstevel@tonic-gate \tLm_list: 0xff3ee0f0 (LM_ID_BASE)\n\ 3860Sstevel@tonic-gate \t----------------------------------------------\n\ 3870Sstevel@tonic-gate \t lists: 0xff3f0b00 Alist[used 1: total 4]\n\ 3880Sstevel@tonic-gate \t ----------------------------------------------\n\ 3890Sstevel@tonic-gate \t Lm_cntl: 0xff3f0b0c\n\ 3900Sstevel@tonic-gate \t head: 0xff3f0fdc tail: 0xff3f13bc\n\ 3910Sstevel@tonic-gate \t flags: 0x00000000 now: 0x00000000\n\ 3920Sstevel@tonic-gate \t [ 0 ]\n\ 3930Sstevel@tonic-gate \t ----------------------------------------------\n\ 3940Sstevel@tonic-gate \t lmco rtmap ADDR() NAME()\n\ 3950Sstevel@tonic-gate \t ----------------------------------------------\n\ 3960Sstevel@tonic-gate \t [0xc] 0xff3f0fdc 0x00010000 main\n\ 3970Sstevel@tonic-gate \t [0xc] 0xff3f13bc 0xff280000 /lib/libc.so.1\n\ 3980Sstevel@tonic-gate \t ----------------------------------------------\n\ 3990Sstevel@tonic-gate \t head: 0xff3f0f84 tail: 0xff3f1794\n\ 4000Sstevel@tonic-gate \t audit: 0x00000000 preexec: 0xff3f1794\n\ 4010Sstevel@tonic-gate \t handle: 0x00000000 obj: 3 init: 0 lazy: 0\n\ 4020Sstevel@tonic-gate \t flags: 0x00008041\n\ 4030Sstevel@tonic-gate \t [ BASELM,ENVIRON,STARTREL ]\n\ 4040Sstevel@tonic-gate \t tflags: 0x00000000\n\ 4050Sstevel@tonic-gate \n\ 4060Sstevel@tonic-gate Example 2 - all link-map headers:\n\n\ 4070Sstevel@tonic-gate \t> ::Lm_list\n\ 4080Sstevel@tonic-gate \tLink-map lists (dynlm_list): 0xffbfdbf8\n\ 4090Sstevel@tonic-gate \t----------------------------------------------\n\ 4100Sstevel@tonic-gate \t Lm_list: 0xff3ee0f0 (LM_ID_BASE)\n\ 4110Sstevel@tonic-gate \t ----------------------------------------------\n\ 4120Sstevel@tonic-gate \t lists: 0xff3f0b68 Alist[used 1: total 4]\n\ 4130Sstevel@tonic-gate \t ----------------------------------------------\n\ 4140Sstevel@tonic-gate \t head: 0xff3f0f84 tail: 0xff3f1794\n\ 4150Sstevel@tonic-gate \t audit: 0x00000000 preexec: 0xff3f1794\n\ 4160Sstevel@tonic-gate \t handle: 0x00000000 obj: 3 init: 0 lazy: 0\n\ 4170Sstevel@tonic-gate \t flags: 0x00008041\n\ 4180Sstevel@tonic-gate \t [ BASELM,ENVIRON,STARTREL ]\n\ 4190Sstevel@tonic-gate \t tflags: 0x00000000\n\ 4200Sstevel@tonic-gate \t ----------------------------------------------\n\ 4210Sstevel@tonic-gate \t Lm_list: 0xff3ee134 (LM_ID_LDSO)\n\ 4220Sstevel@tonic-gate \t ----------------------------------------------\n\ 4230Sstevel@tonic-gate \t lists: 0xff3f0ba4 Alist[used 1: total 4]\n\ 4240Sstevel@tonic-gate \t ----------------------------------------------\n\ 4250Sstevel@tonic-gate \t head: 0xff3f0c20 tail: 0xff3f0c20\n\ 4260Sstevel@tonic-gate \t audit: 0x00000000 preexec: 0x00000000\n\ 4270Sstevel@tonic-gate \t handle: 0x00000000 obj: 0 init: 0 lazy: 0\n\ 4280Sstevel@tonic-gate \t flags: 0x00000006\n\ 4290Sstevel@tonic-gate \t [ RTLDLM,NOAUDIT ]\n\ 4300Sstevel@tonic-gate \t tflags: 0x00000000\n" 4310Sstevel@tonic-gate 4320Sstevel@tonic-gate# 4330Sstevel@tonic-gate# Rt_maps messages. 4340Sstevel@tonic-gate# 4350Sstevel@tonic-gate 4360Sstevel@tonic-gate@ MSG_RTMAPS_STR "Rt_maps" 4370Sstevel@tonic-gate 4380Sstevel@tonic-gate@ MSG_RTMAPS_DCD "Display list of Rt_map structures" 4390Sstevel@tonic-gate 4400Sstevel@tonic-gate@ MSG_RTMAPS_TITLE0 "lmco \trtmap ADDR() NAME()\n" 4410Sstevel@tonic-gate 4420Sstevel@tonic-gate@ MSG_RTMAPS_HELP "\ 4430Sstevel@tonic-gate Walk a list of Rt_map's starting with a specified Rt_map entry. If no\n\ 4440Sstevel@tonic-gate address is specified, the dynlm_list master Rt_map list is searched and\n\ 4450Sstevel@tonic-gate all objects listed.\n\ 4460Sstevel@tonic-gate \n\ 4470Sstevel@tonic-gate The -v option expands each Rt_map in detail. See Rt_map.\n\ 4480Sstevel@tonic-gate \n\ 4490Sstevel@tonic-gate Example 1 - a single entry, starting from a specified address:\n\n\ 4500Sstevel@tonic-gate \t> 0xff3b0214::Rt_maps\n\ 4510Sstevel@tonic-gate \tlmco rtmap ADDR() NAME()\n\ 4520Sstevel@tonic-gate \t---------------------------------------------\n\ 4530Sstevel@tonic-gate \t[0xc] 0xff3b0214 0x00010000 prog\n\ 4540Sstevel@tonic-gate \t[0xc] 0xff3b065c 0xff3a0000 /lib/libdl.so.1\n\ 4550Sstevel@tonic-gate \t[0xc] 0xff3b0a04 0xff280000 /lib/libc.so.1\n\ 4560Sstevel@tonic-gate \n\ 4570Sstevel@tonic-gate Example 2 - all Rt_map entries:\n\n\ 4580Sstevel@tonic-gate \t> ::Rt_maps\n\ 4590Sstevel@tonic-gate \tLink-map lists (dynlm_list): 0xffbfe080\n\ 4600Sstevel@tonic-gate \t---------------------------------------------\n\ 4610Sstevel@tonic-gate \t Lm_list: 0xff3f60c8 (LM_ID_BASE)\n\ 4620Sstevel@tonic-gate \t ---------------------------------------------\n\ 4630Sstevel@tonic-gate \t lmco rtmap ADDR() NAME()\n\ 4640Sstevel@tonic-gate \t ---------------------------------------------\n\ 4650Sstevel@tonic-gate \t [0xc] 0xff3b0214 0x00010000 prog\n\ 4660Sstevel@tonic-gate \t [0xc] 0xff3b065c 0xff3a0000 /lib/libdl.so.1\n\ 4670Sstevel@tonic-gate \t [0xc] 0xff3b0a04 0xff280000 /lib/libc.so.1\n\ 4680Sstevel@tonic-gate \t ---------------------------------------------\n\ 4690Sstevel@tonic-gate \t Lm_list: 0xff3f60e8 (LM_ID_LDSO)\n\ 4700Sstevel@tonic-gate \t ---------------------------------------------\n\ 4710Sstevel@tonic-gate \t lmco rtmap ADDR() NAME()\n\ 4720Sstevel@tonic-gate \t ---------------------------------------------\n\ 4730Sstevel@tonic-gate \t [0xc] 0xff3f7cc0 0xff3c0000 /lib/ld.so.1\n" 4740Sstevel@tonic-gate 4750Sstevel@tonic-gate 4760Sstevel@tonic-gate# 4770Sstevel@tonic-gate# Rt_map messages. 4780Sstevel@tonic-gate# 4790Sstevel@tonic-gate 4800Sstevel@tonic-gate@ MSG_RTMAP_STR "Rt_map" 4810Sstevel@tonic-gate 4820Sstevel@tonic-gate@ MSG_RTMAP_DCD "Display Rt_map structure" 4830Sstevel@tonic-gate 4840Sstevel@tonic-gate@ MSG_RTMAP_TITLE "Rt_map located at: 0x%0?p\n" 4850Sstevel@tonic-gate@ MSG_RTMAP_LINE1 " NAME: %s\n" 4860Sstevel@tonic-gate@ MSG_RTMAP_LINE2 " PATHNAME: %s\n" 4870Sstevel@tonic-gate@ MSG_RTMAP_LINE3 " ADDR: 0x%0?p\t DYN: 0x%0?p\n" 4880Sstevel@tonic-gate@ MSG_RTMAP_LINE4 " NEXT: 0x%0?p\t PREV: 0x%0?p\n" 4890Sstevel@tonic-gate@ MSG_RTMAP_LINE5 " FCT: 0x%0?p\t TLSMODID: %?ld\n" 4900Sstevel@tonic-gate@ MSG_RTMAP_LINE6 " INIT: 0x%0?p\t FINI: 0x%0?p\n" 4910Sstevel@tonic-gate@ MSG_RTMAP_LINE7 " GROUPS: 0x%0?p\t HANDLES: 0x%0?p\n" 4920Sstevel@tonic-gate@ MSG_RTMAP_LINE8 " DEPENDS: 0x%0?p\t CALLERS: 0x%0?p\n" 4930Sstevel@tonic-gate@ MSG_RTMAP_LINE9 " DYNINFO: 0x%0?p\t REFNAME: %s\n" 4940Sstevel@tonic-gate@ MSG_RTMAP_LINE10 " RLIST: 0x%0?p\t RPATH: %s\n" 4950Sstevel@tonic-gate@ MSG_RTMAP_LINE11 " LIST: 0x%0?p [%a]\n" 4960Sstevel@tonic-gate@ MSG_RTMAP_LINE12 " FLAGS: 0x%08x\n" 4970Sstevel@tonic-gate@ MSG_RTMAP_LINE13 " FLAGS1: 0x%08x\n" 4980Sstevel@tonic-gate@ MSG_RTMAP_LINE14 " MODE: 0x%08x\n" 4990Sstevel@tonic-gate@ MSG_RTMAP_LINE20 " [ %#b ]\n" 5000Sstevel@tonic-gate 5010Sstevel@tonic-gate@ MSG_RTMAP_HELP "\ 5020Sstevel@tonic-gate Display the contents of selected fields of an Rt_map structure.\n\ 5030Sstevel@tonic-gate \n\ 5040Sstevel@tonic-gate Example:\n\n\ 5050Sstevel@tonic-gate \t0xff3b0214::Rt_map\n\ 5060Sstevel@tonic-gate \tRt_map located at: 0xff3b0214\n\ 5070Sstevel@tonic-gate \t NAME: prog\n\ 5080Sstevel@tonic-gate \t PATHNAME: /home/developer/bin/prog\n\ 5090Sstevel@tonic-gate \t ADDR: 0x00010000 DYN: 0x00020b1\n\ 5100Sstevel@tonic-gate \t NEXT: 0xff3b065c PREV: 0x0000000\n\ 5110Sstevel@tonic-gate \t FCT: 0xff3f6080 TLSMODID: 0\n\ 5120Sstevel@tonic-gate \t INIT: 0x00010960 FINI: 0x000109b\n\ 5130Sstevel@tonic-gate \t .....\n" 5140Sstevel@tonic-gate 5150Sstevel@tonic-gate# 5160Sstevel@tonic-gate# Bind messages. 5170Sstevel@tonic-gate# 5180Sstevel@tonic-gate 5190Sstevel@tonic-gate@ MSG_BND_STR "Bind" 5200Sstevel@tonic-gate 5210Sstevel@tonic-gate@ MSG_BND_DCD "Display a Binding Descriptor" 5220Sstevel@tonic-gate 5230Sstevel@tonic-gate@ MSG_BND_TITLE "Binding descriptor located at: 0x%0?p\n" 5240Sstevel@tonic-gate@ MSG_BND_LINE1 " caller: 0x%0?p %s\n" 5250Sstevel@tonic-gate@ MSG_BND_LINE2 " depend: 0x%0?p %s\n" 5260Sstevel@tonic-gate@ MSG_BND_LINE3 " flags: 0x%08x [ %#b ]\n" 5270Sstevel@tonic-gate 5280Sstevel@tonic-gate@ MSG_BND_HELP "\ 5290Sstevel@tonic-gate Decode the binding descriptor specified by addr.\n\ 5300Sstevel@tonic-gate \n\ 5310Sstevel@tonic-gate Relationships between Rt_map objects are maintained by a binding dis-\n\ 5320Sstevel@tonic-gate cripter. The descriptor contains a pointer to the Rt_map of the caller,\n\ 5330Sstevel@tonic-gate a pointer to the Rt_map of the dependency, and a flags field indicating\n\ 5340Sstevel@tonic-gate the relationship between the two Rt_map objects.\n\ 5350Sstevel@tonic-gate \n\ 5360Sstevel@tonic-gate The -v option expands each Rt_map.\n\ 5370Sstevel@tonic-gate \n\ 5380Sstevel@tonic-gate Example:\n\n\ 5390Sstevel@tonic-gate \t> 0xff3b0410::Bind\n\ 5400Sstevel@tonic-gate \tBinding Descriptor located at: 0xff3b0410\n\ 5410Sstevel@tonic-gate \t caller: 0xff3b0030 main\n\ 5420Sstevel@tonic-gate \t depend: 0xff3b0460 /lib/libelf.so.1\n\ 5430Sstevel@tonic-gate \t flags: 0x00000001 [ NEEDED ]\n" 5440Sstevel@tonic-gate 5450Sstevel@tonic-gate 5460Sstevel@tonic-gate# 5470Sstevel@tonic-gate# Depends messages. 5480Sstevel@tonic-gate# 5490Sstevel@tonic-gate 5500Sstevel@tonic-gate@ MSG_DEPENDS_STR "Depends" 5510Sstevel@tonic-gate 5520Sstevel@tonic-gate@ MSG_DEPENDS_DCD "Display Rt_map DEPENDS binding descriptors" 5530Sstevel@tonic-gate 5540Sstevel@tonic-gate@ MSG_DEPENDS_LINE1 "DEPENDS for %s\n" 5550Sstevel@tonic-gate@ MSG_DEPENDS_LINE2 " Depends: 0x%0?p Alist[used %u: total %u]\n" 5560Sstevel@tonic-gate 5570Sstevel@tonic-gate@ MSG_DEPENDS_HELP "\ 5580Sstevel@tonic-gate Display the binding descriptor list of DEPENDS() of the Rt_map\n\ 5590Sstevel@tonic-gate specified by addr. A DEPENDS() entry consists of an Alist\n\ 5600Sstevel@tonic-gate defining each dependency.\n\ 5610Sstevel@tonic-gate \n\ 5620Sstevel@tonic-gate The -v option walks the Alist descriptor displaying each dependency.\n\ 5630Sstevel@tonic-gate \n\ 5640Sstevel@tonic-gate Example:\n\n\ 5650Sstevel@tonic-gate \t> 0xff3b0554::Depends -v\n\ 5660Sstevel@tonic-gate \tDEPENDS for /lib/libc.so.1\n\ 5670Sstevel@tonic-gate \t----------------------------------------------\n\ 5680Sstevel@tonic-gate \t Depends: 0xff3b0bc4 Alist[used 2: total 4]\n\ 5690Sstevel@tonic-gate \t ----------------------------------------------\n\ 5700Sstevel@tonic-gate \t Binding descriptor located at: 0xff3b08f8\n\ 5710Sstevel@tonic-gate \t caller: 0xff3b0554 /lib/libc.so.1\n\ 5720Sstevel@tonic-gate \t depend: 0xff3b0938 /lib/libdl.so.1\n\ 5730Sstevel@tonic-gate \t flags: 0x00000003 [ NEEDED,REFERENCED ]\n\ 5740Sstevel@tonic-gate \t ----------------------------------------------\n\ 5750Sstevel@tonic-gate \t Binding descriptor located at: 0xff3b07a8\n\ 5760Sstevel@tonic-gate \t caller: 0xff3b0554 /lib/libc.so.1\n\ 5770Sstevel@tonic-gate \t depend: 0xff3f7cc0 /lib/ld.so.1\n\ 5780Sstevel@tonic-gate \t flags: 0x00000002 [ REFERENCED ]\n" 5790Sstevel@tonic-gate 5800Sstevel@tonic-gate# 5810Sstevel@tonic-gate# Callers messages. 5820Sstevel@tonic-gate# 5830Sstevel@tonic-gate 5840Sstevel@tonic-gate@ MSG_CALLERS_STR "Callers" 5850Sstevel@tonic-gate 5860Sstevel@tonic-gate@ MSG_CALLERS_DCD "Display Rt_map CALLERS binding descriptors" 5870Sstevel@tonic-gate 5880Sstevel@tonic-gate@ MSG_CALLERS_LINE1 "CALLERS for %s\n" 5890Sstevel@tonic-gate@ MSG_CALLERS_LINE2 " Callers: 0x%0?p Alist[used %u: total %u]\n" 5900Sstevel@tonic-gate 5910Sstevel@tonic-gate@ MSG_CALLERS_HELP "\ 5920Sstevel@tonic-gate Display the binding descriptor list of CALLERS() of the Rt_map\n\ 5930Sstevel@tonic-gate specified by addr. A CALLERS() entry consists of an Alist\n\ 5940Sstevel@tonic-gate defining each caller.\n\ 5950Sstevel@tonic-gate \n\ 5960Sstevel@tonic-gate The -v option walks the Alist descriptor displaying each caller.\n\ 5970Sstevel@tonic-gate \n\ 5980Sstevel@tonic-gate Example:\n\n\ 5990Sstevel@tonic-gate \t> 0xff3b0554::Callers -v\n\ 6000Sstevel@tonic-gate \tCALLERS for /lib/libc.so.1\n\ 6010Sstevel@tonic-gate \t----------------------------------------------\n\ 6020Sstevel@tonic-gate \t Callers: 0xff3b08cc Alist[used 1: total 4]\n\ 6030Sstevel@tonic-gate \t ----------------------------------------------\n\ 6040Sstevel@tonic-gate \t Binding descriptor located at: 0xff3b0514\n\ 6050Sstevel@tonic-gate \t caller: 0xff3b0214 a.out\n\ 6060Sstevel@tonic-gate \t depend: 0xff3b0554 /lib/libc.so.1\n\ 6070Sstevel@tonic-gate \t flags: 0x00000003 [ NEEDED,REFERENCED ]\n" 6080Sstevel@tonic-gate 6090Sstevel@tonic-gate 6100Sstevel@tonic-gate# 6110Sstevel@tonic-gate# Handle messages. 6120Sstevel@tonic-gate# 6130Sstevel@tonic-gate 6140Sstevel@tonic-gate@ MSG_HANDLES_STR "Handles" 6150Sstevel@tonic-gate 6160Sstevel@tonic-gate@ MSG_HANDLES_DCD "Display Rt_map HANDLES group descriptors" 6170Sstevel@tonic-gate 6180Sstevel@tonic-gate@ MSG_HANDLES_LINE1 "HANDLES for %s\n" 6190Sstevel@tonic-gate@ MSG_HANDLES_LINE2 " HANDLE: 0x%0?p Alist[used %u: total %u]\n" 6200Sstevel@tonic-gate 6210Sstevel@tonic-gate@ MSG_HANDLES_HELP "\ 6220Sstevel@tonic-gate Display the list of HANDLES() that the Rt_map, specified by addr, is the\n\ 6230Sstevel@tonic-gate owner of. A HANDLES() entry consists of an Alist of Grp_hdl descriptors.\n\ 6240Sstevel@tonic-gate See GrpHdl. Each Grp_hdl() consists of an Alist of Grp_desc descriptors\n\ 6250Sstevel@tonic-gate that define each caller. See GrpDesc.\n\ 6260Sstevel@tonic-gate \n\ 6270Sstevel@tonic-gate The -v option walks all Alists displaying each member of the handle.\n\ 6280Sstevel@tonic-gate \n\ 6290Sstevel@tonic-gate Example:\n\n\ 6300Sstevel@tonic-gate \t> 0xff3b0f6c::Handles -v\n\ 6310Sstevel@tonic-gate \tHANDLES for ./sub.so\n\ 6320Sstevel@tonic-gate \t----------------------------------------------\n\ 6330Sstevel@tonic-gate \t HANDLE: 0xff3b1310 Alist[used 1: total 1]\n\ 6340Sstevel@tonic-gate \t ----------------------------------------------\n\ 6350Sstevel@tonic-gate \t Group Handle located at: 0xff3b1270\n\ 6360Sstevel@tonic-gate \t ----------------------------------------------\n\ 6370Sstevel@tonic-gate \t owner: ./sub.so\n\ 6380Sstevel@tonic-gate \t flags: 0x00000000 [ 0 ]\n\ 6390Sstevel@tonic-gate \t refcnt: 1 depends: 0xff3b12c8 Alist[used 3: total 4]\n\ 6400Sstevel@tonic-gate \t ----------------------------------------------\n\ 6410Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12d4\n\ 6420Sstevel@tonic-gate \t depend: 0xff3b0f6c ./sub.so\n\ 6430Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6440Sstevel@tonic-gate \t ----------------------------------------------\n\ 6450Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12dc\n\ 6460Sstevel@tonic-gate \t depend: 0xff3b0a04 /lib/libc.so.1\n\ 6470Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6480Sstevel@tonic-gate \t ----------------------------------------------\n\ 6490Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12e4\n\ 6500Sstevel@tonic-gate \t depend: 0xff3b065c /lib/libdl.so.1\n\ 6510Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n" 6520Sstevel@tonic-gate 6530Sstevel@tonic-gate# 6540Sstevel@tonic-gate# Group messages. 6550Sstevel@tonic-gate# 6560Sstevel@tonic-gate 6570Sstevel@tonic-gate@ MSG_GROUPS_STR "Groups" 6580Sstevel@tonic-gate 6590Sstevel@tonic-gate@ MSG_GROUPS_DCD "Display Rt_map GROUPS group handles" 6600Sstevel@tonic-gate 6610Sstevel@tonic-gate@ MSG_GROUPS_LINE1 "GROUPS for %s\n" 6620Sstevel@tonic-gate@ MSG_GROUPS_LINE2 " Groups: 0x%0?p Alist[used %u: total %u]\n" 6630Sstevel@tonic-gate 6640Sstevel@tonic-gate@ MSG_GROUPS_HELP "\ 6650Sstevel@tonic-gate Display the list of GROUPS() that the Rt_map, specified by addr, is a \ 6660Sstevel@tonic-gate member\nof. A GROUPS() entry consists of an Alist of Grp_hdl entries. \ 6670Sstevel@tonic-gate See GrpHdl.\n\ 6680Sstevel@tonic-gate \n\ 6690Sstevel@tonic-gate The -v option walks the Alist descriptor displaying each member of the\n\ 6700Sstevel@tonic-gate handle.\n\ 6710Sstevel@tonic-gate \n\ 6720Sstevel@tonic-gate Example:\n\n\ 6730Sstevel@tonic-gate \t> 0xff3b0f6c::Groups -v\n\ 6740Sstevel@tonic-gate \tGROUPS for ./sub.so\n\ 6750Sstevel@tonic-gate \t----------------------------------------------\n\ 6760Sstevel@tonic-gate \t Groups: 0xff3b12a8 Alist[used 1: total 1]\n\ 6770Sstevel@tonic-gate \t ----------------------------------------------\n\ 6780Sstevel@tonic-gate \t Group Handle located at: 0xff3b1270\n\ 6790Sstevel@tonic-gate \t ----------------------------------------------\n\ 6800Sstevel@tonic-gate \t owner: ./sub.so\n\ 6810Sstevel@tonic-gate \t flags: 0x00000000 [ 0 ]\n\ 6820Sstevel@tonic-gate \t refcnt: 1 depends: 0xff3b12c8 Alist[used 3: total 4]\n\ 6830Sstevel@tonic-gate \t ----------------------------------------------\n\ 6840Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12d4\n\ 6850Sstevel@tonic-gate \t depend: 0xff3b0f6c ./sub.so\n\ 6860Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6870Sstevel@tonic-gate \t ----------------------------------------------\n\ 6880Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12dc\n\ 6890Sstevel@tonic-gate \t depend: 0xff3b0a04 /lib/libc.so.1\n\ 6900Sstevel@tonic-gate \t flags: 0x00000004 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n\ 6910Sstevel@tonic-gate \t ----------------------------------------------\n\ 6920Sstevel@tonic-gate \t Group Descriptor located at: 0xff3b12e4\n\ 6930Sstevel@tonic-gate \t depend: 0xff3b065c /lib/libdl.so.1\n\ 6940Sstevel@tonic-gate \t flags: 0x00000004 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n" 6950Sstevel@tonic-gate 6960Sstevel@tonic-gate 6970Sstevel@tonic-gate# 6980Sstevel@tonic-gate# Group handle and group descriptor messages. 6990Sstevel@tonic-gate# 7000Sstevel@tonic-gate 7010Sstevel@tonic-gate@ MSG_GRPHDL_STR "GrpHdl" 7020Sstevel@tonic-gate 7030Sstevel@tonic-gate@ MSG_GRPHDL_DCD "Display a Group Handle" 7040Sstevel@tonic-gate 7050Sstevel@tonic-gate@ MSG_GRPHDL_LINE1 "Group Handle located at: 0x%0?p\n" 7060Sstevel@tonic-gate@ MSG_GRPHDL_LINE2 " owner: %s\n" 7070Sstevel@tonic-gate@ MSG_GRPHDL_LINE3 " flags: 0x%08x [ %#b ]\n" 7080Sstevel@tonic-gate@ MSG_GRPHDL_LINE4 " refcnt: %8d depends: 0\n" 7090Sstevel@tonic-gate@ MSG_GRPHDL_LINE5 " refcnt: %8d depends: 0x%0?p \ 7100Sstevel@tonic-gate Alist[used %u: total %u]\n" 7110Sstevel@tonic-gate 7120Sstevel@tonic-gate@ MSG_GRPHDL_HELP "\ 7130Sstevel@tonic-gate Decode a group handle. A successful dlopen() of an object returns a\n\ 7140Sstevel@tonic-gate handle applicable for subsequent dlsym() requests. The handle maintains\n\ 7150Sstevel@tonic-gate a reference count, flags and a table of group descriptors that define the\n\ 7160Sstevel@tonic-gate dependencies associated with this group of objects.\n\ 7170Sstevel@tonic-gate \n\ 7180Sstevel@tonic-gate The -v option expands each group descriptor.\n\ 7190Sstevel@tonic-gate \n\ 7200Sstevel@tonic-gate Example:\n\n\ 7210Sstevel@tonic-gate \t> 0xff3a0c58::GrpHdl\n\ 7220Sstevel@tonic-gate \tGroup Handle located at: 0xff3a0c58\n\ 7230Sstevel@tonic-gate \t----------------------------------------------\n\ 7240Sstevel@tonic-gate \t refcnt: 1 main\n\ 7250Sstevel@tonic-gate \t flags: 0x00000001 [ DLOPEN-ZERO ]\n\ 7260Sstevel@tonic-gate \t depends: 0xff3a0c89 Alist[next 1: cnt 2]\n" 7270Sstevel@tonic-gate 7280Sstevel@tonic-gate 7290Sstevel@tonic-gate 7300Sstevel@tonic-gate@ MSG_GRPDESC_STR "GrpDesc" 7310Sstevel@tonic-gate 7320Sstevel@tonic-gate@ MSG_GRPDESC_DCD "Display a Group Descriptor" 7330Sstevel@tonic-gate 7340Sstevel@tonic-gate@ MSG_GRPDESC_LINE1 "Group Descriptor located at: 0x%0?p\n" 7350Sstevel@tonic-gate@ MSG_GRPDESC_LINE2 " depend: 0x%0?p %s\n" 7360Sstevel@tonic-gate@ MSG_GRPDESC_LINE3 " flags: 0x%08x [ %#b ]\n" 7370Sstevel@tonic-gate 7380Sstevel@tonic-gate@ MSG_GRPDESC_HELP "\ 7390Sstevel@tonic-gate Decode a group descriptor. A GrpHdl created by dlopen() maintains a\n\ 7400Sstevel@tonic-gate list of group descriptors for each dependency. See GrpHdl.\n\ 7410Sstevel@tonic-gate \n\ 7420Sstevel@tonic-gate Example\n\n\ 7430Sstevel@tonic-gate \t> 0xff3b12d4::GrpDesc -v\n\ 7440Sstevel@tonic-gate \tGroup Descriptor located at: 0xff3b12d4\n\ 7450Sstevel@tonic-gate \t depend: 0xff3b0f6c ./sub.so\n\ 7460Sstevel@tonic-gate \t flags: 0x00000003 [ AVAIL-TO-DLSYM,ADD-DEPENDENCIES ]\n" 7470Sstevel@tonic-gate 7480Sstevel@tonic-gate 7490Sstevel@tonic-gate@ MSG_BNDDESC_STR "BndDesc" 7500Sstevel@tonic-gate 7510Sstevel@tonic-gate# 7520Sstevel@tonic-gate# General purpose environment addition. 7530Sstevel@tonic-gate# 7540Sstevel@tonic-gate 7550Sstevel@tonic-gate@ MSG_SETENV_STR "Setenv" 7560Sstevel@tonic-gate 7570Sstevel@tonic-gate@ MSG_SETENV_DCD "Set an environment variable" 7580Sstevel@tonic-gate 7590Sstevel@tonic-gate@ MSG_SETENV_HELP "\ 7600Sstevel@tonic-gate Set the associated environment variable. This can be useful to establish\n\ 7610Sstevel@tonic-gate runtime linker environment variables without affecting the debugger itself.\n\ 7620Sstevel@tonic-gate \n\ 7630Sstevel@tonic-gate Note, newer versions of mdb(1) provide setenv. The mdb(1) implementation\n\ 7640Sstevel@tonic-gate provides the ability to make environment changes at any point during\n\ 7650Sstevel@tonic-gate application monitoring. Where available, Setenv calls through to setenv.\n\ 7660Sstevel@tonic-gate On older environments, Setenv only provides for changing the applications\n\ 7670Sstevel@tonic-gate environment before it is invoked.\n\ 7680Sstevel@tonic-gate \n\ 7690Sstevel@tonic-gate Example\n\n\ 7700Sstevel@tonic-gate \t> ::Setenv LD_DEBUG=files\n" 771