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
73
74
ELF>€    @@ÐO@8    @%"@@@@@øø88@8@@@ô ô  ÐÐ`Ð`¸À èè`è`TT@T@DDPåtdÈ È @È @44QåtdRåtdÐÐ`Ð`00/lib64/ld-linux-x86-64.so.2GNU GNUÃd;Å,é+?ùšZÖ„¸ýF¹ˆÀ @    BEÕì»ã’|¸ñÙqXëÓï$pŒ < Ø+› 2- P ¢ÃDˆ `W `† x@Kˆ `jT @libmemfd_shm.so_ITM_deregisterTMCloneTable__gmon_start___Jv_RegisterClasses_ITM_registerTMCloneTable_finiunix_domain_client_fd_initbasic_shm_mmaprecvfdbasic_shm_unmmaplibpthread.so.0closelibstdc++.so.6_ZNSt6chrono3_V212steady_clock3nowEvlibc.so.6puts__stack_chk_failprintfmemsetusleep__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 `HƒìH‹u H…ÀtèãHƒÄÃÿ5b ÿ%d @ÿ%b héàÿÿÿÿ%Z héÐÿÿÿÿ%R héÀÿÿÿÿ%J hé°ÿÿÿÿ%B hé ÿÿÿÿ%: héÿÿÿÿ%2 hé€ÿÿÿÿ%* hépÿÿÿÿ%" hé`ÿÿÿÿ% h    éPÿÿÿÿ% h
é@ÿÿÿÿ%
 h é0ÿÿÿÿ%‚ f1íI‰Ñ^H‰âHƒäðPTIÇÀP @HÇÁà @HÇÇv
@è—ÿÿÿôfD¸ `UH-ˆ `HƒøH‰åv¸H…Àt]¿ˆ `ÿàf„]Ã@f.„¾ˆ `UHîˆ `HÁþH‰åH‰ðHÁè?HÆHÑþt¸H…Àt ]¿ˆ `ÿà]ÃfD€=Q uUH‰åènÿÿÿ]Æ> óÃ@¿à`Hƒ?u듸H…ÀtñUH‰åÿÐ]ézÿÿÿUH‰åHì ‰½lÿÿÿH‰µ`ÿÿÿdH‹%(H‰Eø1À¾¿d @è$þÿÿ‰E„ƒ}„¿x @èqþÿÿ¸ÿÿÿÿéóDž|ÿÿÿè(þÿÿH‰EH‹EH‰E º@HE°¾H‰ÇèÆýÿÿHM°‹E„ºH‰Î‰Çèþÿÿ‰Eˆƒ}ˆy‹Eˆ‰Æ¿• @¸èƒýÿÿ뵃…|ÿÿÿ‹E°HU¨H‰Ö‰Çè™ýÿÿ‰EŒƒ}Œ‹E„‰Çèþÿÿ¸ë[H‹U¨‹EŒ‰Æ¿¨ @¸è7ýÿÿHU¨‹EˆH‰Ö‰ÇèÆýÿÿÇE€ƒ}€‹E€H˜‹D…°‰Çè¹ýÿÿƒE€ëä¿ NèYýÿÿé(ÿÿÿH‹MødH3 %(tè ýÿÿÉÃf.„@AWAVA‰ÿAUATL%Þ UH-Þ SI‰öI‰ÕL)åHƒìHÁýègüÿÿH…ít 1Û„L‰êL‰öD‰ÿAÿÜHƒÃH9ëuêHƒÄ[]A\A]A^A_Ðf.„óÃHƒìHƒÄÃ/tmp/memfd_shm.sockunix_domain_client_fd failedmemfd %d no exist
======>> mmap len %d msg %s
;4Øûÿÿ€¸üÿÿP®ýÿÿ¨ÿÿÿȈÿÿÿzRx `üÿÿ*zRx $PûÿÿÐFJ w€?;*3$"Dþüÿÿ\A†C W DdHþÿÿeBBŽE B(ŒH0†H8ƒM@r8A0A(B BBB¬pþÿÿP
@0
@³Éý\ x@ T @Ð`Ø`õþÿo˜@à@Ð@
  ` X@@@    þÿÿoÐ@ÿÿÿoðÿÿo¢@è`¶@Æ@Ö@æ@ö@    @    @&    @6    @F    @V    @f    @GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609,v
