ELF>@@8 @%$@@@P P U=U=PPP((l||0Pl||888 XXXDDStd888 PtddadadaQtdRtdl||  /lib64/ld-linux-x86-64.so.2GNUGNU[3H@)V*e UGNU!!"em9V3#  ;mE+w}% @^4 f" libc.so.6strcpyexitsrandfopenstrncmpstrrchrstrncpyputstime__stack_chk_failputcharreallocstrdupstrchrnulfgetscallocstrlenstrstrfclosemallocstrcatstderrstrchrfprintf__cxa_finalizestrcmp__libc_start_mainsnprintffreeGLIBC_2.4GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableii ui ||`! "~ (0 8 @ H P X`hpx HHoHtH5n%nhhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1%mD%lD%lD%lD%lD%lD%lD%lD%lD%lD%lD%lD%lD%lD%lD%}lD%ulD%mlD%elD%]lD%UlD%MlD%ElD%=lD%5lD%-lD%%lD%lD%lD1I^HHPTLf9H 8H=S/kH=lHlH9tHkHt H=kH5kH)HH?HHHtHkHtfD=ku+UH=kHt H=kidk]wUHH H}HuyHEH}Ht?H>kL 7;L LH*;H55;HǸfHEHUHHEHPHEHPHEHUHPHEH@HUHPHEHUHPUHHH}HEH@HUHRHPHEH@HUHRHPHEH\UHHH}uHEH5=HGuEt CHEH5=Ht.HEH5=HtHEH5=Hu HEH5=HtHEH5=Hu HEH5t=HtHEH5c=H~u HEH5J=H]tHEH5B=HFu LHEH5*=H%tHEH5=Hu HEH5<HtHEH5<Hu HEH5<Ht.HEH5<HtHEH5<Hu HEH5<Hft.HEH5<HOtHEH5<H8uAHEH5<Hu #HEH5j<Hu  UHH H}EH}tHEHHdHEHHPHEHHEH< tHEH< tHEH<,tHEH<'tHEH<;tHEH< tHEH< tEHEHHEHEHEHHm}HEHEHH< tHEHEHH< tHEHEHH<,tHEHEHH<'tHEHEHH<;nHEHEHH< THEHEHH< :UHSH(H}HuEH}t HEHHuzHEؾH'H}tNHEHnHHEHHMHHu%HEHHEH>HHEHEHEؾHEH([]UHH H}ЉʈUEE:EuUHEHJUHEHHEUHEHHEHEH;Eu HEH9EHFEUHSH(H}HuHEоHHEH@`H*HEH5O9HHEH@pHuH=299HHEHPp5HEHPpHHHƸHHHHHf, @HEH@pHHEH؃ EEHcHEH@pHHxHUHBpHEH@pHHt>H#dUAL6EH4H5k8HǸLHUHEH@pHH%H([]UHSHH $HH $HHxHpdH%(HE1HDžHDžHDžHDžHDžHDžHHHHpH Hx@_HpH57HqHHtBHHpHxHHHHHpHx@_YHpHHpHHpHp<*tHpHxHHGHpH56HHH3HHHHHH56HhHHHHHHxHHxHpHpHHHDž2HcHHЋHcHHHcHHHH9rHpHxHHH Hx@_HHxHHHpH5p5HQHHt+HHHHxHHeHpHHp{;HHHtMHHt7HHHHHHHpHHpHp<#HpH5r4HlHxH@`HHuHxH@hHHtuHx@]HtuHx@^HtuHx@XHtHHxH_AL@xH/H53HǸAHx@]Hx@]Hp{H/HmHx@XPHxPXHx@]hHHxHPhHxH@hHHt?HL^L 3LF?H8.H5C.HǸtHxHPhHxH@hHHHPPHxHRhH@PHBXHxH@hH@HHxH@h@`HxH@h@d~HxH@hHbHpH5g2HHx@XPHxPXHpHPHpH<]IL:>H,-H52HǸHpHxHRhHJ@HHHx@PHHxJPHxHRhHxH@hHxHHH0HxH@hjHpHHpHH= HHHt HDSHHHt?H\L 1L =H+H5 ,HǸ:Hx@HHHxJHHHpHHJ@HHHxH@hHPHHHHHxH@hPdPdHxH@h@`HxH@hHP`HpH560HHx@XHuHxH@`HHtHHxHZAL;H*H5/HǸHx@^Hx@XtMHxH@`HYHp}HHHx@XPHxPXHp{HHHx@XPHxPXHx@^Hx@^hHHxHP`HxH@`HHt?HYL .L:H)H5)HǸzHxHP`HxH@`HHHPPHxHR`H@PHBXHxH@`H@HHxH@`@` HpH5m.HuHx@XPHxPX HpH5-HeOHx@XHtHHxHXAL9H(H5-HǸlHx@XPHxPXHx@X HxH@`H HpH5-HHpHHpHH HHHtHHHHHWIL8H'H5;-HǸ~HHxHR`HJ@HHXHx@LHHxJLHxHR`HxHP`HxHHHxHP`HxHPxHxH@`HxH@pHH HxHPpHVIL7H&H5~,HǸHxH@pHfHxH@pH HpH5b,HLukHx@\HtHHxH1VAL/7H!&H5,HǸ]Hx@\ DžHp[HHHHHp[HEHHt{HHp[HHHtHHxH=UAL;68H-%H5X+HǸ Hp*HHHH Hp*HkHHt{H Hp*H5HHtHHxHcTALa5LHS$H5*HǸ91 Hp HHHx@\HHtHHxHSAL4TH#H5)HǸHx@\H9'HHpHHHtXHxHpHLSHRILE4ZH7#H5)HǸHoHHpHHHHHH5)HkHHHHHH5[)H-uBH<9-Henum_obj}I: %s(%d) [%s]: adding enum %s enum_valuetypedef structE: %s(%d) [%s]: failed to parse struct at %d ctx->struct_objunion {E: %s(%d) [%s]: } not paired at %d __attribute__((packed))I: %s(%d) [%s]: adding struct %s E: %s(%d) [%s]: unhandled desc: '%s' _BoolE: %s(%d) [%s]: failed to parse bool at %d E: %s(%d) [%s]: array too dep at %d E: %s(%d) [%s]: pointer too dep at %d E: %s(%d) [%s]: parse member error from '%s' at %d constarray_ptr_array_objW: %s(%d) [%s]: 64 bit type might have precision issue! E: %s(%d) [%s]: dep pointer only for string at %d E: %s(%d) [%s]: pointer array only for string at %d #include #include "j2s.h" #define J2S_MAGIC %d #define J2S_NUM_OBJ %d #define J2S_NUM_STRUCT %d #define J2S_NUM_ENUM %d #define J2S_NUM_ENUM_VALUE %d static void _j2s_init(j2s_ctx *ctx) { j2s_obj *obj; static j2s_obj objs[J2S_NUM_OBJ]; static j2s_struct structs[J2S_NUM_STRUCT]; static j2s_enum enums[J2S_NUM_ENUM]; static j2s_enum_value enum_values[J2S_NUM_ENUM_VALUE]; ctx->magic = J2S_MAGIC; ctx->priv = NULL; ctx->objs = (j2s_obj *)&objs; ctx->structs = (j2s_struct *)&structs; ctx->enums = (j2s_enum *)&enums; ctx->enum_values = (j2s_enum_value *)&enum_values; ctx->num_obj = J2S_NUM_OBJ; ctx->num_struct = J2S_NUM_STRUCT; ctx->num_enum = J2S_NUM_ENUM; ctx->num_enum_value = J2S_NUM_ENUM_VALUE; #ifndef J2S_ENABLE_DESC ctx->num_desc = 0;#else static const char *descs[J2S_NUM_OBJ]; ctx->descs = (const char **)descs; ctx->num_desc = J2S_NUM_OBJ;#endif I: %s(%d) [%s]: root struct: %s ctx->root_index = %d; obj = &ctx->objs[%d]; strcpy(obj->name, "%s"); obj->type = %s; obj->flags = 0 | J2S_FLAG_ARRAY| J2S_FLAG_POINTER| J2S_FLAG_DEP_ARRAY| J2S_FLAG_DEP_POINTER| J2S_FLAG_ARRAY_POINTER; obj->offset = (uintptr_t)&((%s*)0)->%s; obj->elem_size = sizeof(((%s*)0)->%s[0]); obj->elem_size = sizeof(((%s*)0)->%s); obj->base_elem_size = sizeof(((%s*)0)->%s[0][0]); obj->base_elem_size = obj->elem_size; obj->num_elem = (sizeof(((%s*)0)->%s) / obj->elem_size); obj->num_elem = 1;%s_lenE: %s(%d) [%s]: missing %s E: %s(%d) [%s]: %s should be int obj->len_index = %d; obj->next_index = %d; obj->struct_index = %d; obj->enum_index = %d; default=E: %s(%d) [%s]: invalid default enum %s for %s #ifdef J2S_ENABLE_DESC ctx->descs[%d] = "%s"; #endif strcpy(ctx->structs[%d].name, "%s"); ctx->structs[%d].child_index = %d; strcpy(ctx->enums[%d].name, "%s"); ctx->enums[%d].value_index = %d; ctx->enums[%d].num_value = %d; strcpy(ctx->enum_values[%d].name, "%s"); ctx->enum_values[%d].value = %s; E: %s(%d) [%s]: usage: %s [root struct] I: %s(%d) [%s]: start parsing %s rE: %s(%d) [%s]: failed to open %s I: %s(%d) [%s]: finished parsing %s E: %s(%d) [%s]: unknown type '%s' at %d I: %s(%d) [%s]: specified root struct: %s E: %s(%d) [%s]: no root struct! j2s_list_addmainj2s_parsej2s_handle_commentj2s_dump;\E4CT¶tX  @ldzRx /D$4FJ w?:*3$"\t)EC  GEC ~ AC z FAC   AC E 0KAC |  PhAC E^  tAC `  AC    EC  DeFIE E(D0H8G@n8A0A(B BBB$(`  HM||o N ~  oooo^o|0@P`p 0@P`pGCC: (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0,'8p '8w7yint^ ^=BW1$ t3W !6  I7  |8  .9  P: ( %; 0 =< 8 {= @ @ H A P *B X 7D=` .FCh ]HWp IWt J ex M4 NI WOI QY Y q [d \o ]C 4^ } J_ `W `bu[ L+ #8 Y B0 _ j  B.$i W  W  !: $ 2 W 7 W ; W; Zk;A `   1 gX; ieW@ o  B   W  ^"  W ^   W  } } j}YhF idGW H I H aJW` VKWd  B?LDO idPW QRhU hidVW W X H YW`&Z+] id^W _ `D a  ub  d f} Vg i j  k} mWh5ntq $ r  s  t 0 QvWH wWL hxWP yWT {WX }$\ *~$] $^ $_ `  h p xfp Wq31 M B B?7 M P)W;C AWp AA obj GȾctx +оbufM^n a% ^B n B^ <5  ctx  AAU  obj GȿW^ Xa7;o T GпU >Sptrn ؿ>bufw Mx + B WX ctx buf#U  obj Gu  Mпptr!!!!out4^ (a$ )3Y A _iN W"u U ȿ4.A G B  #Dh $ctx" H$buf-@%{W\^ @a  B &uo $buf X$a0T$b>P'p1`'p2 h&W $bufH(+@'retW\#&7 $bufX($$T'i Wl& x (%h(u4d)o&`G (&Ah)(AX()}P% Ah^ a  B % $ > $ > : ; 9 I  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<!4: ;9 I?<> I: ; 9 (  : ; 9  : ; 9 I8 4: ; 9 I?.?: ;9 'I@B: ;9 I4: ;9 I4: ;9 I4I4!I/.: ;9 '@B: ;9 I   .: ;9 'I@B! : ;9 " U#.: ; 9 '@B$: ; 9 I%4: ; 9 I&.: ; 9 'I@B'4: ; 9 I(: ; 9 I).?: ; 9 '@B/ tools/usr/include/x86_64-linux-gnu/bits/usr/lib/gcc/x86_64-linux-gnu/9/include/usr/include/x86_64-linux-gnu/bits/types/usr/includeincludeparser.ctypes.hstddef.hstruct_FILE.hFILE.hstdio.hsys_errlist.hunistd.hgetopt_core.hcommon.htime.h/ =?! $>)"K)"K;<. Ke L. J.K5- L.)J%. K.!J. K.*J&. K.J. K.(J$. K. J.K:- L.K%-.K*. Ku. Ku. K wY11 t/ t Jt <</ t A;J+( +JX X X s <%42vt t Ywt%K tx =Axw >YZ v21 . Y 5 .).<>f X>o? (w2  - ?  u =/ M  "  t  / ..<*-t$J [=K  DXtXJ . t XJ.tXJfH < ?Duu [X>8tJ%!/Z^=  .?'tZ< h<(?\XfH  K<[<  <?Du\XK \XfH  [ =  v8tJ)#/#^^XK.H[ w  v"H v  v"H .H0.XwY=?X NJ K< JvxXXHX HJ K< J v K  Kw yXHXHXHX Hu KH KXHY.?   t t /  f K Z$Zv .X H KLXH <K"[& IM X}.<?<,# .V*1t$7&1D :&&%%%#xt1t!h4 i+'+ E?   uJI f ]? 6%#  %#X <.\qf1t?(#  J83<%;1>7 #>7>6<7;1v7 >Y__off_tJ2S_TYPE_INT_8short int_IO_read_ptr_chainj2s_objsize_tj2s_handle_comment_shortbufvalue_idprevj2s_list_del_IO_read_baseJ2S_TYPE_STRINGentrylong long unsigned intj2s_flagvaluesJ2S_FLAG_DEP_POINTERenum_objstdoutstrip_tailsnextJ2S_TYPE_INT_16__timezonelong long intj2s_structj2s_typeoptargtmp_obj_IO_read_endparent_filenoJ2S_FLAG_ARRAY_flags_IO_buf_end_cur_column_IO_codecvtj2s_typesstruct_obj_sys_errlistenums_old_offsetJ2S_FLAG_DEP_ARRAYtype_warn_oncelinepending_structj2s_dumpJ2S_TYPE_UINT_16_IO_markerstdin_freeres_bufJ2S_TYPE_FLOAT_IO_write_ptr__FUNCTION__J2S_TYPE_UINT_8sizependingj2s_parse_typedepth_IO_save_baselen_namej2s_listroot_struct_lock_flags2_modej2s_list_addj2s_enumJ2S_TYPE_STRUCTtype_namegetdate_erroptinddesc_IO_write_endj2s_ctxJ2S_TYPE_UINT_32_IO_lock_t_IO_FILEJ2S_TYPE_DOUBLEGNU C17 9.3.0 -mtune=generic -march=x86-64 -g -O0 -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protectionchild_id__environ__daylightnum_structpending_enum_markersJ2S_FLAG_ARRAY_POINTERJ2S_FLAG_POINTERnum_enum_Boolunsigned charchildmagic_IO_wide_data_sys_nerr_vtable_offsetobjsheadoptopttools/parser.cJ2S_TYPE_INT_32J2S_TYPE_INT_64opterrj2s_parse__off64_tstructsj2s_enum_value_IO_save_endshort unsigned int__pad5num_enum_value_unused2stderrargvstrchr_firstparse_pattern/home/xianlee/workspace/staging/j2s_IO_backup_baselen_objargc_freeres_liststrip_spacesJ2S_TYPE_UINT_64startpending_commentpending_bool__tznamemain_IO_write_base_IO_buf_base FA D 8X|^     HMPdaa|||~  !  !`7(F|my|a &oh@aX(a +)?<5 HXa Zal$dz|||da~ @M1 y MasHMP@=Pcw P`GLe0}/(=I;C Nau "> crtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.8060__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryparser.c__FUNCTION__.4335j2s_parse_typestrip_spacesparse_patternstrchr_firstj2s_handle_comment__FUNCTION__.4423j2s_parse__FUNCTION__.4446type_warn_once.4448j2s_dump__FUNCTION__.4460__FUNCTION__.4498__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finifree@@GLIBC_2.2.5putchar@@GLIBC_2.2.5strncpy@@GLIBC_2.2.5strncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTablestrcpy@@GLIBC_2.2.5puts@@GLIBC_2.2.5strchrnul@@GLIBC_2.2.5_edatafclose@@GLIBC_2.2.5strlen@@GLIBC_2.2.5__stack_chk_fail@@GLIBC_2.4strchr@@GLIBC_2.2.5snprintf@@GLIBC_2.2.5strrchr@@GLIBC_2.2.5j2s_types__libc_start_main@@GLIBC_2.2.5srand@@GLIBC_2.2.5fgets@@GLIBC_2.2.5calloc@@GLIBC_2.2.5__data_startstrcmp@@GLIBC_2.2.5fprintf@@GLIBC_2.2.5__gmon_start____dso_handlej2s_list_add_IO_stdin_usedtime@@GLIBC_2.2.5j2s_list_del__libc_csu_initmalloc@@GLIBC_2.2.5realloc@@GLIBC_2.2.5__bss_startmainfopen@@GLIBC_2.2.5strcat@@GLIBC_2.2.5exit@@GLIBC_2.2.5__TMC_END___ITM_registerTMCloneTablestrdup@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5strstr@@GLIBC_2.2.5stderr@@GLIBC_2.2.5.symtab.strtab.shstrtab.interp.note.gnu.property.note.gnu.build-id.note.ABI-tag.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_ranges#88 6XX$I|| Wo(a HiNqo^^F~o0B   9HMHM PPa dadaaa8|l|l|l~n p  p 0p*:p0)jp5~C O0JZM0 #A HMh