ELF>@8,@8@"!`.@/XX0PddDD`:o o  @ P  5 / ` ```xF`4o+oEooEooajH0' oo$oo``>;D(p`Hp|Xppqrz X~Hp؆hxH,Pȕl8Xx0ؖLh8Xxȗ@ؗ\XpX8 h4 \ H 8 x ؽ 0 L 8h h Ⱦ  (, HH hd ȿ 8 D l (  x H (d x ( (Dxl($8PxpHh(LXtHhX8Xlh`X(Ptx8$8phHXx|hH,xXX ,Hh(zRx kAM 8k AC Tks$h$lAC KZ lAC FED$m/AC EIY$ufAF Jc$yAC Kw$,}AC JFD$T8AC EID$| AC KGN$AF EID2FI  ZAC KT PAK (TAK DXAK `\!AK |pAM tAP xAP |AP AP AP $AP @AP \AP xAP AP AP zRx  AC 8tv$LAC KZ tAC FED$tPAC EIY$nAF Kc$hAC Kt$,BAC JFD$8TAC EID$`Y AC KGN$AF EID\2FI  \AC KTAK  AK (ijAK Dȳ!AK `ܳAM |AP AP AP AP AP AP $AP @AP \AP xAP AP  zRx 4AC J$8^AC J KN$`LJAC KSt<AJ J$^AC J KN$дJAC KS4AC J$^AC J KN(8TAC J KSd AU J$JAC KS1AJ J(oAC J KY(L]AC K KU1AJ J$8\AC J Y$`ܶJAC KSFAG N$4%AC Ja(<AF K g1AJ J$$^AC J KN(@\AC J KSl?AH J(pAC H O U(D[AC G OUxAF WzRx $BAF a D8QAC a$htAC e,ܻAH KK d 0AC K V d(AC K KZ0 \AC K V e0TAC K K r $AC KY(\gAC K ZzRx /AF F 8{AC KN,\AC GZ YzRx $AC K[ $DAC K X$lxAC KT$AC K X4AC K W JJzRx  }AE KQ(@,AC K VP$lAC J Kh(AC K VP,<AC K Lm 0,AC Z V uzRx $AC K\ $DHAC K \$lAC KX$xAC K \,0AM K h zRx  }AF KQ(@AC K VP$lAC J Kh(pAC K VQ,AC K Lm 0,AC Z V uzRx IAJ J8:AC XX1AJ Jt:AC X =AJ JD:AC Xd1AJ J:AC X AC NN(0cAC K VK\cAC T|(mAC X     II  #$%&'+,-/0123456789:;<=>?@ACDEGH !"()*.BFV}iP x@~I}`:p {P%^^%9`MZm:pJ, 1`,0D`:W 1mg~x p=]J J1PBtK`^o^~P\@oc  J p[ 5 cC:Z/om&s<PtHNt atsn`u~`v@w/pf` 2ИZ0P p!(19C N@W`cpz HNP a`vn~PnhB@гY 02\` !(190CPNpWcpz0P4p<`4 110FNp1a?vBQP0  !/9O|p@ 5 Qi`o@ / = U i          - ; L XU a v           & ; P g        0 6 > J Y os dyn.socrti.svalues-Xa.ccrtstuff.c__do_global_dtors_auxframe_dummydyn.cmod_i18nhdl_to_strset_null_ndxconvert_dt_nullprocess_argsprint_dynarg_to_indexcmd_body_valuecmd_body_runpathflag_bitopcmd_bodycpl_eltargcpl_tagcpl_posflag1cpl_flagscpl_flags1cpl_feature1cpl_sunw_ldmachcmd_dumpcmd_tagcmd_valuecmd_deletecmd_movecmd_runpathcmd_posflag1cmd_flagscmd_flags1cmd_feature1cmd_checksumcmd_sunw_ldmachdynamic_machelf.cehdr_class_stringsehdr_data_stringsehdr_mach_stringsehdr_eident_stringsehdr_type_stringsehdr_vers_stringsconv_ehdr_sparc_flags_stringsehdr_osabi_stringsehdr_abivers_stringsglobals.cmap_msg2strmap_vd2strmap_vd22str_conv_iter_msgarrstrproc.cglobals_machelf.ccef_cpcef_setupcef_wrapvernote.s../../include/sgs.hdynamic_msg.celf_msg.cglobals_msg.cdynamic.c__do_global_ctors_auxcrtn.sconv32_invalid_val_finielfedit32_init_conv_iter_vd2conv_dyn_posflag1_stringsconv64_invalid_valconv_iter_dyn_feature1conv_ehdr_abiversconv_strproc_trimconv_ehdr_flagsconv_ehdr_classconv_ehdr_osabiconv64_dyn_feature1conv32_dyn_feature1_conv_map_ds_conv32_expn_fieldconv_iter_dyn_flag1_conv_iter_ds_conv_iter_vdconv_iter_ehdr_eident_conv32_expn_field2conv_reject_descconv_dyn_feature1_stringsconv_iter_strtol_init_conv64_expn_field2conv32_dyn_posflag1conv64_dyn_posflag1conv_iter_dyn_flagconv_dyn_flag_stringsconv_iter_strtolconv32_dyn_flag1conv_strproc_extract_valueconv32_dyn_flagconv64_dyn_flagconv_dyn_flag1_stringsconv_iter_ehdr_typeconv_iter_ehdr_versconv_iter_ehdr_dataconv_iter_ehdr_machconv64_dyn_flag1_dyn_msgconv_dyn_tag_stringsconv_ehdr_dataconv_ehdr_machconv_ehdr_versconv_ehdr_type_conv64_expn_fieldconv_iter_dyn_tagconv32_dyn_tagconv64_dyn_tagconv_iter_ehdr_classconv_iter_ehdr_flagsconv_iter_ehdr_abiversconv_iter_ehdr_osabiconv_bnd_typeconv_iter_dyn_posflag1conv_strproc_isspaceconv_bnd_objelfedit_cpl_matchElf32_dyn_entryelfedit32_dynstr_insertelfedit64_initelf64_checksum_endelfedit_cpl_atoconst_etextelfedit64_dynstr_insertElf64_dyn_titleelfedit64_modified_data__register_frame_info_baseselfedit64_sec_msgprefixelfedit_command_usageelfedit_atoconstelfedit_printfelfedit64_sec_getdyn_edataelfedit32_sec_getdynelfedit64_dyn_offset_to_strelfedit_pager_initelfedit32_dynstr_getpadelfedit_array_elts_moveelfedit_flagselfedit32_offset_to_strelfedit_atoui_range_GLOBAL_OFFSET_TABLE_elfedit_getopt_initelfedit_atoconst_value_to_strstrncmpelfedit64_sec_findstrElf64_dyn_null_entryelfedit_array_elts_deleteSUNWprivate_1.1memcpyelfedit64_offset_to_strelfedit_atouielfedit_outstyle_DYNAMICstrncasecmpelfedit64_sec_getstrelfedit32_dyn_elt_saveelfedit_cpl_ndxelfedit32_sec_getstrelfedit64_dyn_elt_savegettextstrlcpystrlenelf32_checksumelfedit32_sec_msgprefixsnprintfelfedit32_sec_findstrelfedit32_test_osabielfedit64_test_osabielfedit64_dyn_elt_initelfedit32_modified_datastrcmpElf32_dyn_title_Jv_RegisterClassesisupperelfedit64_dynstr_getpadelfedit32_dyn_elt_init__deregister_frame_info_basesElf32_dyn_null_entryelfedit32_dyn_offset_to_strbzerotolowerelfedit_msgelfedit_getopt_PROCEDURE_LINKAGE_TABLE_Elf64_dyn_entrylibelf.so.1SUNW_1.3liblddbg.so.4SUNWprivate_3.23libc.so.1ILLUMOS_0.17SUNW_1.19SUNW_1.1SUNW_0.9SUNW_0.7$ORIGIN/../../../../lib/amd64  '=      gKs y '=  (=  (=  qN         *BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^`abcdefghijklmnopqrstuvwxyz{|~ 4,'-(/%.& 5 7 6: !" 2#)309$+18;`v`k G&tȧЧв` (`08@PX`h px`@@ȨШب`p@ И 8@@HP0X0p`xPЫ`pȩp` ( 08P@X~&& ~px&~Ыq&~0k&@~%&&@-&h@&b& 8&px\&&Ȯ& &@W&`& &P&&(~ &%&5&P~`&~%&`k&вK&ز%&h\xP0ȳг`س@@00 08`@HPP0Xpx@p0 ȴP  (0`8PX`hp`Pȵе0Pж08+ж ]]+P\`+\+\ +и\\ \H\\\P&,X\\\к\ \@\h\\\+`\\ؼ\0+@\h+\@+`\\'\@@P``@hp` п  08@PX`px @ `@ `(08@@HP X`` `@  @0`P]p]]^ ^@^^0^P_p_ _____0_P_p` `@`````0`Pxap|aaa@bbc0cPcpcd`dde@e0eP`fpg`hh`iij0 jP@jpjjjjkk0 kP,kp8k@ć0P8pPTp@0PЇp` HL00P`p0,PLpDP P`k`kH`kX`k@( 8< @0 @/HEPCX`Fhpx-6A;'1ȠРؠ?5&+B: (0283@H9P"X`0h=pDx,*7!H% 8ȡ>С ء .  )(40$5"0%$0%*0h%*0h%*0h%"0h%0h%0h% 0h%0hp%/h`%/h P%/h @%/h 0%/h %/h %/h%/h%/h%/h%/h%/h%/h%/h%/h%/hp%z/h`%r/hP%j/h@%b/h0%Z/h %R/h%J/h%B/h%:/h %2/h!%*/h"%"/h#%/h$%/h%% /h&%/h'p%.h(`%.h)P%.h*@%.h+0%.h, %.h-%.h.%.h/%.h0%.h1%.h2%.h3%.h4%.h5%.h6%.h7p%z.h8`%r.h9P%j.h:@%j.h;0%r.h< %j.h=U=ZHATSu`H3L%z3HsZL)HHH9sHHUZAHJZH9rH=+t H= Z[A\ff.UHHSHH=+tH5ZH=\1H=2tH+HtHH=2[H[ÐUH{HcHHJUHDO G(tOLG1A0L…u ArHt 9wG$fG(G$fDAЅuG(9w1G(G$1ff.fUHH]LeHLmLuAL}H`(AHLE1DH@PptdIHCDC$ Lx D0DELMLMDEHLD13Ds$HDHHCD DhDH]LeLmLuL}@HG|Lx D0s1H1LD;ff.UHAULmATISHHHXuHHUHUHuI$LLHt3HA T$0HHtH uH@LID$@{HufDEutEAD$4HEIT$ It$HID$8aID$H@H1ҋp[LID$HX[A\A]UHAWAAVAUATISHD$t I<$1Ҿ Dž<Dž4HAyAL$ E1I\$VH@E1E1ADž8EH(fDEuA A7=`|rD=` fsI|$1ɺDDvE1DDU=o?=f2ffD1HD3DH{H(4DDm\E1DD{H(4DD[E1DD{H(4DDZE1DDL=t!= `.  DDE1DDfSDž4<ȸE4A4AL$ ;$$D$HI\$pID$L` <1H1L1HXH:I$$LE1H@Pp[[IID$L` MH1L1/CpI|$1ɺDDHI|$@It$@HHDDHCDE1AL$ EaUIHH]LeL}LmILuHG0ILϾ LxrIAAD$0Lx HAL$ ɐt,ID$1D9(uDPHD99rA|$(n1DL) DO H5ȥE11LÉLeH]LmLuL}DAL$ I|$@H51E1IljID$E]EHUIt$I<$ID$8uHMH}HPE18DAD{sA|$(E@UL]HUHĈ[A\A]A^A_ID$8 H8E*ID$81Hx3EEAHEN,HEEMD;Mu DeHULr D:Dp DpHA1LDL$$EWEAE4fDHEAB<`#EHUIt$I<$LhKLhID$8HUHuH}HHLhSLhE@EHEE1MAHE9e;Iuu9HuEDfID$8HUHuH}HHEEHULj xxHL110UAUfAHULj LhDpxpxH11LEHUIt$I<$DpLhEDAMHEDeLp D8MHALD1PEMID$8HUHuH}HHEfDHU|Lj D2DhLHD11DhHU[Lj D"YDMHA1LD1fDUHAWAVAULmATLeSHHHGHEHOHxHGHEO LMLHEHHEpUtYL}E1-=`fuLDLAID9uv#AuLDLmAID9uw݋EHC8HxLL0OHLTDuEWD]EDU1EkHĈ[A\A]A^A_ÐH;1ҾIH}LD5DD}E{(9HC8HUHxH}H~DMEEEDEEtzHxLs I|IHEDuL` AMHEL1L,$EHUHMHf}UHfDHC8HxLL0HL{f IHEDmL` yMHE1Lڿ1E dHMDmIƿLa )MHELڿ1fHxL IIHEDuĿLx LhppLhHL1EL,$EHUHMHHM|D1Ly k1H1LD@UHAWE1AVAUATASHHŰO4~,E1E1fDHC8uAJ<0IA D9k4C0DҨDEuE @EEHD[A\A]A^A_E!ff.UHLeLpLuIH]LmL}H LHLE. LHHP H (vdwDž,D vc1,t"DEȋML߉H]LeLmLuL}HəHcHDHHcHD~HpE1`A/~ <HHM̺LH0AE@ȃvFHHM1LH0 EDž,E1ADžHHMDLH0fExE1Aǃ~ZE(EDž,,@E1Aǿ ^HMDHLEEDž,DEȋML11@E1oAfDE1oAso HM1HLSDž,EI~ E1EA,DE1oAHH8UDA|D9_H@1D6INjEH`1A|6'I~D}IDELM9LL4$LEH (H EȺLAtAƋEE;tZH1DHINjEH1A|HsHLIHH5KE11HxeIDt$HH5 E1LHx+DEHUHELLHT$H$fDH!fAt+HH5+ME1HxAHZDEHHMi|@HuL]DHp H@PDxHHxUAITD*A9LH ;HHEEDDHEE9 2LE1DDeGL1DDIHGDmȿ7IH (HME1L4$4@EȺ LAt3AƋEE;tBH01DEINjEH1A|xEEȺ LAtAƋEE;tH1DyDINjEHp1A|`DVfDEȺ LAtAƋEE;tjH1DCINjEH 1A|xCDEȿ7HD|LDHH (L<$1EEtL_H1DODDmȿIH (HME1UH1DDD[H (HME1 dH`1o1bfLEA1DDBfH 1D'B*fHp1DBfS\E;LD1D]DDEIDLLDHH (19 u8HUEDDHGDEHU1DDHIЋDCDEȿrHD LDHH (1OL11D1CDEIxUD)HAWEAVAUATISHHtHĈ[A\A]A^A_fEt+IE1DI}H5ҎhtAIE9rMAD$ HHHID$8HPHHL2A1q$yDhLPEcIAIc61ҿ HItٺHHQLHvIt$LAP@t:M IA<$@t(@*tA<$,A$IA<$@uغLHNfD Hff.HUD)ƃHtt@ HfÐH@ff.UHH]LeHLmH0D9IHcHLlt DG EuH]LeLmH5LtuH5L~uHUHuH}܅tHE19]vHHEЁ8ouLHEِ LpfDHUHuHH@1HߋpHËE܅;ȉEHEfDU܅HHEЉU܃8up1ɺH1HLHEfDUH H?ff.fUH Hff.fUHHff.fUD)HHtþDff.@UHщH1Hff.UHщHHUHщHHUHщHHUHщHHUHщHHzUHщHHZUHщHH:UHщHHUHщH HUHщH HUHщH HH9 ÐUHWDO G(tRLG1I8LuEHrHHt 9wG$ÐG(G$fDHI<uG(9w1G(G$1f.UHH]LeHLmLuIL}H`(IHLE1LH@PpEIHCDC$ Lx D0DELM`LMDEHLD1Ds$HDHHCL LhDH]LeLmLuL}@HG|Lx D01H1LDQ;ff.UHAULmATISHHHXuHHU%HUHuI$L!L(Ht3HA T$0HHtH uH@LID$@HufDEuEAD$4HEIT$ It$HID$8ID$H@H1ҋp( LID$HX[A\A]UHAWAAVAUATISHDt I<$1ҾD$Dž<Dž4EfAAL$ E1I\$dH@E1E1ADž8H(MHEuAAHH=`HRHH@*HDAՅuH$Ld$Ll$Lt$DߐUHH]LeHLmLuIL}LMALEHMMHUHuMH}Hpfuzu-DfD9t"fEua<tDH {teCuCftf}tf;EuHcL3I<>AԅuH]LeLmLuL}DfAtH {uDfUHH]LeHLmLuML}LMILEHMMHUHuH}HpHHD},PxMHpML)|t6HHHtVt-r˃uHP}MMLDfu1-fDHxLLLtHHHuH]LeLmLuL}ff.UHH]LuHLeLmIHuH}H0H;uIAFHL$I9w$I9DvMIA<$uMI)1H$MMfLl$Ld$Lt$UHH]LeHLmHUIHuH}H@AbH;CtH]LeLmÐH3HLʝuCDkҐU HH}t t   ÐUHLeH]ILmH}H0IA<$uL跚IL9w#@L9DvIH;puLLH]LeLmDUHLmAH]ALeLuHMHUHuH}H@AIL$7u%A<$=t31H$Ld$Ll$Lt$@IA<$uA<$=uIEfuIuA<$tM&t%A$tPw A$IA$ufDIA<${uuf륐UHLeLmIH]HUAHuH}H@tNHH@HDH{{H 1DHHLH]LeLmfH H fUHLeH]ALmHUHuH}H@ti@HH =!=t]L-HHDH=LDH#HLeH]LmfHaH L-QL-L-fUHLeH]AHUHuH}H0uHH HLeH]f== HHcH H=DHjUHLeH]ALmHUHuH}H@ti@HHK=a=Wt]L-nH[H@DXH=LDHHLeH]LmfH!H L-L-L-fUHH]LmDLeLuL}LEAHMHUHuH}HpDAM4HMEDHH$DSH]LeLmLuL}ÐUHH]HUHHuH}H0tt9HBHP @u3H,HPH߾1詘HH]H HPHHP$UHH]LeHLuLmIHMHUIHuH}H`tV1uRCL蕕LcL;krTAt$H]1HIT$I<$H訖1H]LeLmLu@HcV H;Vr.HFF뗐H;LLڗL+L)k@HvH;輗HcC HH)CCWfUHH]LeЉLmHUIHuH}H@HIHHGBHBH(HI|$蜔AD$ uIM HtY1LLt0I]Hu 5DHH Ht$LLlu1H]LeLmøH9HH5H)Hx6jUHH]LeHLmLuIHMHUAHuH}H`uCAuIL$0Ht`1HLtFHH]LeLmLufLuL(LHLu1DHqHH8ff.UHH]LeHLuL}LuHUHuILmHMIH}H||LDo u >fDHKtEAD$tHcɺLI Lt A!1H]LeLmLuL}Ë|DLL|f.UHHpH]LeLmLuAHUHuAL}LMHLEHMDH}HIDdLXHDHh"u*D8Dt)Eu<@tfDH StUCuCftfD9uދAD$tHXHhHcLHѺt@A!HhdDL`H]LeLmLuL}f1䐐UHLeLmIH]HUAHuH}H@Ht]HHu^HH@HDHH{ H{nH DHHYLH]LeLmHH 㐉HLfUHH]LeHLmHUAHuH}H@HtuHHuv@HH=H=tsL-LHHD6H=oLDHHLeH]LmHH ߉HHSHfDL-L-RL-;듐UHH]LeHHUHuAH}H0HtiHHuBH=H=HH oH=pDHHLeH]ÉHHHfDH1H UHH]LeHLmHUAHuH}H@HtuHHuv@HH=H=tsL-̿HHDH=oLDHHLeH]LmHH ߉HHHfDL-YL-RL-;듐UHHH]LeHLmLuALEHMHUHuH}HpHuWDDDDLEvHLEHDDH$MEH]LeLmLuHL ؐUHHH]HUHHuH}H0tt8HqHPu3H\HPH߾1ُHH]H9HPH)HP,UHH]LeHLuLmIHMHUIHuH}H`tV1uRCLŌLcL;krTIt$H]1HIT$I<$H؍1H]LeLmLu@HcV H;Vr.HFF뗐H;LL L+L)k@HvH;HcC HH)CCWfUHH]LeЉLmHUIHuH}H@HIHHGBHBH0HI|$̋AD$ uIM(HtY1LLt0I]Hu 5DHH Ht$LLlu1H]LeLmøHiHH5HYHx6jUHH]LeHLmLuIHMHUAHuH}H`HuBAuIL$8Ht_1HLtFHH]LeLmLuÐLuHL'LHLu1@HHH8ff.UHH]LeHLuL}LuHUHuILmHMIH}H||LLo u >fDHKtEID$tHcɺLI Lt I!1H]LeLmLuL}Ë|LLL|f.UHHpH]LeLmLuAHUHuAL}LMHLEHMDH}HIDdLXHL Hh"u*D8Dt)Eu<@tfDH StUCuCftfD9uދID$tHXHhHcLHѺt@I!HhdLL`H]LeLmLuL}f1䐐UHHH}t~tHuÐt HHUHHUHuH}H0HUHuHUHuHH XfDUHHH}tHHHDff.@UHHUHuH}H0HUHuHUHuHH fDUHxHH}t!H<tHHlHDUHHUHuH}H0HUHuHUHuHH XfDUHHH}tHϢHHDff.@UHHUHuH}H0HUHuHUHuHH fDUHHUH]؁HuH}ft fE1fA1fD f+t fkH5LL%IDH5HhHHHHHHHHiHHcHʍHH+HcH@1fA fDf@f@ @$HHHHHHHHHHHt"H[HcHʍHHjHcHHHHoH]ÐHaHXHHHH>HH8H9H5H tH#HcHʍHH2HcHcHyHHHHHHHHHHH HHHDHH HHHH3H2H3H<HUH&HgH H!H":H`HyH H  HHH HHHH-HH?HHHJH8HQHH $fUHH]LeDLEHMHUHuH}HPDHMLELEHML DHH]Leff.fUHH]HuH}H uHٲHH]H ɲHH5Ƿ=ݷ=ӷH5H=1FHH]ff.fUHH]HuH}H xuHeH HH]DH IHH5=H5ږH=1HH]ÐUHSHHHHtH;HHHuH[UHUHw(deprecated value)[%d: %s][%d]: value unchanged: %s [%d: %s][%d]: change from %s to %s [%d: %s][%d]: value unchanged: %#llx [%d: %s][%d]: change from %#llx to %#llx [%d: %s][%d]: Reusing existing %s entry: %s [%d: %s][%d]: Existing %s already has desired value [%d: %s][%d]: No existing %s to modify. Converting extra DT_NULL [%d: %s][%d]: Dynamic entry for tag: %s [%d: %s][%d]: ELF warning: null element will cause the runtime linker to ignore the non-null elements that follow: %s [%d: %s][%d]: ELF warning: this non-null element follows the first DT_NULL element, and will be ignored by the runtime linker: %s [%d: %s][%d]: ELF warning: dynamic section is must be terminated by a DT_NULL. The runtime linker will be unable to use this object: %s [%d: %s][%d]: ELF warning: DT_NULL element value is expected to be 0: %#llx [%d: %s]: Dynamic section does not contain tag: %s [%d: %s]: Dynamic section does not have room to add a new element [%d: %s]: no runpath (DT_RPATH or DT_RUNPATH) found [%d: %s]: no elements of type %s found [%d: %s]: -s option cannot be used with DT_SUNW_STRPAD dynamic element [%d: %s][%d]: expected %s dynamic element: %s [%d: %s]: matching DT_NEEDED element not found: %s Dump Dynamic SectionChange element tagChange element valueDelete elementsMove elementsSet runpathDT_POSFLAG_1 bit valuesDT_FLAGS bit valuesDT_FLAGS_1 bit valuesDT_FEATURE_1 bit valuesRecompute DT_CHECKSUMLinker machine typeBy default, dyn:value modifies the first element of the dynamic section that has the specified tag type, creating a new element only if no element of the specified type exists, and if room exists in the file. If -add is specified, dyn:value will always create a new element for the new value, leaving any existing elements with the same tag untouched. Interpret the value argument as a string rather than an integer. If the specified string already exists in the dynamic string table, the offset of that string is stored in the dynamic entry. If the string does not exist in the string table, but there is room to add it, the new string is added and then the offset is placed in the dynamic entry. Interpret the elt argument as a direct index into the dynamic section, rather than as a DT_ tag value. Use the dynamic element with the specified index. Select the first DT_POSFLAG_1 dynamic element that corresponds to the DT_NEEDED element with a value that starts with the string given by prefix. If present, the DT_POSFLAG_1 element will be in the dynamic element directly in front of the DT_NEEDED element. Dynamic element to be examined or changed. By default, this is a DT_ tag value. The index of the first element in the dynamic section that has the specified tag value will be used. The value specified can be one of the well known DT_ constants, or any integer. If the -dynndx option is specified, elt is instead interpreted as a simple integer index into the dynamic section. Value to be set for d_tag field of specified dynamic element. Tag values can be specified using the well known DT_ symbolic constants from /usr/include/sys/link.h, or as integers. Element within dynamic section. By default, this is a tag value. In this case, the index of the first dynamic element with the specified tag value will be used. Tag values can be specified using the well known DT_ symbolic constants from /usr/include/sys/link.h, or as integers. If the -dynndx option is specified, then elt is instead interpreted as a direct numeric index into the dynamic section. Value to set for specified dynamic section element. By default, this is a numeric value which is used directly. If the -s option is used, this is a string value, and the dynamic element will receive the numeric offset of the specified string from within the associated dynamic string table. Number of dynamic elements to delete, starting at the specified position. This value cannot exceed the number of slots remaining in the table below the specified position. If count is not supplied, a single element is deleted. Numeric index within dynamic section to which the element(s) should be moved. Number of dynamic elements to move. This value cannot exceed the number of slots remaining in the table below the specified position. If count is not supplied, a single element is moved. New runpath string for the ELF object. Position dependent state flags which are applied to the element immediately following. This can be an integer value, or any of the DF_P1_ symbolic constants defined in /usr/include/sys/link.h Flag values. This can be an integer value, or any of the DF_ symbolic constants defined in /usr/include/sys/link.h Flag values. This can be an integer value, or any of the DF_1_ symbolic constants defined in /usr/include/sys/link.h Feature values. This can be an integer value, or any of the DTF_1_ symbolic constants defined in /usr/include/sys/link.h Machine type of link-editor that built the object being edited. This can be an integer value, or any of the EM_ symbolic constants defined in /usr/include/elf.h The dyn:dump command is used to display the contents of the dynamic section using the same style used by the elfdump program. The dyn:tag command is used to display or alter the type of an element in the dynamic section. This information is found in the d_tag field of a dynamic element. If dyn:tag is called without arguments, the value of d_tag for every element in the dynamic section is shown. If called with the elt argument, the specified elements are displayed. If both arguments are present, the d_tag field of the specified dynamic element is set to the given value. The dyn:value command is used to display or alter the value of an element in the dynamic section, or to add a new element of a desired type. The value of a dynamic element is found in the d_un union of the element. If dyn:value is called without arguments, the value of every element in the dynamic section is shown. If called with the elt argument, the value of the specified elements are displayed. If both arguments are present, the value of the specified dynamic element is set to the given value. The dyn:delete command is used to delete one or more elements in the dynamic section. The elements following the deleted items move up, and new DT_NULL elements are inserted at the end of the dynamic section to fill the vacated space. Other parts of the ELF object may have dependencies on the position and values of existing dynamic elements. Moving or deleting dynamic elements can therefore break the object, and should be done with caution. Among the potential issues: o DT_POSFLAG_1 has a positional dependency on the item that follows it. If that item is removed, the DT_POSFLAG_1 will apply to the new item that moves below it. o Syminfo sections reference DT_NEEDED elements in the dynamic section by index. Moving or deleting such elements will break this dependency. The dyn:move command is used to move the position of one or more elements in the dynamic section. The specified number of elements are moved from elt to dst_index. Other parts of the ELF object may have dependencies on the position and values of existing dynamic elements. Moving or deleting dynamic elements can therefore break the object, and should be done with caution. Among the potential issues: o DT_POSFLAG_1 has a positional dependency on the item that follows it. If that item is removed, the DT_POSFLAG_1 will apply to the new item that moves below it. o Syminfo sections reference DT_NEEDED elements in the dynamic section by index. Moving or deleting such elements will break this dependency. The dyn:runpath command is used to display or alter the runpath of the ELF object. If dyn:runpath is called without arguments, the existing runpath is shown. If called with the newpath argument, the runpath is set to the given string, if possible. Not all files can be modified to have a new runpath: o The desired string must already exist in the dynamic string table, or there must be enough room in the reserved section section at the end (DT_SUNW_STRPAD) for the new string to be added. o The dynamic section must already have a DT_RPATH or DT_RUNPATH element, or there must be an extra DT_NULL slot at the end where a DT_RUNPATH can be inserted. If the file has both DT_RPATH and DT_RUNPATH elements in the dynamic section, both are set to the new value. If no runpath entry exists, a new DT_RUNPATH is inserted if the room for it exists. The dyn:posflag1 command is used to display or alter DT_POSFLAG_1 flags values. DT_POSFLAG_1 is a positional dynamic element that affects the interpretation of the item that follows it. Therefore, when displaying DT_POSFLAG_1 elements using the default output style, dyn:posflag1 also displays the dynamic element that follows it. If dyn:posflag1 is called without arguments, the current value of all DT_POSFLAG_1 elements are shown. It is possible to display the value of a single specific DT_POSFLAG_1 element by using the -dynndx or -needed option to specify it. If one or more value arguments are present, the default is to modify the first DT_POSFLAG_1 element. The -dynndx or -needed option can be used to specify a specific DT_POSFLAG_1_element instead. The following steps are taken to compute the new value: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_POSFLAG_1 element is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. A new DT_POSFLAG_1 element is inserted in the dynamic section when all of the following are true: o One or more value arguments are present. o The -dynndx and -needed options are not used. o The current dynamic section does not have a current DT_POSFLAG_1 element. o There is available space at the end of the dynamic section. The dyn:flags command is used to display or alter the value of the DT_FLAGS dynamic element. If dyn:flags is called without arguments, the current value is shown. If one or more value arguments are present, the following steps are taken: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_FLAGS element of the dynamic section is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. If the current dynamic section does not have a current DT_FLAGS element, and room for it exists at the end of the section, a new one is inserted. The dyn:flags1 command is used to display or alter the value of the DT_FLAGS_1 dynamic element. If dyn:flags1 is called without arguments, the current value is shown. If one or more value arguments are present, the following steps are taken: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_FLAGS_1 element of the dynamic section is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. If the current dynamic section does not have a current DT_FLAGS_1 element, and room for it exists at the end of the section, a new one is inserted. The dyn:feature1 command is used to display or alter the value of the DT_FEATURE_1 dynamic element. If dyn:feature1 is called without arguments, the current value is shown. If one or more value arguments are present, the following steps are taken: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_FEATURE_1 element of the dynamic section is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. If the current dynamic section does not have a current DT_FEATURE_1 element, and room for it exists at the end of the section, a new one is inserted. The dyn:checksum command recomputes the value of the DT_CHECKSUM dynamic element. It calls the elf32_checksum() for 32-bit objects, or elf64_checksum() for 64-bit objects, and then sets the value of the DT_CHECKSUM element to the resulting value. If the current dynamic section does not have a current DT_CHECKSUM element, and room for it exists at the end of the section, a new one is inserted. The dyn:sunw_ldmach command is used to display or alter the DT_SUNW_LDMACH dynamic element of the ELF object. This dynamic element records the ELF machine type of the link-editor that produced the object. This is of special interest if the object was built by a cross link-editor instead of being linked on a machine of the same type as the object. If dyn:sunw_ldmach is called without arguments, the current value is shown. If called with the value argument, the DT_SUNW_LDMACH dynamic element is set to the specified machine type. If the current dynamic section does not have a current DT_SUNW_LDMACH element, and room for it exists at the end of the section, a new one is inserted. counteltdst_index-add-dynndx-needed-snewpathprefixdyndumpdeletemoverpathposflag1flagsflags1feature1checksumsunw_ldmachf8gxgfhhhg h@h`h`fe(kkjimmlPli0ih(deprecated value)[%d: %s][%d]: value unchanged: %s [%d: %s][%d]: change from %s to %s [%d: %s][%d]: value unchanged: %#llx [%d: %s][%d]: change from %#llx to %#llx [%d: %s][%d]: Reusing existing %s entry: %s [%d: %s][%d]: Existing %s already has desired value [%d: %s][%d]: No existing %s to modify. Converting extra DT_NULL [%d: %s][%d]: Dynamic entry for tag: %s [%d: %s][%d]: ELF warning: null element will cause the runtime linker to ignore the non-null elements that follow: %s [%d: %s][%d]: ELF warning: this non-null element follows the first DT_NULL element, and will be ignored by the runtime linker: %s [%d: %s][%d]: ELF warning: dynamic section is must be terminated by a DT_NULL. The runtime linker will be unable to use this object: %s [%d: %s][%d]: ELF warning: DT_NULL element value is expected to be 0: %#llx [%d: %s]: Dynamic section does not contain tag: %s [%d: %s]: Dynamic section does not have room to add a new element [%d: %s]: no runpath (DT_RPATH or DT_RUNPATH) found [%d: %s]: no elements of type %s found [%d: %s]: -s option cannot be used with DT_SUNW_STRPAD dynamic element [%d: %s][%d]: expected %s dynamic element: %s [%d: %s]: matching DT_NEEDED element not found: %s Dump Dynamic SectionChange element tagChange element valueDelete elementsMove elementsSet runpathDT_POSFLAG_1 bit valuesDT_FLAGS bit valuesDT_FLAGS_1 bit valuesDT_FEATURE_1 bit valuesRecompute DT_CHECKSUMLinker machine typeBy default, dyn:value modifies the first element of the dynamic section that has the specified tag type, creating a new element only if no element of the specified type exists, and if room exists in the file. If -add is specified, dyn:value will always create a new element for the new value, leaving any existing elements with the same tag untouched. Interpret the value argument as a string rather than an integer. If the specified string already exists in the dynamic string table, the offset of that string is stored in the dynamic entry. If the string does not exist in the string table, but there is room to add it, the new string is added and then the offset is placed in the dynamic entry. Interpret the elt argument as a direct index into the dynamic section, rather than as a DT_ tag value. Use the dynamic element with the specified index. Select the first DT_POSFLAG_1 dynamic element that corresponds to the DT_NEEDED element with a value that starts with the string given by prefix. If present, the DT_POSFLAG_1 element will be in the dynamic element directly in front of the DT_NEEDED element. Dynamic element to be examined or changed. By default, this is a DT_ tag value. The index of the first element in the dynamic section that has the specified tag value will be used. The value specified can be one of the well known DT_ constants, or any integer. If the -dynndx option is specified, elt is instead interpreted as a simple integer index into the dynamic section. Value to be set for d_tag field of specified dynamic element. Tag values can be specified using the well known DT_ symbolic constants from /usr/include/sys/link.h, or as integers. Element within dynamic section. By default, this is a tag value. In this case, the index of the first dynamic element with the specified tag value will be used. Tag values can be specified using the well known DT_ symbolic constants from /usr/include/sys/link.h, or as integers. If the -dynndx option is specified, then elt is instead interpreted as a direct numeric index into the dynamic section. Value to set for specified dynamic section element. By default, this is a numeric value which is used directly. If the -s option is used, this is a string value, and the dynamic element will receive the numeric offset of the specified string from within the associated dynamic string table. Number of dynamic elements to delete, starting at the specified position. This value cannot exceed the number of slots remaining in the table below the specified position. If count is not supplied, a single element is deleted. Numeric index within dynamic section to which the element(s) should be moved. Number of dynamic elements to move. This value cannot exceed the number of slots remaining in the table below the specified position. If count is not supplied, a single element is moved. New runpath string for the ELF object. Position dependent state flags which are applied to the element immediately following. This can be an integer value, or any of the DF_P1_ symbolic constants defined in /usr/include/sys/link.h Flag values. This can be an integer value, or any of the DF_ symbolic constants defined in /usr/include/sys/link.h Flag values. This can be an integer value, or any of the DF_1_ symbolic constants defined in /usr/include/sys/link.h Feature values. This can be an integer value, or any of the DTF_1_ symbolic constants defined in /usr/include/sys/link.h Machine type of link-editor that built the object being edited. This can be an integer value, or any of the EM_ symbolic constants defined in /usr/include/elf.h The dyn:dump command is used to display the contents of the dynamic section using the same style used by the elfdump program. The dyn:tag command is used to display or alter the type of an element in the dynamic section. This information is found in the d_tag field of a dynamic element. If dyn:tag is called without arguments, the value of d_tag for every element in the dynamic section is shown. If called with the elt argument, the specified elements are displayed. If both arguments are present, the d_tag field of the specified dynamic element is set to the given value. The dyn:value command is used to display or alter the value of an element in the dynamic section, or to add a new element of a desired type. The value of a dynamic element is found in the d_un union of the element. If dyn:value is called without arguments, the value of every element in the dynamic section is shown. If called with the elt argument, the value of the specified elements are displayed. If both arguments are present, the value of the specified dynamic element is set to the given value. The dyn:delete command is used to delete one or more elements in the dynamic section. The elements following the deleted items move up, and new DT_NULL elements are inserted at the end of the dynamic section to fill the vacated space. Other parts of the ELF object may have dependencies on the position and values of existing dynamic elements. Moving or deleting dynamic elements can therefore break the object, and should be done with caution. Among the potential issues: o DT_POSFLAG_1 has a positional dependency on the item that follows it. If that item is removed, the DT_POSFLAG_1 will apply to the new item that moves below it. o Syminfo sections reference DT_NEEDED elements in the dynamic section by index. Moving or deleting such elements will break this dependency. The dyn:move command is used to move the position of one or more elements in the dynamic section. The specified number of elements are moved from elt to dst_index. Other parts of the ELF object may have dependencies on the position and values of existing dynamic elements. Moving or deleting dynamic elements can therefore break the object, and should be done with caution. Among the potential issues: o DT_POSFLAG_1 has a positional dependency on the item that follows it. If that item is removed, the DT_POSFLAG_1 will apply to the new item that moves below it. o Syminfo sections reference DT_NEEDED elements in the dynamic section by index. Moving or deleting such elements will break this dependency. The dyn:runpath command is used to display or alter the runpath of the ELF object. If dyn:runpath is called without arguments, the existing runpath is shown. If called with the newpath argument, the runpath is set to the given string, if possible. Not all files can be modified to have a new runpath: o The desired string must already exist in the dynamic string table, or there must be enough room in the reserved section section at the end (DT_SUNW_STRPAD) for the new string to be added. o The dynamic section must already have a DT_RPATH or DT_RUNPATH element, or there must be an extra DT_NULL slot at the end where a DT_RUNPATH can be inserted. If the file has both DT_RPATH and DT_RUNPATH elements in the dynamic section, both are set to the new value. If no runpath entry exists, a new DT_RUNPATH is inserted if the room for it exists. The dyn:posflag1 command is used to display or alter DT_POSFLAG_1 flags values. DT_POSFLAG_1 is a positional dynamic element that affects the interpretation of the item that follows it. Therefore, when displaying DT_POSFLAG_1 elements using the default output style, dyn:posflag1 also displays the dynamic element that follows it. If dyn:posflag1 is called without arguments, the current value of all DT_POSFLAG_1 elements are shown. It is possible to display the value of a single specific DT_POSFLAG_1 element by using the -dynndx or -needed option to specify it. If one or more value arguments are present, the default is to modify the first DT_POSFLAG_1 element. The -dynndx or -needed option can be used to specify a specific DT_POSFLAG_1_element instead. The following steps are taken to compute the new value: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_POSFLAG_1 element is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. A new DT_POSFLAG_1 element is inserted in the dynamic section when all of the following are true: o One or more value arguments are present. o The -dynndx and -needed options are not used. o The current dynamic section does not have a current DT_POSFLAG_1 element. o There is available space at the end of the dynamic section. The dyn:flags command is used to display or alter the value of the DT_FLAGS dynamic element. If dyn:flags is called without arguments, the current value is shown. If one or more value arguments are present, the following steps are taken: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_FLAGS element of the dynamic section is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. If the current dynamic section does not have a current DT_FLAGS element, and room for it exists at the end of the section, a new one is inserted. The dyn:flags1 command is used to display or alter the value of the DT_FLAGS_1 dynamic element. If dyn:flags1 is called without arguments, the current value is shown. If one or more value arguments are present, the following steps are taken: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_FLAGS_1 element of the dynamic section is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. If the current dynamic section does not have a current DT_FLAGS_1 element, and room for it exists at the end of the section, a new one is inserted. The dyn:feature1 command is used to display or alter the value of the DT_FEATURE_1 dynamic element. If dyn:feature1 is called without arguments, the current value is shown. If one or more value arguments are present, the following steps are taken: o All the value arguments are OR'd together. o If the -cmp option has been specified, the new value is complemented. o The DT_FEATURE_1 element of the dynamic section is updated with the new value. If -and is specified, the new value is AND'd against the existing value. If -or is specified, the new value is OR'd against the existing value. If neither -and or -or are specified, the new value replaces the existing value. If the current dynamic section does not have a current DT_FEATURE_1 element, and room for it exists at the end of the section, a new one is inserted. The dyn:checksum command recomputes the value of the DT_CHECKSUM dynamic element. It calls the elf32_checksum() for 32-bit objects, or elf64_checksum() for 64-bit objects, and then sets the value of the DT_CHECKSUM element to the resulting value. If the current dynamic section does not have a current DT_CHECKSUM element, and room for it exists at the end of the section, a new one is inserted. The dyn:sunw_ldmach command is used to display or alter the DT_SUNW_LDMACH dynamic element of the ELF object. This dynamic element records the ELF machine type of the link-editor that produced the object. This is of special interest if the object was built by a cross link-editor instead of being linked on a machine of the same type as the object. If dyn:sunw_ldmach is called without arguments, the current value is shown. If called with the value argument, the DT_SUNW_LDMACH dynamic element is set to the specified machine type. If the current dynamic section does not have a current DT_SUNW_LDMACH element, and room for it exists at the end of the section, a new one is inserted. counteltdst_index-add-dynndx-needed-snewpathprefixdyndumpdeletemoverpathposflag1flagsflags1feature1checksumsunw_ldmachXXXPXHZY(ZYYYYWW\\\`[X_^0^]ZZ0Zpqqqqqqqpqqqrqpqrrrrrq a a aXiz,GrPm0Bj?`q#4Yz 9 3 $  2 O  $ B ` } n     s o y ` h y  ( ; L 8   - C R  + % 4 A R e ~    7 F Y d o ~   " / 8 C P ] j . < K ] s  , @ Q ` k x *  * \? K X e y % 4 A R e ~    7 F Y d o ~   " / 8 C P ] j    ,;J[l{  %5DTeuN ,;J[l{ 8I^s*BUj8I^skx 2=JYhs 1DS^m| )FQ`mzs)9ESbo{'<MZgv%9MZhu*BUjkx 2=JYhs 1DS^m| )FQ`mz  &2BUbs -:ID^ ,:M^l~$5CRXf&/BUbs -:IA^I\k|QbrFYhy~+8+ ?v5^n]mbrJVf#:,G/5.11-1.1754 (illumos)DT_NULLnullDT_NEEDEDneededDT_PLTRELSZpltrelszPLTSZDT_PLTGOTpltgotDT_HASHgnu_hashDT_STRTABstrtabDT_SYMTABsunw_symtabDT_RELArelaDT_RELASZrelaszDT_RELAENTrelaentDT_STRSZstrszDT_SYMENTsymentDT_INITparinitDT_FINIfiniDT_SONAMEsonameDT_RPATHrpathDT_SYMBOLICDF_SYMBOLICsymbolicSYMBDT_RELjmprelDT_RELSZDT_RELENTrelentDT_PLTRELpltrelDT_DEBUGdebugDT_TEXTRELDF_TEXTRELtextrelDT_JMPRELDT_BIND_NOWDF_BIND_NOWbind_nowDT_INIT_ARRAYpreinit_arrayDT_FINI_ARRAYfini_arrayDT_INIT_ARRAYSZpreinit_arrayszDT_FINI_ARRAYSZfini_arrayszDT_RUNPATHrunpathDT_FLAGSflagsDT_PREINIT_ARRAYDT_PREINIT_ARRAYSZDT_DEPRECATED_SPARC_REGISTERdeprecated_sparc_registerDT_SUNW_AUXILIARYsunw_auxiliaryDT_SUNW_RTLDINFsunw_rtldinfDT_SUNW_FILTERsunw_filterDT_SUNW_CAPsunw_capDT_SUNW_SYMTABDT_SUNW_SYMSZsunw_symszDT_SUNW_SORTENTsunw_sortentDT_SUNW_SYMSORTsunw_symsortDT_SUNW_SYMSORTSZsunw_symsortszDT_SUNW_TLSSORTsunw_tlssortDT_SUNW_TLSSORTSZsunw_tlssortszDT_SUNW_CAPINFOsunw_capinfoDT_SUNW_STRPADsunw_strpadDT_SUNW_CAPCHAINsunw_capchainDT_SUNW_LDMACHsunw_ldmachDT_SUNW_CAPCHAINENTsunw_capchainentDT_SUNW_CAPCHAINSZsunw_capchainszDT_GNU_PRELINKEDgnu_prelinkedDT_GNU_CONFLICTSZgnu_conflictszDT_GNU_LIBLISTSZgnu_liblistszDT_CHECKSUMchecksumDT_PLTPADSZpltpadszDT_MOVEENTmoveentDT_MOVESZmoveszDT_FEATURE_1feature_1DT_POSFLAG_1posflag_1DT_SYMINSZsyminszDT_SYMINENTsyminentDT_GNU_HASHDT_TLSDESC_PLTtlsdesc_pltDT_TLSDESC_GOTtlsdesc_gotDT_GNU_CONFLICTgnu_conflictDT_GNU_LIBLISTgnu_liblistDT_CONFIGconfigDT_DEPAUDITdepauditDT_AUDITDT_PLTPADpltpadDT_MOVETABmovetabDT_SYMINFOsyminfoDT_VERSYMversymDT_RELACOUNTrelacountDT_RELCOUNTrelcountDT_FLAGS_1flags_1DT_VERDEFverdefDT_VERDEFNUMverdefnumDT_VERNEEDverneedDT_VERNEEDNUMverneednumDT_SPARC_REGISTERDT_AUXILIARYDT_USEDusedDT_FILTERDF_ORIGINoriginDF_STATIC_TLSstatic_tlsDF_1_NOWDF_1_GLOBALglobalDF_1_GROUPgroupDF_1_NODELETEnodeleteDF_1_LOADFLTRloadfltrDF_1_INITFIRSTinitfirstDF_1_NOOPENnoopenDF_1_ORIGINDF_1_DIRECTDF_1_NODIRECTnodirectDF_1_TRANStransDF_1_INTERPOSEinterposeOBJECT-INTERPOSEDF_1_NODEFLIBnodeflibDF_1_NODUMPnodumpDF_1_CONFALTconfaltDF_1_ENDFILTEEendfilteeDF_1_DISPRELDNEdispreldneDISPLACE-RELOCS-DONEDF_1_DISPRELPNDdisprelpndDISPLACE-RELOCS-PENDDF_1_IGNMULDEFignmuldefIGNORE-MULDEFSDF_1_NOKSYMSnoksymsDF_1_NOHDRnohdrDF_1_EDITEDeditedDF_1_NORELOCnorelocDF_1_SYMINTPOSEsymintposeSYMBOL-INTERPOSEDF_1_GLOBAUDITglobauditGLOBAL-AUDITINGDF_1_SINGLETONsingletonSINGLETON-EXISTSDF_P1_LAZYLOADlazyloadLAZYDF_P1_GROUPPERMgrouppermDF_P1_DEFERREDdeferredDTF_1_PARINITDTF_1_CONFEXPconfexpREFERENCEDOBJECTS-ADDEDOBJECTS-REEVALUATEDOBJECTS-DELETEDATEXIT-PROCESSING(revisiting)0ELFCLASSNONENonenoneELFCLASS3232-bitkm32ELFCLASS6464-bitEM_AMD64ELFDATANONEELFDATA2LSBlsbELFDATA2MSBmsbEM_NONENo machEM_M32WE32100EM_SPARCsparcEM_38680386EM_68K6800068kEM_88K88k88000EM_48680486EM_860i860EM_MIPSmipsRS3000_BEEM_S370s370EM_MIPS_RS3_LEmips_rs3_leRS3000_LEEM_RS6000rs6000EM_PA_RISCpa_riscEM_nCUBEncubeEM_VPP500vpp500EM_SPARC32PLUSsparc32plusEM_960EM_PPCppcPowerPCEM_PPC64ppc64PowerPC64EM_S390s390EM_V800v800EM_FR20fr20EM_RH32rh32EM_RCErceEM_ARMarmEM_ALPHAalphaAlphaEM_SHshEM_SPARCV9sparcv9EM_TRICOREtricoreEM_ARCkvarcEM_H8_300h8_300EM_H8_300Hh8_300hEM_H8Sh8sEM_H8_500h8_500EM_IA_64ia_64EM_MIPS_Xmips_xEM_COLDFIREcoldfireEM_68HC1268hc12EM_MMAmmaEM_PCPpcpEM_NCPUncpuEM_NDR1ndr1EM_STARCOREstarcoreEM_ME16me16EM_ST100st100EM_TINYJtinyjamd64EM_PDSPpdspEM_FX66fx66EM_ST9PLUSst9plusEM_ST7st7EM_68HC1668hc16EM_68HC1168hc11EM_68HC0868hc08EM_68HC0568hc05EM_SVXsvxEM_ST19st19EM_VAXvaxEM_CRIScrisEM_JAVELINjavelinEM_FIREPATHfirepathEM_ZSPzspEM_MMIXmmixEM_HUANYhuanyEM_PRISMprismEM_AVRavrEM_FR30fr30EM_D10Vd10vEM_D30Vd30vEM_V850v850EM_M32Rm32rEM_MN10300mn10300EM_MN10200mn10200EM_PJpjEM_OPENRISCopenriscEM_ARC_A5arc_a5EM_XTENSAxtensaEM_VIDEOCOREvideocoreEM_TMM_GPPtmm_gppEM_NS32Kns32kEM_TPCtpcEM_SNP1Ksnp1kEM_ST200st200EM_IP2Kip2kEM_MAXmaxEM_CREM_F2MC16f2mc16EM_MSP430msp430EM_BLACKFINblackfinEM_SE_C33se_c33EM_SEPsepEM_ARCAarcaEM_UNICOREunicoreEM_EXCESSexcessEM_DXPdxpEM_ALTERA_NIOS2altera_nios2EM_CRXcrxEM_XGATExgateEM_C166c166EM_M16Cm16cEM_DSPIC30Fdspic30fEM_CEEM_M32Cm32cEM_TSK3000tsk3000EM_RS08rs08EM_SHARCsharcEM_ECOG2ecog2EM_SCORE7score7EM_DSP24dsp24EM_VIDEOCORE3videocore3EM_LATTICEMICO32latticemico32EM_SE_C17se_c17EM_TI_C6000ti_c6000EM_TI_C2000ti_c2000EM_TI_C5500ti_c5500EM_TI_ARP32ti_arp32EM_TI_PRUti_pruEM_MMDSP_PLUSmmdsp_plusEM_CYPRESS_M8Ccypress_m8cEM_R32Cr32cEM_TRIMEDIAtrimediaEM_QDSP6qdsp6EM_8051EM_STXP7Xstxp7xEM_NDS32nds32EM_ECOG1ecog1EM_MAXQ30maxq30EM_XIMO16ximo16EM_MANIKmanikEM_CRAYNV2craynv2EM_RXEM_METAGmetagEM_MCST_ELBRUSmcst_elbrusEM_ECOG16ecog16EM_CR16cr16EM_ETPUetpuEM_SLE9Xsle9xEM_L10Ml10mEM_K10Mk10mEM_AARCH64aarch64EM_AVR32avr32EM_STM8stm8EM_TILE64tile64EM_TILEPROtileproEM_MICROBLAZEmicroblazeEM_CUDAcudaEM_TILEGXtilegxEM_CLOUDSHIELDcloudshieldEM_COREA_1STcorea_1stEM_COREA_2NDcorea_2ndEM_ARC_COMPACT2arc_compact2EM_OPEN8open8EM_RL78rl78EM_VIDEOCORE5videocore5EM_78KOR78korEM_56800EX56800exEM_BA1ba1EM_BA2ba2EM_XCORExcoreEM_MCHP_PICmchp_picEM_INTEL205intel205EM_INTEL206intel206EM_INTEL207intel207EM_INTEL208intel208EM_INTEL209intel209EM_KM32EM_KMX32kmx32EM_KMX16kmx16EM_KMX8kmx8EM_KVARCEM_CDPcdpEM_COGEcogeEM_COOLcoolEM_NORCnorcEM_CSR_KALIMBAcsr_kalimbaEM_Z80z80EM_VISIUMvisiumEM_FT32ft32EM_MOXIEmoxieEM_AMDGPUamdgpuEM_RISCVriscvEI_MAG0mag0EI_MAG1mag1EI_MAG2mag2EI_MAG3mag3EI_CLASSclassEI_DATAdataEI_VERSIONabiversionEI_OSABIosabiEI_ABIVERSIONET_NONEET_RELrelRelocET_EXECexecExecET_DYNdynDynET_CORECoreET_SUNWPSEUDOsunwpseudoSUNWPseudoEV_NONEInvalidEV_CURRENTcurrentCurrentEF_SPARC_32PLUSsparc_32plusEF_SPARC_SUN_US1sparc_sun_us1EF_SPARC_HAL_R1sparc_hal_r1EF_SPARC_SUN_US3sparc_sun_us3EF_SPARCV9_TSOsparcv9_tsoEF_SPARCV9_PSOsparcv9_psoEF_SPARCV9_RMOsparcv9_rmoELFOSABI_NONEGeneric SYSVELFOSABI_SYSVsysvELFOSABI_HPUXhpuxHP-UXELFOSABI_NETBSDnetbsdNetBSDELFOSABI_LINUXlinuxLinuxELFOSABI_SOLARISsolarisSolarisELFOSABI_AIXaixELFOSABI_IRIXirixELFOSABI_FREEBSDfreebsdFreeBSDELFOSABI_TRU64tru64Tru64ELFOSABI_MODESTOmodestoModestoELFOSABI_OPENBSDopenbsdOpenBSDELFOSABI_OPENVMSopenvmsOpenVMSELFOSABI_NSKnskELFOSABI_AROSarosAmiga Research OSELFOSABI_FENIXOSfenixosFenixOSELFOSABI_CLOUDABIcloudabiCloudABIELFOASBI_OPENVOSopenvosOpenVOSELFOSABI_ARMELFOSABI_STANDALONEstandaloneStandaloneEAV_SUNW_NONEEAV_SUNW_CURRENT%ld%lld %ld %lld 0x%lx0x%llx 0x%lx 0x%llx [ ] @   VN <IV9FS0*'':=Vh{ 14O`s.CL]pS  4FZq,?Pg~)<Md{wB]z/Ll(7Pm!@[%4Mj=X}4=N_p2:HQbs =P_p +DWf| )A.Xiy>-EV "=N_p :HQbs =P_p:K\m7EN_p:M\mt   z   @=Nx @ &0 X m ~ @    @`-BS} @ +5 ] r @    @g6H] @ 4? e x @    @`-Bg} @ +I ] r @   ]ng)|` q+ H b % B \ 4 R k = b Xopp&p6pFpVpfpvpppppppppqq&q6qFqVqfqvqqqqqqqqqrr&r6rFrVrfrvrrrrrrrrrss&s6sFsVsfsvssssss@@@@6iUH6iUH<3O%".L!F}'Z*p-H12+;@  @; "; ;  n  n; nO%".L!F}'Z*p-H12+;@  @; "; ;  n  n; n[aaaBxBBx$?$?$? ! ``ooooooooppoooo! ``ooooooooppoooo!! ``ooooooooppppooooHH.Solaris Link Editors: 5.11-1.1754 (illumos)X /5 E E E xF Hjos@P`@Xhx@` !}@P @I}`:*p<pI`k c {uP%^^@Dk` `v(:<JpX;rJ, 1`,`:,`9 1Og`xq p=]JJPt$9^H^WP\f@ouc  Jp[ c:3/Hm&X4hBUxbsx`hPt06t ts`u`v@w/pf 1`< EP2XИZe0oPzp! @` (*4вCPYPg`ux`xPx`x@p @P P.AhS@Pe0u`PЫPp P P'6P `vPnh B1@<гY E0P2X\e`oz!0Pp0P`(*4CPY`Pg@ux@x0`x@x P PP.AhS PeuP`PPPж P*04CP [0fp<x`4P PP aX  1*06pAPL1^j uF@_(_(8p1`  + 6?KPV@an@`]]@ ` 3 I ^  t  ] ^  ^ @^4 ^4 ^4 _ _#  _5 _ F _ W l    _ _ _  @  ` & < _P `c  `v @` `` `    `$ `$ @  $  < U `n   @ `   @ ! 9  M e `y     `  @-AxaS|adaua@bbccccXdX`dX)d8?e8T@e8ie~`fg`hphp`ipi j  j @j0-j0?j0Qcuj j k k  @` k ,k &8k 4>BJQUPas}88`8 880 } @@`@ @@';:D O]gu    0@00 @ Ќ%1`C@T``v . C\p @`  -`C@Zm@` 8% .8<(E@WLs ć8 PT  $p:L@Lh ~Ї`  HL 0/`BVLt , LDP0  MPe`rxUgwp@ *BXix`@  . B X l        !!%!X.!:!O!f!v!!!!!!!!!!")"@"X"_"o" """" "" #####2#oL#dyn.socrti.svalues-Xa.ccrtstuff.c__CTOR_LIST____DTOR_LIST____EH_FRAME_BEGIN____JCR_LIST____do_global_dtors_auxcompleted.5023dtor_idx.5025frame_dummyobject.5049dyn.c__dyn_msgmod_i18nhdl_to_strset_null_ndxconvert_dt_nullprocess_argsprint_dynarg_to_indexcmd_body_valuecmd_body_runpathflag_bitopcmd_bodycpl_eltargcpl_tagcpl_posflag1cpl_flagscpl_flags1cpl_feature1cpl_sunw_ldmachcmd_dumpcmd_tagcmd_valuecmd_deletecmd_movecmd_runpathcmd_posflag1cmd_flagscmd_flags1cmd_feature1cmd_checksumcmd_sunw_ldmachmodule.8761cmds.8760name_dump.8734opt_minus_dynndx.8733arg_dump.8735name_tag.8736opt_tag.8737arg_tag.8738name_value.8739opt_value.8740arg_value.8741name_delete.8742arg_delete.8743name_move.8744arg_move.8745name_runpath.8746opt_ostyle.8731arg_runpath.8747name_posflag1.8748opt_posflag1.8749arg_posflag1.8750name_flags.8751opt_ostyle_bitop.8732arg_flags.8752name_flags1.8753arg_flags1.8754name_feature1.8755arg_feature1.8756name_checksum.8757name_sunw_ldmach.8758arg_sunw_ldmach.8759module.8768cmds.8767name_dump.8741opt_minus_dynndx.8740arg_dump.8742name_tag.8743opt_tag.8744arg_tag.8745name_value.8746opt_value.8747arg_value.8748name_delete.8749arg_delete.8750name_move.8751arg_move.8752name_runpath.8753opt_ostyle.8738arg_runpath.8754name_posflag1.8755opt_posflag1.8756arg_posflag1.8757name_flags.8758opt_ostyle_bitop.8739arg_flags.8759name_flags1.8760arg_flags1.8761name_feature1.8762arg_feature1.8763name_checksum.8764name_sunw_ldmach.8765arg_sunw_ldmach.8766dynamic_machelf.cehdr_class_stringsds_dump.4760ds_nf.4759ds_cf.4758ehdr_data_stringsds_file.4798ds_nf.4796ds_cf.4795ds_dump.4797ehdr_mach_stringsds_dmp.4881ds_nf.4880ds_cf.4879extra_dmp_nf.4902ehdr_eident_stringsds_nf.4920ds_cf.4919ehdr_type_stringsds_dmp.4952ds_cf.4950ds_nf.4951ehdr_vers_stringsds_dmp.4990ds_cf.4988ds_nf.4989conv_ehdr_sparc_flags_stringsds_mm_flags_cf.5019vda_cf.5021ds_mm_flags_nf.5020vda_nf.5022conv_arg.5034leading_str_arr.5033ehdr_osabi_stringsds_dmp.5119ds_cf.5117ds_nf.5118ehdr_abivers_stringsds_cf.5158ds_nf.5159ds_none.5160ds_abiversions_nf.5157ds_abiversions_cf.5156abiversions_nf.5155abiversions_cf.5154ds_osabi_0_3_dmp.5104ds_osabi_6_18_dmp.5110ds_osabi_misc_dmp.5116ds_osabi_0_3_nf.5103ds_osabi_6_18_nf.5109ds_osabi_misc_nf.5115ds_osabi_0_3_cf.5102ds_osabi_6_18_cf.5108ds_osabi_misc_cf.5114osabi_misc_dmp.5113osabi_misc_nf.5112osabi_misc_cf.5111osabi_6_18_dmp.5107osabi_6_18_nf.5106osabi_6_18_cf.5105osabi_0_3_dmp.5101osabi_0_3_nf.5100osabi_0_3_cf.5099mm_flags_cf.5017mm_flags_nf.5018ds_versions_dmp.4987ds_versions_nf.4986ds_versions_cf.4985versions_dmp.4984versions_nf.4983versions_cf.4982ds_type_dmp.4943ds_type_osabi_dmp.4949ds_type_nf.4942ds_type_osabi_nf.4948ds_type_cf.4941ds_type_osabi_cf.4947type_osabi_dmp.4946type_osabi_nf.4945type_osabi_cf.4944type_dmp.4940type_nf.4939type_cf.4938ds_eident_cf.4917ds_eident_nf.4918eident_nf.4916eident_cf.4915ds_mach_0_11_dmp.4830ds_mach_15_22_dmp.4836ds_mach_36_63_dmp.4842ds_mach_66_120_dmp.4848ds_mach_131_144_dmp.4854ds_mach_160_181_dmp.4860ds_mach_183_dmp.4866ds_mach_185_224_dmp.4872ds_mach_243_dmp.4878ds_mach_0_11_nf.4829ds_mach_15_22_nf.4835ds_mach_36_63_nf.4841ds_mach_66_120_nf.4847ds_mach_131_144_nf.4853ds_mach_160_181_nf.4859ds_mach_183_nf.4865ds_mach_185_224_nf.4871ds_mach_243_nf.4877ds_mach_0_11_cf.4828ds_mach_15_22_cf.4834ds_mach_36_63_cf.4840ds_mach_66_120_cf.4846ds_mach_131_144_cf.4852ds_mach_160_181_cf.4858ds_mach_183_cf.4864ds_mach_185_224_cf.4870ds_mach_243_cf.4876mach_243_dmp.4875mach_243_nf.4874mach_243_cf.4873mach_185_224_dmp.4869mach_185_224_nf.4868mach_185_224_cf.4867mach_183_dmp.4863mach_183_nf.4862mach_183_cf.4861mach_160_181_dmp.4857mach_160_181_nf.4856mach_160_181_cf.4855mach_131_144_dmp.4851mach_131_144_nf.4850mach_131_144_cf.4849mach_66_120_dmp.4845mach_66_120_nf.4844mach_66_120_cf.4843mach_36_63_dmp.4839mach_36_63_nf.4838mach_36_63_cf.4837mach_15_22_dmp.4833mach_15_22_nf.4832mach_15_22_cf.4831mach_0_11_dmp.4827mach_0_11_nf.4826mach_0_11_cf.4825ds_data_dump.4793ds_data_file.4794ds_data_nf.4792ds_data_cf.4791data_file.4790data_dump.4789data_nf.4788data_cf.4787ds_classes_dump.4757ds_classes_nf.4756ds_classes_cf.4755class_dump.4754class_nf.4753class_cf.4752globals.cmap_msg2strmap_vd2strmap_vd22str_conv_iter_msgarrstrproc.cconv_arg_alt.5520conv_arg.5519conv_arg.5539conv_arg.5557conv_arg.5570globals_machelf.ccef_cpcef_setupcef_wrapconv_arg.5544conv_arg.5567conv_arg.5585vernote.s../../include/sgs.h.endname.startnamedynamic_msg.celf_msg.cglobals_msg.cdynamic.cvda_cf.5518vda_nf.5520vda_def.5517vda_cfnp.5519vda_cf.5539vda_cfnp.5540vda_nf.5541vda_cfnp.5560vda_nf.5561vda_def.5558vda_cf.5559vda_cf.5579vda_cfnp.5580vda_nf.5581ds_null_cfnp.5605ds_null_dmp.5607retarr.5670ds_checksum_cfnp.5630ds_config_cfnp.5642ds_versym_cfnp.5648ds_relacount_cfnp.5654ds_gnu_prelinked_cfnp.5624ds_gnu_hash_cfnp.5636ds_null_cf.5604ds_checksum_cf.5629ds_config_cf.5641ds_versym_cf.5647ds_relacount_cf.5653ds_gnu_prelinked_cf.5623ds_gnu_hash_cf.5635ds_null_nf.5606ds_checksum_nf.5631ds_config_nf.5643ds_versym_nf.5649ds_relacount_nf.5655ds_gnu_prelinked_nf.5625ds_gnu_hash_nf.5637ds_sunw_auxiliary_cfnp.5618ds_auxiliary_cfnp.5668ds_sparc_reg_dmp.5663ds_sparc_reg_cfnp.5661ds_sdreg_cfnp.5612ds_sunw_auxiliary_cf.5617ds_auxiliary_cf.5667ds_sparc_reg_cf.5660ds_sdreg_cf.5611ds_sunw_auxiliary_nf.5619ds_auxiliary_nf.5669ds_sparc_reg_nf.5662ds_sdreg_nf.5613conv_arg.5785vda.5784conv_arg.5797vda.5796tags_null_cf.5600tags_sunw_auxiliary_cf.5614tags_checksum_cf.5626tags_config_cf.5638tags_versym_cf.5644tags_relacount_cf.5650tags_auxiliary_cf.5664tags_sparc_reg_cf.5656tags_sdreg_cf.5608tags_gnu_prelinked_cf.5620tags_gnu_hash_cf.5632tags_null_nf.5602tags_sunw_auxiliary_nf.5616tags_checksum_nf.5628tags_config_nf.5640tags_versym_nf.5646tags_relacount_nf.5652tags_auxiliary_nf.5666tags_sparc_reg_nf.5658tags_sdreg_nf.5610tags_gnu_prelinked_nf.5622tags_gnu_hash_nf.5634tags_null_dmp.5603tags_null_cfnp.5601tags_sunw_auxiliary_cfnp.5615tags_checksum_cfnp.5627tags_config_cfnp.5639tags_versym_cfnp.5645tags_relacount_cfnp.5651tags_auxiliary_cfnp.5665tags_sparc_reg_cfnp.5657tags_sparc_reg_dmp.5659tags_sdreg_cfnp.5609tags_gnu_prelinked_cfnp.5621tags_gnu_hash_cfnp.5633__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxcrtn.sconv32_invalid_val_END__finielfedit32_init_conv_iter_vd2conv_dyn_posflag1_stringsconv64_invalid_valconv_iter_dyn_feature1conv_ehdr_abivers__DTOR_END____sgs_msg_libconv_dynamicconv_strproc_trimconv_ehdr_flagsconv_ehdr_classconv_ehdr_osabi__dso_handlelink_ver_stringconv64_dyn_feature1conv32_dyn_feature1_conv_map_ds_conv32_expn_field_START___sgs_msg_libconv_elfconv_iter_dyn_flag1_conv_iter_ds_conv_iter_vd__sgs_msg_libconv_globalsconv_iter_ehdr_eident_conv32_expn_field2conv_reject_descconv_dyn_feature1_stringsconv_iter_strtol_init_conv64_expn_field2conv32_dyn_posflag1conv64_dyn_posflag1conv_iter_dyn_flag_lib_versionconv_dyn_flag_stringsconv_iter_strtolconv32_dyn_flag1conv_strproc_extract_valueconv32_dyn_flagconv64_dyn_flagconv_dyn_flag1_stringsconv_iter_ehdr_typeconv_iter_ehdr_versconv_iter_ehdr_dataconv_iter_ehdr_machconv64_dyn_flag1conv_dyn_tag_stringsconv_ehdr_dataconv_ehdr_machconv_ehdr_versconv_ehdr_type_conv64_expn_fieldconv_iter_dyn_tagconv32_dyn_tagconv64_dyn_tagconv_iter_ehdr_classconv_iter_ehdr_flagsconv_iter_ehdr_abiversconv_iter_ehdr_osabiconv_bnd_typeconv_iter_dyn_posflag1conv_strproc_isspaceconv_bnd_objelfedit_cpl_matchElf32_dyn_entryelfedit32_dynstr_insertelfedit64_initelf64_checksum_endelfedit_cpl_atoconst_etextelfedit64_dynstr_insertElf64_dyn_titleelfedit64_modified_data__register_frame_info_baseselfedit64_sec_msgprefixelfedit_command_usageelfedit_atoconstelfedit_printfelfedit64_sec_getdyn_edataelfedit32_sec_getdynelfedit64_dyn_offset_to_strelfedit_pager_initelfedit32_dynstr_getpadelfedit_array_elts_moveelfedit_flagselfedit32_offset_to_strelfedit_atoui_range_GLOBAL_OFFSET_TABLE_elfedit_getopt_initelfedit_atoconst_value_to_strstrncmpelfedit64_sec_findstrElf64_dyn_null_entryelfedit_array_elts_deleteSUNWprivate_1.1memcpyelfedit64_offset_to_strelfedit_atouielfedit_outstyle_DYNAMICstrncasecmpelfedit64_sec_getstrelfedit32_dyn_elt_saveelfedit_cpl_ndxelfedit32_sec_getstrelfedit64_dyn_elt_savegettextstrlcpystrlenelf32_checksumelfedit32_sec_msgprefixsnprintfelfedit32_sec_findstrelfedit32_test_osabielfedit64_test_osabielfedit64_dyn_elt_initelfedit32_modified_datastrcmpElf32_dyn_title_Jv_RegisterClassesisupperelfedit64_dynstr_getpadelfedit32_dyn_elt_init__deregister_frame_info_basesElf32_dyn_null_entryelfedit32_dyn_offset_to_strbzerotolowerelfedit_msgelfedit_getopt_PROCEDURE_LINKAGE_TABLE_Elf64_dyn_entry@(#)SunOS 5.11 titanic_53 July 2025.dynamic.eh_frame_hdr.eh_frame.SUNW_syminfo.hash.SUNW_ldynsym.dynsym.dynstr.SUNW_version.SUNW_versym.SUNW_dynsymsort.SUNW_reloc.rela.plt.text.init.fini.rodata.got.data.ctors.dtors.jcr.data.rel.local.data.rel.ro.data.rel.bss.note.symtab.strtab.comment.debug_abbrev.debug_info.debug_line.debug_loc.debug_pubnames.debug_aranges.debug_ranges.debug_str.shstrtabXX0 pDp"oB$0P6o D //L"55ToEEToEE8boEEooxFxF4HH`!Bjjoossf|@@PP `` 8@@ XXhhxx @@  `` `:8 (\#*% *