@\Ø 4év
@\stdf6ÚÚ8K¹RãUý[\4]S^q_`®YEØGt    Hm        àJJœ¾Ä
y     _Tpm     __vm     …-E0Gt    Hm        }J¾    ô
     _Tpm     __vm     Ý03    1>    2I    3T    5    
6
7
8*
:±    ;¼    <Ç    =Ò    ?l
@    B…    C    D›    E¦    G5
H@
IK
JV
LÝ    Mè    Nó    Oþ    Qw
Ra
<    =(    >¬
@< AG Ba C| D— E¸ FÙ Gî H 2<ö_V2ŘÓó›út    Ø øônowýqzÅXñïrepóé__ru¬+ü–ØÞ
= +òý
= C *·
=
 n    x    I 4?
= C •œ ¬W]
O <    µ u{
O F    ° “™
O U    #j
I ±·
= U    *
 ÏÚ
=  ¹ .ÃI òø
= ¹ 5x 
=  Ú9'I 3>
= C @7I Va
= C G‚I y„
= U ¬rNÕI ¡¬
= U ¡i> minm  maxqY 
éK©  ¥"ð+% __dTØ )Ä /5
[ Ø ,åIT
[ a M8" qw
g Ú=¯m š
[ a DU m ²½
[ a minLë ômaxP, ôŽdï  ôHEIG' Hé    è Jü
/5
, _Tpé __vé öñ    E¤G' Hé    ôJre‡
2 _Tpé__véʚ; N¹     ë num    8 !den    8 ʚ;"}é#éʚ;'    -!num    8 ʚ; den    8 #}éʚ;"éö     num    8  den    8 "}é$é@݀6ÞÞq%
؋%Á%h%œ&int'´%i     ­(l JlÜÜÜ €'â)*I “ ý§§+$ ˜ '­+î W4§*þ –€S§€(• Օ§q§ ,˜ $˜§§§(Q ðQ§®§ ,k ?k§Í§§%`    %Æ%b    %´    %cË ‡é› ‹é ºé     Í;ð Kûä ÂÛÃ⥠ĠcÅé%¼%^%P     m    'Ø'0ã 0Í1™¤ 3Ôb7‹ AÛÚ BâdC üEéŽ LÍÙ M™cNÔûP‹å    ZÛ/    \éé]éz^éä    gÍ.    i‹èj‹yk‹,z‹t†és‡‹%‡%õ%W
%S%N %I -tm8…< .­ ‡ .܈ .‰ .“ Š  .‹ .¯Œ .Í
 .Ž .  .`
’é(.Ð “§0/Ú½    *¦Þ
a (    (    *9Ç(    v v '¬
*À(    ‘ ‘ '(    +­ ­ '³ ¬
+Î Î 'Ô (    *¢
ïv î Î *óv  Î *Ó̀' €§­ é'I'¤ l
' 0ï0 'ï0„'ô0T'ð0ô1-  v
@\œR 2Î  ‘Ü~2´  R ‘Ð~BM3" ‘ô~3• ‘ì~4sô‘€4eô‘53$ X ‘ 4fd ‘ø~3ã,h ‘˜4len- ‘ü~6Š @#4i1 ‘ð~'§7 h 8’'Í9‘Õ
9é" 9¶M:Ã>ʚ;9q:Z“ʚ;:ø
    Êš;9©
969Cs% 9: ; 9: ; :: ; : ;  : ;  : ; I?<: ; I    .?: ; nI<d
I4 /I 0I &I9: ; 9: ; : ; : ;I?< : ;I.?: ;nI<:: ;: ; I : ;I8 2 .?: ; n<d.?: ;n<dI.?: ;nI<d.?: ;nI</I : ;.?: ;n<cd0I  : ;I?< ! : ;I?<"0I #0I$0I %$ > &$ > ' I(.?: ; nI<)&*.?: ; I<+.?: ;I<,.?: ;nI<- : ; . : ; I8 /.?: ; I<0 I1.?: ; I@–B2: ; I34: ; I44: ; I5 U6 7I8!I/ 94Gn :4GnÃû /home/basic/workspace/code/go/vaproc/repository/memfd/sample2/usr/include/c++/5/usr/include/x86_64-linux-gnu/c++/5/bits/usr/lib/gcc/x86_64-linux-gnu/5/include/usr/include/usr/include/x86_64-linux-gnu/bits/usr/include/x86_64-linux-gnu/sysclient.cppcstringtype_traitscstdintctime<built-in>chronoc++config.hratiostddef.hstring.htypes.hunistd.htime.htypes.hstdint.h    v
@ tå!gŸ¡¡‘‡Yƒg
Xw=f ntutgñifž(Xä_Denlocaltimevaluetm_hourtm_ydaysize_tuintptr_t__cxx11_ZNSt5ratioILl1ELl1000000000EE3denEuint64_tstrstroperator/=_Num_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEmLERKllong long unsigned intstrftimetm_minaddruint_fast32_tratio<1l, 1l>/home/basic/workspace/code/go/vaproc/repository/memfd/sample2/client.cpptime_since_epochlong long intmemchruintmax_toperator std::integral_constant<bool, true>::value_type_ZNKSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEpsEvstrtokchar16_tstrxfrmuint16_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__ZNSt5ratioILl1ELl1EE3denE_Clockstrchrshort unsigned int_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEpLERKS6_tm_isdstoperator*=ratio<1000000000l, 1l>_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE4zeroEvuint_fast64_twchar_t_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC4ERKS3___clock_t_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEdVERKlasctimeduration<long int, std::ratio<1l, 1000000000l> >integral_constant<long int, 1l>sizetype_ZNSt17integral_constantIlLl1EE5valueEstrpbrk_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE3minEvoperator+=_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC4ERKS6_strcollstrrchrintegral_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=_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEaSERKS3_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_8durationIlSt5ratioILl1ELl1000000000EEEEEC4Evrecvfds_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-=strerrormainchronomktime__gnu_cxx_ZNKSt17integral_constantIbLb0EEcvbEvnÚëA8@T@t@˜@Ð@à@¢@Ð@    @@
X@ x@  @ p    @€    @T @` @È @ @Ð`Ø`à`è`ø` `x `ˆ ` !ñÿ à`°    @ð    @.0
@Dˆ `SØ`zP
@†Ð`¥ñÿñÿ°ð @¾à`ñÿÊÈ @Ýè`æØ`÷Ð`
 ` 4ˆ ` x `;` @Jv
