08:25:27 is pipe2 implemented in terms of a syscall? 08:48:06 paulf: it is in fact its own system call 08:48:29 And then pipe() is a wrapper around it that passes 0 to pipe2() for flags 08:50:22 The in-kernel system call entry point is just called pipe(), though, which is at least a little confusing 08:58:14 OK thanks 11:20:46 I'm working on the prep for Valgrind 3.21 release, and there's a new configure time failure 11:21:28 This check "dis -F scf_handle_bind $libscf  | grep -q 0x526570" is failing 11:21:51 Now I see     scf_handle_bind+0xdf:  48 b8 15 70 65 52  movq   $0x4d0152657015,%rax 11:24:05 Can someone point me to the change? The fix is fairly straightforward 11:42:15 https://github.com/omniosorg/omnios-extra/blob/master/build/valgrind/patches/libscf.patch 11:42:19 see the comment on top 11:46:41 OK, so this was a consequence of switching to gcc10? 11:47:17 I'll push that change 11:48:54 yes, and we hit it on omnios before since we switched to gcc10 a while ago 12:29:30 https://sourceware.org/git/?p=valgrind.git;a=commit;h=0bc69d40a5021b158804fb4f39592596333f7013 12:29:33 Done 12:57:59 dangergrrl: not sure, but i dont think so 16:14:21 sjorge, I'm working on process migration for linux but the code would be GPL2 swo I couldn't use it here at all, curse Sun for hating on Linux :P but I implemented the same feature at Tandem on SVR4 so I'm sure I could do it for Illumos and it's a handy thing... at Tandem we had ServerNet hardware though and it does remote DMA so I could recover running programs from a crashed machine (and hope they don't crash this machine also) 16:15:17 ServerNet hardware still kinda exists but it's now called infiniband 16:21:35 the nice thing about it is that you can access another machines RAM even if the kernel has paniced 17:18:46 jclulow: are you here? 17:24:11 jclulow: oh, I think xref is just a pain in the ass about where it finds all its bits. Which I'm not planning to fix. ignore me and enjoy your weekend. 18:50:59 paulf: Wow, why... Is it checking that 18:55:36 what the absolute heck 18:59:41 it seems they perhaps know about it for truss-y reasons? 19:00:56 it's used by something called 'tracegen', and the bits look like it's decoding different versions 19:01:30 https://github.com/svn2github/valgrind-master-mirror/blob/a1ea7dcd715f662aa6808969ca071e3e7edaa85a/include/vki/vki-solaris-repcache.h#L39 19:11:51 I'm not sure in what world "the header that tells us this is private, let's disassemble the library" makes sense. 19:12:05 but it's true we don't ship the header for them to do (much) better. 19:12:36 I need to look, not familiar with it 19:18:55 all part of door the syscall wrapper 19:26:44 for clean separation between host and guest, the host does not link to any external libraries 19:27:41 partly for the same reason and partly for historical reasons including external headers is also kept to a minimum 19:33:10 ok, but why does it need to know the repcache protocol over the door? 19:33:15 as compared to any other door we use 19:33:27 at least at a quick glance, it didn't know about any others. 19:34:06 (I'm leaving aside that "a clean separation" and "not using the library" both seem to fall apart when you disassemble it and look inside) 19:34:12 you're just using the library _really weirdly_ 19:35:25 if the host links to external libraries we wouldn't be able to check for any errors when they get loaded 19:36:45 I don't know the code well enough to comment on why the repcache protocol is needed 19:37:55 Yeah that's fair. Sorry, definitely did not mean to shoot at the messenger haha 19:39:23 yeah, we're just all very confused and surprised :) 19:41:06 and it's not the only hack by a long way, which is why thinks are forever breaking 19:41:18 things 19:50:13 I use cachegrind more than valgrind, but they're both handy, and I'm super happy someone keeps them working. 19:51:00 it also found the super annoying sprintf bug I'm not sure how to fix, where it fakes a FILE and then valgrind et all point out we're reading a totally junk _magic to decide if it's extended_file. 19:58:28 dhat is also very cool 20:06:51 looks like casper fixed that in our libc while he was fixing "sscanf() should not create a dummy FILE * with a valid descriptor" 20:09:38 my notes say "maybe memstreams?"