shm implemented as memfd syscall
zhangmeng
2023-07-27 157b3411dd123694ca29dd80fe9ecc683958ccab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
ELF>Р   @@0O@8    @$!@@@@@øø88@8@@@”” ÐÐ`Ð`ÀÈ èè`è`TT@T@DDPåtdD D @D @<<QåtdRåtdÐÐ`Ð`00/lib64/ld-linux-x86-64.so.2GNU GNU{dî£æHÑ¡ðÇ$ó³e{hŽˆÀ @    BEÕì»ã’|¸ñÙqXëÓïpŒ³%< é6¬  =- P ›ÔO `b˜ `† ¸@V `jÔ @libmemfd_shm.so_ITM_deregisterTMCloneTable__gmon_start___Jv_RegisterClasses_ITM_registerTMCloneTable_finiunix_domain_client_fd_initbasic_shm_mmapbasic_shm_unmmapsendfdbasic_shm_createlibpthread.so.0closelibstdc++.so.6_ZNSt6chrono3_V212steady_clock3nowEvlibc.so.6sprintfputs__stack_chk_failusleep__libc_start_main_edata__bss_start_end/home/basic/workspace/code/go/vaproc/repository/memfd/build/src2GLIBC_2.2.5GLIBCXX_3.4.19GLIBC_2.4Ä ui    ¨Ú iø—´ii Ãui    ¨ø` `  `( `0 `8 `@ `H `P `    X `
` ` h ` p `x `HƒìH‹5 H…ÀtèóHƒÄÃÿ5" ÿ%$ @ÿ%" héàÿÿÿÿ% héÐÿÿÿÿ% héÀÿÿÿÿ%
 hé°ÿÿÿÿ% hé ÿÿÿÿ%ú héÿÿÿÿ%ò hé€ÿÿÿÿ%ê hépÿÿÿÿ%â hé`ÿÿÿÿ%Ú h    éPÿÿÿÿ%Ò h
é@ÿÿÿÿ%Ê h é0ÿÿÿÿ% h é ÿÿÿÿ%2 f1íI‰Ñ^H‰âHƒäðPTIÇÀÐ @HÇÁ` @HÇǀ @è—ÿÿÿôfD¸— `UH- `HƒøH‰åv¸H…Àt]¿ `ÿàf„]Ã@f.„¾ `UHî `HÁþH‰åH‰ðHÁè?HÆHÑþt¸H…Àt ]¿ `ÿà]ÃfD€=     uUH‰åènÿÿÿ]Æö óÃ@¿à`Hƒ?u듸H…ÀtñUH‰åÿÐ]ézÿÿÿUH‰åHƒì0H‰}ØH‰uÐdH‹%(H‰Eø1À¾¿ä @è<þÿÿ‰Eìƒ}ì~hHƒ}Ðt
H‹EЋUì‰PHUð‹EìH‰Ö‰Çèþÿÿ…ÀŸÀ„Àt8‹f P‰] H‹Mð‰Â¾è @H‰Ï¸è±ýÿÿHUð‹EìH‰Ö‰Çè@þÿÿ‹Eìë¸ÿÿÿÿH‹MødH3 %(tèÂýÿÿÉÃUH‰åHƒì@‰}ÌH‰uÀdH‹%(H‰Eø1À¾¿ý @ècýÿÿ‰E؃}Ø$¿ @èÀýÿÿ¸ÿÿÿÿH‹UødH3%(„ëzÇEÔèjýÿÿH‰EàH‹EàH‰Eð¾¿èÅþÿÿ‰EЋEЅÀy‹EЉƿ. @¸èÑüÿÿëуEÔHMЋEغH‰Î‰Çè5ýÿÿ‰E܋EЉÇèhýÿÿ¿èýÿÿëžèçüÿÿÉÃDAWAVA‰ÿAUATL%^ UH-^ SI‰öI‰ÕL)åHƒìHÁýè'üÿÿH…ít 1Û„L‰êL‰öD‰ÿAÿÜHƒÃH9ëuêHƒÄ[]A\A]A^A_Ðf.„óÃHƒìHƒÄÃshmget_memfd set msg %d/tmp/memfd_shm.sockunix_domain_client_fd failedmemfd %d no exist
;8œûÿÿ„ŒüÿÿT‚ýÿÿ¬<þÿÿÌÿÿÿìŒÿÿÿ4zRx 0üÿÿ*zRx $ûÿÿàFJ w€?;*3$"DÎüÿÿºA†C µ dhýÿÿÛA†C Ö D„(þÿÿeBBŽE B(ŒH0†H8ƒM@r8A0A(B BBBÌPþÿÿ 
@ÄÚg ¸@ Ô @Ð`Ø`õþÿo˜@ø@Ð@
Í  `8€@h@    þÿÿoø@ÿÿÿoðÿÿoÆ@è`ö@    @    @&    @6    @F    @V    @f    @v    @†    @–    @¦    @¶    @GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609,Æ
@•     ·¶Æ
@•Ø8²-    o·/    E    intGE¨‡i$ ‹i•6    ìºi­•;w& K‚m ÂTãÃ[. Äb[Åi­B    ÛK
8 lenb fdb j std K. Ú Ú\    &E½Gl—HeiJ£©q_Tpe__vej    úEGl—HeZJO    Ùûw_Tpe__ve    0Ô    1ß    2ê    3õ    5        6         7        8"        :©    ;´    <¿    =Ê    ?d        @²    B}    Cˆ    D“    Ež    G-        H8        IC        JN        LÕ    Mà    Në    Oö    Qo        RY    
<¾
=É
>¤    
@4
 
A?
 
BY
 
Ct
 
 
 
 
 
 <Û_V2 Å}\ ów úla øÙnow ýú _ Å=    ô ñÔrep ói__r u‘ ü½Ã5   l×â5 !;   “ö5 b";     õA $5 !; "q % ‘<BG "         ’…Z`G "     }…x~G ""     #û    A –œ5 ""     *°    …´¿5 !b"J .A ×Ý5 "J 5E…õ5 !b"· 9A #5 !; "¢ @A ;F5 !; "ï GsA ^i5 !M ‘"c N²A †‘5 !M #} i…min m}…max q&…$«    i$Ž…% "Õ %…__d Tæ a )U S &a ,Â.9S !Y æ"1 8« æV\_ "· =‚e tS !Y "¢ Dæ