@\Oc€ `p‚T @† €    @*•V x@±ˆ `½ Ñx `ò `'.ˆ `:Là @e\ xP @ˆ§ ¶ Ðácrtstuff.c__JCR_LIST__deregister_tm_clones__do_global_dtors_auxcompleted.7594__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryclient.cpp__FRAME_END____JCR_END____GNU_EH_FRAME_HDR_DYNAMIC__init_array_end__init_array_start_GLOBAL_OFFSET_TABLE_printf@@GLIBC_2.2.5_edata_IO_stdin_usedmainmemset@@GLIBC_2.2.5__dso_handleunix_domain_client_fdbasic_shm_mmap__stack_chk_fail@@GLIBC_2.4__TMC_END___Jv_RegisterClasses_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19__data_startusleep@@GLIBC_2.2.5recvfd__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_str.debug_ranges8@8#T@T 1t@t$Döÿÿo˜@˜8N Ð@ÐVà@àÂ^ÿÿÿo¢@¢,kþÿÿoÐ@Ðpz@@@„BX@X Žx@x‰ @ Ð”p    @p    €    @€    Ò£T @T     ©` @` e±È @È 4¿ @ ôÉÐ`ÐÕØ`Øáà`àæè`è˜ø`øï ` xøx `x þˆ `ˆ 0ˆ 5 ½ 0í Ü 'É.65ÿ1A04pL‡C0tNZ¸CÈ$5    €Kô