e —¢S !Y min Lt Ùmax Pµ Ù$ÔI$Ë…Ù    %E.G —Hiq J
ò$ _Tpi__viÛ    ‚    E‰G —HiÐJNJlr* _Tpi'__viʚ;3%B Ð(num0 )den0 ʚ;*ni+iʚ;%ú)num0 ʚ;(den0 +niʚ;*iç(num0 (den0 *ni,i Ýe. Þ ÞV    e½l 0?â1F- 3MZ78 ATc B[@CbÉEi L?b MF?NMÈP8v    ZTü\iÚ]iM^iu    g?ûi8Ùj8Lk8$z8Q†iP‡8dËè     ß
Ú
-tm8…4
6 ‡b ͈b ‰b  Šb ÷‹b ‹Œb ^
b uŽb æb  ñ    ’i( Y “§0.c½¾/‚Ö    Y
!É!É/ÇÉn
!n
¤    /ïÀɉ
É0쏥
«
¤    0îÆ
Ì
É/3
ïn
æ
/ón
û
/ÄÍ- !!-!§!¥
i.‰d    …1Ô1…Ô1iÙ19Õ1Ù2Z bÆ
@ºœÖ 3­ ‘H4msg K‘@5fd b‘\6ý
@h7ÔÖ ‘`?8²!b€ @Ûœ„ 3W!b‘¼3= !„ ‘°Q27þ#b‘H7q)b‘D5s,Ù‘P5e-Ù‘`6ò @`5fd1b‘@5ret?b‘L§5idx b    ” `9vf
9γ
9›Ö :¨6ʚ;9çN:?`ʚ;:Ý×ʚ;9í:
9ë9(O% : ; I$ > $ >   I&I: ;I     : ; 
 : ;  : ; I : ; I8 I8 9: ; 9: ; :: ;  : ; I?<.?: ; nI<dI4/I0I : ; 9: ; 9: ; : ; : ;I?< .?: ;nI<:: ;: ; I : ;I8 2 .?: ; n<d .?: ;n<d!I".?: ;nI<d#.?: ;nI<$/I% : ;&.?: ;n<cd'0I( : ;I?< ) : ;I?<*0I +0I,0I - : ; ..?: ; I</.?: ; I<0.?: ;I<1 I2.: ; I@–B3: ; I4: ; I54: ; I6 74: ; I8.?: ; I@–B94Gn :4GnQùû /home/basic/workspace/code/go/vaproc/repository/memfd/sample2/usr/lib/gcc/x86_64-linux-gnu/5/include/usr/include/x86_64-linux-gnu/bits/usr/include/usr/include/x86_64-linux-gnu/sys/home/basic/workspace/code/go/vaproc/repository/memfd/src2/usr/include/c++/5/usr/include/x86_64-linux-gnu/c++/5/bitscli_snd.cppstddef.htypes.hunistd.htime.htypes.hepollfd_shm.htype_traitscstdintctime<built-in>chronoc++config.hratiostdint.h    Æ
@ òå!mt¡‘'ZYäwäå!gŸ+XXJw‘†!u
XL„ lž"._Denlocaltimevaluetm_hoursize_tuintptr_t__cxx11_ZNSt5ratioILl1ELl1000000000EE3denEuint64_toperator/=_Num_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEmLERKllong long unsigned intstrftimetm_minaddruint_fast32_tratio<1l, 1l>_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEaSERKS3_time_since_epochlong long intuintmax_toperator std::integral_constant<bool, true>::value_type_ZNKSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEpsEvchar16_t_Clockfd_msguint16_t_ZNSt5ratioILl1ELl1EE3numE~durationGNU C++11 5.4.0 20160609 -mtune=generic -march=x86-64 -g -O0 -std=c++11 -fstack-protector-strongcountis_steadytime_point<std::chrono::_V2::steady_clock, std::chrono::duration<long int, std::ratio<1l, 1000000000l> > >__intptr_ttm_monsock_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEpLERKS3_uint_least32_t_ZNKSt17integral_constantIlLl1000000000EEcvlEvzerodifftimetm_year_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEED4Ev_Duroperator std::integral_constant<long int, 1000000000l>::value_type_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEmIERKS3__ZNSt5ratioILl1ELl1EE3denEdatashort unsigned int_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEpLERKS6_tm_isdstoperator*=ratio<1000000000l, 1l>_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE4zeroEvuint_fast64_tget_memfdwchar_t_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC4ERKS3___clock_t_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEdVERKlasctimeduration<long int, std::ratio<1l, 1000000000l> >integral_constant<long int, 1l>sizetype_ZNSt17integral_constantIlLl1EE5valueEtm_yday_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE3minEvoperator+=_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC4ERKS6_integral_constant<bool, false>_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEmmEi_ZNKSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEngEv/home/basic/workspace/code/go/vaproc/repository/memfd/build/sample2integral_constant<bool, true>_Periodfloat_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE3maxEv_ZNSt17integral_constantIlLl1000000000EE5valueE_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEmmEvuint_least64_t_ZNSt5ratioILl1000000000ELl1EE3numEuint_fast16_toperator+operator-booloperator++unsigned charoperator=short int_ZNKSt17integral_constantIbLb1EEcvbEvuint_fast8_tintegral_constant<long int, 1000000000l>_Rep_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEppEichar32_ttm_gmtoff_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEppEvgmtime_ZNSt5ratioILl1000000000ELl1EE3denEtm_wday_ZNSt17integral_constantIbLb0EE5valueE_ZNKSt17integral_constantIlLl1EEcvlEv_ZNSt17integral_constantIbLb1EE5valueElong double_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEmIERKS6_operator--_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC4Ev_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEE3maxEvuint_least8_t_ZNKSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE5countEvuint_least16_toperator std::integral_constant<long int, 1l>::value_type_ZNKSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEE16time_since_epochEvtm_mday__time_tuint32_ttm_secargvratio<1l, 1000000000l>tm_zonetime_pointuint8_t_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEE3minEv_ZNSt5ratioILl1ELl1000000000EE3numE_ZNSt6chrono3_V212steady_clock3nowEv_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC4Evargcsteady_clockoperator std::integral_constant<bool, false>::value_typeoperator-=argsmain/home/basic/workspace/code/go/vaproc/repository/memfd/sample2/cli_snd.cppchronomktime__gnu_cxx_ZNKSt17integral_constantIbLb0EEcvbEv8@T@t@˜@Ð@ø@Æ@ø@    h@
€@ ¸@ à@ À    @Р   @Ô @à @D @€ @Ð`Ø`à`è`ø` `€ ` ` ñÿ à`
@@
@.€
@D `SØ`z 
@†Ð`¥ñÿ±” `¹Æ
@ºñÿѐ@ßà`ñÿëD @þè`Ø`Ð`+ `BAV `' € `]à @l€ @Ûqˆ `~¡Ô @”+Р   @*£´u ¸@А `Ü ð%€ `˜ `2FM `Yk` @e{ —Ð @§Æ Õ ïcrtstuff.c__JCR_LIST__deregister_tm_clones__do_global_dtors_auxcompleted.7594__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entrycli_snd.cpp_ZL3idx_ZL9get_memfdPvP6fd_msg__FRAME_END____JCR_END____GNU_EH_FRAME_HDR_DYNAMIC__init_array_end__init_array_start_GLOBAL_OFFSET_TABLE_sprintf@@GLIBC_2.2.5_edata_IO_stdin_usedmain__dso_handleunix_domain_client_fdbasic_shm_mmapbasic_shm_create__stack_chk_fail@@GLIBC_2.4__TMC_END___Jv_RegisterClasses_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19__data_startusleep@@GLIBC_2.2.5sendfd__bss_startputs@@GLIBC_2.2.5__libc_csu_init_ITM_deregisterTMCloneTable__libc_csu_fini__libc_start_main@@GLIBC_2.2.5__gmon_start___ITM_registerTMCloneTablebasic_shm_unmmapclose@@GLIBC_2.2.5.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.jcr.dynamic.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str8@8#T@T 1t@t$Döÿÿo˜@˜8N Ð@Ð(Vø@øÍ^ÿÿÿoÆ@Æ.kþÿÿoø@øpzh@h„B€@€8ޏ@¸‰à@àà”À    @À    Р   @Р   £Ô @Ô     ©à @à a±D @D <¿€ @€ ÉÐ`ÐÕØ`Øáà`àæè`è˜ø`øï ` €ø€ `€ þ ` 0 5 Å 0õ  '.?5A1UA0–3?ãMLØBø#6    ÐJ