Bugzilla – Attachment 445435 Details for
Bug 711829
lseek broken with redirected output?
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Forgot Password
strace -s 1024 -o callback.func.strace.redirect.txt $(RUBY) $(srcdir)/mkcallback.rb > $@
callback.func.strace.redirect.txt (text/plain), 83.88 KB, created by
Marcus Rückert
on 2011-08-11 17:43:37 UTC
(
hide
)
Description:
strace -s 1024 -o callback.func.strace.redirect.txt $(RUBY) $(srcdir)/mkcallback.rb > $@
Filename:
MIME Type:
Creator:
Marcus Rückert
Created:
2011-08-11 17:43:37 UTC
Size:
83.88 KB
patch
obsolete
>execve("../../miniruby", ["../../miniruby", "-I../..", "-I../.././lib", "-I../../.ext/x86_64-linux", "-I../../.ext/common", "-I./-", "-I../.././ext", "-rpurelib.rb", "../.././ext/dl/mkcallback.rb"], [/* 46 vars */]) = 0 >brk(0) = 0x6fa000 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0becb000 >access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) >open("/etc/ld.so.cache", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=24314, ...}) = 0 >mmap(NULL, 24314, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b2e0becc000 >close(3) = 0 >open("/lib64/librt.so.1", O_RDONLY) = 3 >read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\"\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\204\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0%\0\"\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0000b\0\0\0\0\0\0000b\0\0\0\0\0\0000b\0\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\274r\0\0\0\0\0\0\274r\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0x}\0\0\0\0\0\0x} \0\0\0\0\0x} \0\0\0\0\0\364\4\0\0\0\0\0\0x\16\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\260}\0\0\0\0\0\0\260} \0\0\0\0\0\260} \0\0\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0\\\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0Lb\0\0\0\0\0\0Lb\0\0\0\0\0\0Lb\0\0\0\0\0\0T\2\0\0\0\0\0\0T\2\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0R\345td\4\0\0\0x}\0\0\0\0\0\0x} \0\0\0\0\0x} \0\0\0\0\0\210\2\0\0\0\0\0\0\210\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\210\322C\313.\202\214\273(\360\263\1V\4V1\31P\277\4\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\4\0\0\0\5\0\0\0\4\0\0\0SuSESuSE\0\0\0\0\1\0\n\2\0\0\0\0b\0\0\0B\0\0\0\10\0\0\0\t\0\0\0\1\0\204!0\0\10@\0\20P\213\340\6\22 \0\10\202@\0(\200 \t\3\0\4@\1@#\2\20\0\2\240\4 \0\10\0\0\2\0\4\0\200\210\206D\20\0\0\20\4P\20\2\322\4\1\4\206\0\0\0\0\0\0\0\0B\0\0\0C\0\0\0D\0\0\0\0\0\0\0E\0\0\0\0\0\0\0F\0\0\0\0\0\0\0H\0\0\0I\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 832) = 832 >fstat(3, {st_mode=S_IFREG|0755, st_size=47241, ...}) = 0 >mmap(NULL, 2132976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b2e0c0cd000 >fadvise64(3, 0, 2132976, POSIX_FADV_WILLNEED) = 0 >mprotect(0x2b2e0c0d5000, 2093056, PROT_NONE) = 0 >mmap(0x2b2e0c2d4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x2b2e0c2d4000 >close(3) = 0 >open("/lib64/libdl.so.2", O_RDONLY) = 3 >read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\r\0\0\0\0\0\0@\0\0\0\0\0\0\0\3501\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0 \0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\20\32\0\0\0\0\0\0\20\32\0\0\0\0\0\0\20\32\0\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\37\0\0\0\0\0\0\0\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h-\0\0\0\0\0\0h- \0\0\0\0\0h- \0\0\0\0\0\30\3\0\0\0\0\0\0\230\3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240- \0\0\0\0\0\240- \0\0\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0\\\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0,\32\0\0\0\0\0\0,\32\0\0\0\0\0\0,\32\0\0\0\0\0\0\274\0\0\0\0\0\0\0\274\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0R\345td\4\0\0\0h-\0\0\0\0\0\0h- \0\0\0\0\0h- \0\0\0\0\0\230\2\0\0\0\0\0\0\230\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\201V\244\351\"\351\4t\272\177\325\223\332\337O\370\371\251o\236\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\4\0\0\0\5\0\0\0\4\0\0\0SuSESuSE\0\0\0\0\1\0\n\2\0\0\0\0\33\0\0\0\31\0\0\0\2\0\0\0\7\0\0\0\230\2\21\0\200H\0\4\22\0\0@\203(\10\236\31\0\0\0\0\0\0\0\32\0\0\0\0\0\0\0\0\0\0\0\33\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\35\0\0\0\0\0\0\0\36\0\0\0\0\0\0\0\37\0\0\0!\0\0\0\"\0\0\0$\0\0\0%\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&\0\0\0\0\0\0\0\0\0\0\0\353\26\251\30a\257\0\371\301S\200\30\273\25sB\257\304M\17\221!\374\370\3723\373\17", 832) = 832 >fstat(3, {st_mode=S_IFREG|0755, st_size=19149, ...}) = 0 >mmap(NULL, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b2e0c2d6000 >fadvise64(3, 0, 2109696, POSIX_FADV_WILLNEED) = 0 >mprotect(0x2b2e0c2d8000, 2097152, PROT_NONE) = 0 >mmap(0x2b2e0c4d8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x2b2e0c4d8000 >close(3) = 0 >open("/lib64/libcrypt.so.1", O_RDONLY) = 3 >read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\n\0\0\0\0\0\0@\0\0\0\0\0\0\0\350\301\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0\"\0\37\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\200\255\0\0\0\0\0\0\200\255\0\0\0\0\0\0\200\255\0\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0X\265\0\0\0\0\0\0X\265\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\320\275\0\0\0\0\0\0\320\275 \0\0\0\0\0\320\275 \0\0\0\0\0\264\2\0\0\0\0\0\0\20\344\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\275\0\0\0\0\0\0\370\275 \0\0\0\0\0\370\275 \0\0\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0\\\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\234\255\0\0\0\0\0\0\234\255\0\0\0\0\0\0\234\255\0\0\0\0\0\0004\1\0\0\0\0\0\0004\1\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0R\345td\4\0\0\0\320\275\0\0\0\0\0\0\320\275 \0\0\0\0\0\320\275 \0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\271\351\267\344\242\356Q\350\23i\263\245:\362\217\3507\254\34\235\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\4\0\0\0\5\0\0\0\4\0\0\0SuSESuSE\0\0\0\0\1\0\n\2\0\0\0\0\17\0\0\0\23\0\0\0\1\0\0\0\6\0\0\0\4I\300,$\204 \f\0\0\0\0\0\0\0\0\0\0\0\0\23\0\0\0\24\0\0\0\25\0\0\0\0\0\0\0\26\0\0\0\27\0\0\0\0\0\0\0\30\0\0\0\0\0\0\0\31\0\0\0\32\0\0\0\0\0\0\0k\31Qj\233(\375B\233`\205\33\327\16?\17I->\333\235C\r\375\313\373_\22\273\25sB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\f\0P\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 832) = 832 >fstat(3, {st_mode=S_IFREG|0755, st_size=57451, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0c4da000 >mmap(NULL, 2335200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b2e0c4db000 >fadvise64(3, 0, 2335200, POSIX_FADV_WILLNEED) = 0 >mprotect(0x2b2e0c4e7000, 2093056, PROT_NONE) = 0 >mmap(0x2b2e0c6e6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x2b2e0c6e6000 >mmap(0x2b2e0c6e8000, 184800, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b2e0c6e8000 >close(3) = 0 >open("/lib64/libm.so.6", O_RDONLY) = 3 >read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\0\0\0\0\0\0@\0\0\0\0\0\0\0\320Q\5\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0\"\0\37\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\260\364\4\0\0\0\0\0\260\364\4\0\0\0\0\0\260\364\4\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320@\5\0\0\0\0\0\320@\5\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\320M\5\0\0\0\0\0\320M%\0\0\0\0\0\320M%\0\0\0\0\0\234\2\0\0\0\0\0\0\350\2\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370M\5\0\0\0\0\0\370M%\0\0\0\0\0\370M%\0\0\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0\\\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\314\364\4\0\0\0\0\0\314\364\4\0\0\0\0\0\314\364\4\0\0\0\0\0\324\r\0\0\0\0\0\0\324\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0R\345td\4\0\0\0\320M\5\0\0\0\0\0\320M%\0\0\0\0\0\320M%\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\3159\267P\351G\344\0058\213\360\270\2\26\10\277,G\367\202\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\4\0\0\0\5\0\0\0\4\0\0\0SuSESuSE\0\0\0\0\1\0\n\2\0\0\0\0i\2\0\0\17\0\0\0 \0\0\0\v\0\0\0%\0 \303\t\224g\r\0H\20 \4\243ER\202\24\200 \0y\210\272\10\0A\0\0\10\10\0\31\4\3\0\2\0\232U0A\20\0\0\200\244\322\20\1@\232\242\20\304aR\220\10\6\206\0\232\10\7\300 \10\200\240\0\242@\30\201\4E\207\0054\351\0\0\10!C\30\3000\0103\30\24M8\"\0R\224\21@\4\3\2e\t\0\1\204\fY\20 \10\2\0\0\200@\0$\214\5\10\0\0\0\0\1\0\242\1 \t\24E \325\241\10\273o\220\"@\236\1\10\4\200\200\0", 832) = 832 >fstat(3, {st_mode=S_IFREG|0755, st_size=388309, ...}) = 0 >mmap(NULL, 2445496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b2e0c716000 >fadvise64(3, 0, 2445496, POSIX_FADV_WILLNEED) = 0 >mprotect(0x2b2e0c76b000, 2093056, PROT_NONE) = 0 >mmap(0x2b2e0c96a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x54000) = 0x2b2e0c96a000 >close(3) = 0 >open("/lib64/libc.so.6", O_RDONLY) = 3 >read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\355\1\0\0\0\0\0@\0\0\0\0\0\0\0 \374\26\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0K\0H\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \4\24\0\0\0\0\0 \4\24\0\0\0\0\0 \4\24\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T\244\26\0\0\0\0\0T\244\26\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\247\26\0\0\0\0\0X\2476\0\0\0\0\0X\2476\0\0\0\0\0`F\0\0\0\0\0\0p\221\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\333\26\0\0\0\0\0`\3336\0\0\0\0\0`\3336\0\0\0\0\0\340\1\0\0\0\0\0\0\340\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0\\\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0X\247\26\0\0\0\0\0X\2476\0\0\0\0\0X\2476\0\0\0\0\0\20\0\0\0\0\0\0\0h\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0<\4\24\0\0\0\0\0<\4\24\0\0\0\0\0<\4\24\0\0\0\0\0,g\0\0\0\0\0\0,g\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0R\345td\4\0\0\0X\247\26\0\0\0\0\0X\2476\0\0\0\0\0X\2476\0\0\0\0\0\2508\0\0\0\0\0\0\2508\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\n\0\243\271p\365\213\226\2407\232\334\325\276|\343\f\3007\254\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\4\0\0\0\5\0\0\0\4\0\0\0SuSESuSE\0\0\0\0\1\0\n\2\0\0\0\0\363\3\0\0\t\0\0\0\0\1\0\0\16\0\0\0\0000\20D\240 \2\1\210\3\346\220\305E\214\0\300\0\10\0\5\200\0`\300\200\0\r\212\f\0\4\20\0\210D2\10.@\210P4, \16\"H&\204\300\214\4\10\0\2\2\16\241\254\32\4f\300\0\3002\0\300\0P\1 \201\10\204\v ($\0\4 P\0\20X\200\312DB(\0\6\200", 832) = 832 >fstat(3, {st_mode=S_IFREG|0755, st_size=1754316, ...}) = 0 >mmap(NULL, 3619016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b2e0c96c000 >fadvise64(3, 0, 3619016, POSIX_FADV_WILLNEED) = 0 >mprotect(0x2b2e0cad7000, 2093056, PROT_NONE) = 0 >mmap(0x2b2e0ccd6000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16a000) = 0x2b2e0ccd6000 >mmap(0x2b2e0ccdb000, 18632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b2e0ccdb000 >close(3) = 0 >open("/lib64/libpthread.so.0", O_RDONLY) = 3 >read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@Z\0\0\0\0\0\0@\0\0\0\0\0\0\0\10\205\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0$\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240!\1\0\0\0\0\0\240!\1\0\0\0\0\0\240!\1\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0000n\1\0\0\0\0\0000n\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\250{\1\0\0\0\0\0\250{!\0\0\0\0\0\250{!\0\0\0\0\0\270\6\0\0\0\0\0\0\330G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\210}\1\0\0\0\0\0\210}!\0\0\0\0\0\210}!\0\0\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0\\\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\274!\1\0\0\0\0\0\274!\1\0\0\0\0\0\274!\1\0\0\0\0\0\4\n\0\0\0\0\0\0\4\n\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0R\345td\4\0\0\0\250{\1\0\0\0\0\0\250{!\0\0\0\0\0\250{!\0\0\0\0\0X\4\0\0\0\0\0\0X\4\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0!\257j\305t\3678\326\346\4\255Y\273\216\217'\260\177\210\330\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\4\0\0\0\5\0\0\0\4\0\0\0SuSESuSE\0\0\0\0\1\0\n\2\0\0\0\0\262\1\0\0M\0\0\0 \0\0\0\v\0\0\0\31#\2\261\1\10\20\2@@a\370\3\10\10\25\200 \0\0\0\0\200\300\321P\0\0\0\22\353\3020D\0\0\20@\0\2\0\2\f\1\200\v\221\1\330\240\r\240@\230 \244\200\21\n\202-l@g\214V\24\0\224 \200$H\200P(\1\22\f\311B\240\220\22\10\f \2\32dA\244c\0\0\n\n\2\0\2009\1(\314@\204\201@\22\10(\fD\0\0\0\200Q\10\200\35\4B\320\2608A\0\1\0\0\265\0300\0\200`\2\20\"\0\tA\20\1\5\0P \251\2\7", 832) = 832 >fstat(3, {st_mode=S_IFREG|0755, st_size=135690, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0cce0000 >mmap(NULL, 2212736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b2e0cce1000 >fadvise64(3, 0, 2212736, POSIX_FADV_WILLNEED) = 0 >mprotect(0x2b2e0ccf8000, 2097152, PROT_NONE) = 0 >mmap(0x2b2e0cef8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x2b2e0cef8000 >mmap(0x2b2e0cefa000, 13184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b2e0cefa000 >close(3) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0cefe000 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0ceff000 >arch_prctl(ARCH_SET_FS, 0x2b2e0cefeb20) = 0 >mprotect(0x2b2e0cef8000, 4096, PROT_READ) = 0 >mprotect(0x2b2e0ccd6000, 16384, PROT_READ) = 0 >mprotect(0x2b2e0c96a000, 4096, PROT_READ) = 0 >mprotect(0x2b2e0c6e6000, 4096, PROT_READ) = 0 >mprotect(0x2b2e0c4d8000, 4096, PROT_READ) = 0 >mprotect(0x2b2e0c2d4000, 4096, PROT_READ) = 0 >mprotect(0x6d8000, 8192, PROT_READ) = 0 >mprotect(0x2b2e0c0ca000, 4096, PROT_READ) = 0 >munmap(0x2b2e0becc000, 24314) = 0 >set_tid_address(0x2b2e0cefedf0) = 21522 >set_robust_list(0x2b2e0cefee00, 0x18) = 0 >futex(0x7fff7b111a3c, FUTEX_WAKE_PRIVATE, 1) = 0 >futex(0x7fff7b111a3c, 0x189 /* FUTEX_??? */, 1, NULL, 2b2e0cefeb20) = -1 EAGAIN (Resource temporarily unavailable) >rt_sigaction(SIGRTMIN, {0x2b2e0cce68b0, [], SA_RESTORER|SA_SIGINFO, 0x2b2e0ccf07c0}, NULL, 8) = 0 >rt_sigaction(SIGRT_1, {0x2b2e0cce6940, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x2b2e0ccf07c0}, NULL, 8) = 0 >rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 >getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 >getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 >brk(0) = 0x6fa000 >brk(0x71b000) = 0x71b000 >mmap(NULL, 401408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0becc000 >brk(0x73c000) = 0x73c000 >brk(0x75d000) = 0x75d000 >open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW) = 3 >fstat(3, {st_mode=S_IFCHR|0644, st_rdev=makedev(1, 9), ...}) = 0 >read(3, "\2469\334\325Em$\301\260\327\326\\\377\4s\347s\376\326{\227\270\230\343\237\341]\221\4\355\260\317", 32) = 32 >close(3) = 0 >rt_sigaction(SIGINT, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGHUP, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGQUIT, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGTERM, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGALRM, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGUSR1, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGUSR2, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGBUS, {0x47af20, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGSEGV, {0x47af00, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigaction(SIGPIPE, {0x47aa30, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0 >rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x2b2e0c99ebe0}, {SIG_DFL, [], 0}, 8) = 0 >rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 >geteuid() = 399 >getegid() = 399 >getuid() = 399 >geteuid() = 399 >getgid() = 399 >getegid() = 399 >open("../.././ext/dl/mkcallback.rb", O_RDONLY) = 3 >close(3) = 0 >open("../.././ext/dl/mkcallback.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=1510, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2e000 >read(3, "# -*- ruby -*-\n\nrequire 'mkmf'\n$:.unshift File.dirname(__FILE__)\nrequire 'type'\nrequire 'dlconfig'\n\ndef mkfunc(rettype, fnum, argc)\n args = (0..(argc-1)).collect{|i| \"long arg#{i}\"}.join(\", \")\n\n subst_code = (0..(argc-1)).collect{|i|\n \" buff[#{i.to_s}] = arg#{i.to_s};\"\n }.join(\"\\n\")\n\n ret_code =\n if( DLTYPE[rettype][:c2rb] )\n \" return #{DLTYPE[rettype][:rb2c]['retval']};\"\n else\n \" /* no return value */\"\n end\n\n code = [\n \"static #{DLTYPE[rettype][:ctype]}\",\n \"rb_dl_callback_func_#{rettype.to_s}_#{fnum.to_s}(#{args})\",\n \"{\",\n \" VALUE retval, proto, proc, obj;\",\n \" VALUE argv[#{argc.to_s}];\",\n \" int argc;\",\n \" long buff[#{argc.to_s}];\",\n \"\",\n subst_code,\n \"\",\n \" obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(#{rettype.to_s}),INT2NUM(#{fnum.to_s})));\",\n \" if(NIL_P(obj))\",\n \" rb_raise(rb_eDLError, \\\"callback function does not exist in DL::FuncTable\\\");\",\n \" Check_Type(obj, T_ARRAY);\",\n \" proto = rb_ary_entry(obj, 0);\",\n "..., 4096) = 1510 >stat("../../purelib.rb", 0x7fff7b1113b0) = -1 ENOENT (No such file or directory) >stat("../.././lib/purelib.rb", 0x7fff7b1113b0) = -1 ENOENT (No such file or directory) >stat("../../.ext/x86_64-linux/purelib.rb", 0x7fff7b1113b0) = -1 ENOENT (No such file or directory) >stat("../../.ext/common/purelib.rb", 0x7fff7b1113b0) = -1 ENOENT (No such file or directory) >stat("./-/purelib.rb", 0x7fff7b1113b0) = -1 ENOENT (No such file or directory) >stat("../.././ext/purelib.rb", {st_mode=S_IFREG|0644, st_size=141, ...}) = 0 >open("../.././ext/purelib.rb", O_RDONLY) = 4 >fstat(4, {st_mode=S_IFREG|0644, st_size=141, ...}) = 0 >close(4) = 0 >open("../.././ext/purelib.rb", O_RDONLY) = 4 >fstat(4, {st_mode=S_IFREG|0644, st_size=141, ...}) = 0 >close(4) = 0 >open("../.././ext/purelib.rb", O_RDONLY) = 4 >close(4) = 0 >open("../.././ext/purelib.rb", O_RDONLY) = 4 >fstat(4, {st_mode=S_IFREG|0644, st_size=141, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2f000 >read(4, "nul = nil\n$:.each_with_index {|path, index|\n if /\\A(?:\\.\\/)*-\\z/ =~ path\n nul = index\n break\n end\n}\nif nul\n $:[nul..-1] = [\".\"]\nend\n", 4096) = 141 >read(4, "", 4096) = 0 >close(4) = 0 >munmap(0x2b2e0bf2f000, 4096) = 0 >read(3, "", 4096) = 0 >close(3) = 0 >munmap(0x2b2e0bf2e000, 4096) = 0 >stat("../../mkmf.rb", 0x7fff7b110f60) = -1 ENOENT (No such file or directory) >stat("../../mkmf.so", 0x7fff7b110f60) = -1 ENOENT (No such file or directory) >stat("../.././lib/mkmf.rb", {st_mode=S_IFREG|0644, st_size=51862, ...}) = 0 >open("../.././lib/mkmf.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=51862, ...}) = 0 >close(3) = 0 >stat("../../mkmf.rb", 0x7fff7b110f80) = -1 ENOENT (No such file or directory) >stat("../.././lib/mkmf.rb", {st_mode=S_IFREG|0644, st_size=51862, ...}) = 0 >open("../.././lib/mkmf.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=51862, ...}) = 0 >close(3) = 0 >open("../.././lib/mkmf.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=51862, ...}) = 0 >close(3) = 0 >open("../.././lib/mkmf.rb", O_RDONLY) = 3 >close(3) = 0 >open("../.././lib/mkmf.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=51862, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2e000 >read(3, "# module to create Makefile for extension modules\n# invoke like: ruby -r mkmf extconf.rb\n\nrequire 'rbconfig'\nrequire 'fileutils'\nrequire 'shellwords'\n\nCONFIG = Config::MAKEFILE_CONFIG\nORIG_LIBPATH = ENV['LIB']\n\nCXX_EXT = %w[cc cxx cpp]\nif /mswin|bccwin|mingw|msdosdjgpp|human|os2/ !~ CONFIG['build_os']\n CXX_EXT.concat(%w[C])\nend\nSRC_EXT = %w[c m].concat(CXX_EXT)\n$static = $config_h = nil\n$default_static = $static\n\nunless defined? $configure_args\n $configure_args = {}\n args = CONFIG[\"configure_args\"]\n if ENV[\"CONFIGURE_ARGS\"]\n args << \" \" << ENV[\"CONFIGURE_ARGS\"]\n end\n for arg in Shellwords::shellwords(args)\n arg, val = arg.split('=', 2)\n next unless arg\n arg.tr!('_', '-')\n if arg.sub!(/^(?!--)/, '--')\n val or next\n arg.downcase!\n end\n next if /^--(?:top|topsrc|src|cur)dir$/ =~ arg\n $configure_args[arg] = val || true\n end\n for arg in ARGV\n arg, val = arg.split('=', 2)\n next unless arg\n arg.tr!('_', '-')\n if arg.sub!(/^(?!--)/, '--')\n val or next\n a"..., 4096) = 4096 >brk(0x77e000) = 0x77e000 >read(3, "opdir)) + \"/ruby.h\") and\n File.exist?(($topdir ||= Config::CONFIG[\"topdir\"]) + \"/config.h\")\nelse\n abort \"mkmf.rb can't find header files for ruby at #{$hdrdir}/ruby.h\"\nend\n\nOUTFLAG = CONFIG['OUTFLAG']\nCPPOUTFILE = CONFIG['CPPOUTFILE']\n\nCONFTEST_C = \"conftest.c\"\n\nclass String\n # Wraps a string in escaped quotes if it contains whitespace.\n def quote\n /\\s/ =~ self ? \"\\\"#{self}\\\"\" : \"#{self}\"\n end\n\n # Generates a string used as cpp macro name.\n def tr_cpp\n strip.upcase.tr_s(\"^A-Z0-9_\", \"_\")\n end\nend\nclass Array\n # Wraps all strings in escaped quotes if they contain whitespace.\n def quote\n map {|s| s.quote}\n end\nend\n\ndef rm_f(*files)\n FileUtils.rm_f(Dir[files.join(\"\\0\")])\nend\n\n# Returns time stamp of the +target+ file if it exists and is newer\n# than or equal to all of +times+.\ndef modified?(target, times)\n (t = File.mtime(target)) rescue return nil\n Array === times or times = [times]\n t if times.all? {|n| n <= t}\nend\n\ndef merge_libs(*libs)\n libs.inject([]) do |x, y|\n xy = x & y\n "..., 4096) = 4096 >read(3, " 'ARCH_FLAG' => \"#$ARCH_FLAG\",\n 'LDFLAGS' => \"#$LDFLAGS #{ldflags}\",\n 'LIBPATH' => libpathflag(libpath),\n 'LOCAL_LIBS' => \"#$LOCAL_LIBS #$libs\",\n 'LIBS' => \"#$LIBRUBYARG_STATIC #{opt} #$LIBS\")\n Config::expand(TRY_LINK.dup, conf)\nend\n\ndef cc_command(opt=\"\")\n conf = Config::CONFIG.merge('hdrdir' => $hdrdir.quote, 'srcdir' => $srcdir.quote)\n Config::expand(\"$(CC) #$INCFLAGS #$CPPFLAGS #$CFLAGS #$ARCH_FLAG #{opt} -c #{CONFTEST_C}\",\n\t\t conf)\nend\n\ndef cpp_command(outfile, opt=\"\")\n conf = Config::CONFIG.merge('hdrdir' => $hdrdir.quote, 'srcdir' => $srcdir.quote)\n Config::expand(\"$(CPP) #$INCFLAGS #$CPPFLAGS #$CFLAGS #{opt} #{CONFTEST_C} #{outfile}\",\n\t\t conf)\nend\n\ndef libpathflag(libpath=$DEFLIBPATH|$LIBPATH)\n libpath.map{|x|\n case x\n when \"$(topdir)\", /\\A\\./\n LIBPATHFLAG\n else\n LIBPATHFLAG+RPATHFLAG\n end % x.quote\n }.join\nend\n\ndef try_link0(src, opt=\"\", &b)\n try_do(src, li"..., 4096) = 4096 >read(3, " puts(\" egrep '#{pat}'\")\n begin\n\tstdin = $stdin.dup\n\t$stdin.reopen(f)\n\tsystem(\"egrep\", pat)\n ensure\n\t$stdin.reopen(stdin)\n end\n end\n end\nensure\n rm_f \"conftest*\"\n log_src(src)\nend\n\n# This is used internally by the have_macro? method.\ndef macro_defined?(macro, src, opt = \"\", &b)\n src = src.sub(/[^\\n]\\z/, \"\\\\&\\n\")\n try_compile(src + <<\"SRC\", opt, &b)\n/*top*/\n#ifndef #{macro}\n# error\n>>>>>> #{macro} undefined <<<<<<\n#endif\nSRC\nend\n\ndef try_run(src, opt = \"\", &b)\n if try_link0(src, opt, &b)\n xsystem(\"./conftest\")\n else\n nil\n end\nensure\n rm_f \"conftest*\"\nend\n\ndef install_files(mfile, ifiles, map = nil, srcprefix = nil)\n ifiles or return\n ifiles.empty? and return\n srcprefix ||= '$(srcdir)'\n Config::expand(srcdir = srcprefix.dup)\n dirs = []\n path = Hash.new {|h, i| h[i] = dirs.push([i])[-1]}\n ifiles.each do |files, dir, prefix|\n dir = map_dir(dir, map)\n prefix &&= %r|\\A#{Regexp.quote(prefix)}/?|\n if /\\A\\.\\// =~ files\n # install files which are in current wor"..., 4096) = 4096 >brk(0x79f000) = 0x79f000 >read(3, " if try_func(func, libs, headers, &b)\n $libs = libs\n true\n else\n false\n end\n end\n end\nend\n\n# Returns whether or not the entry point +func+ can be found within the library\n# +lib+ in one of the +paths+ specified, where +paths+ is an array of strings.\n# If +func+ is nil , then the main() function is used as the entry point.\n#\n# If +lib+ is found, then the path it was found on is added to the list of\n# library paths searched and linked against.\n#\ndef find_library(lib, func, *paths, &b)\n func = \"main\" if !func or func.empty?\n lib = with_config(lib+'lib', lib)\n paths = paths.collect {|path| path.split(File::PATH_SEPARATOR)}.flatten\n checking_for \"#{func}() in #{LIBARG%lib}\" do\n libpath = $LIBPATH\n libs = append_library($libs, lib)\n begin\n until r = try_func(func, libs, &b) or paths.empty?\n\t$LIBPATH = libpath | [paths.shift]\n end\n if r\n\t$libs = libs\n\tlibpath = nil\n end\n ensure\n $LIBPATH = libpath if libpath\n end\n r\n end\nend\n\n# Retur"..., 4096) = 4096 >read(3, "compiler.\n# \ndef have_struct_member(type, member, headers = nil, &b)\n checking_for checking_message(\"#{type}.#{member}\", headers) do\n if try_compile(<<\"SRC\", &b)\n#{COMMON_HEADERS}\n#{cpp_include(headers)}\n/*top*/\nint main() { return 0; }\nint s = (char *)&((#{type}*)0)->#{member} - (char *)0;\nSRC\n $defs.push(format(\"-DHAVE_ST_%s\", member.tr_cpp))\n true\n else\n false\n end\n end\nend\n\ndef try_type(type, headers = nil, opt = \"\", &b)\n if try_compile(<<\"SRC\", opt, &b)\n#{COMMON_HEADERS}\n#{cpp_include(headers)}\n/*top*/\ntypedef #{type} conftest_type;\nint conftestval[sizeof(conftest_type)?1:-1];\nSRC\n $defs.push(format(\"-DHAVE_TYPE_%s\", type.tr_cpp))\n true\n else\n false\n end\nend\n\n# Returns whether or not the static type +type+ is defined. You may\n# optionally pass additional +headers+ to check against in addition to the\n# common header files.\n#\n# You may also pass additional flags to +opt+ which are then passed along to\n# the compiler.\n#\n# If found, a macro is passed as a preprocessor c"..., 4096) = 4096 >read(3, "p_include(headers)}\n/*top*/\nvolatile #{type} conftestval;\nint main() { return 0; }\nint t() {return (int)(1-*(conftestval#{member ? \".#{member}\" : \"\"}));}\nSRC\nend\n\n# Used internally by the what_type? method to determine if +type+ is a scalar\n# pointer.\ndef scalar_type?(type, member = nil, headers = nil, &b)\n try_compile(<<\"SRC\", &b) # pointer\n#{COMMON_HEADERS}\n#{cpp_include(headers)}\n/*top*/\nvolatile #{type} conftestval;\nint main() { return 0; }\nint t() {return (int)(1-(conftestval#{member ? \".#{member}\" : \"\"}));}\nSRC\nend\n\ndef what_type?(type, member = nil, headers = nil, &b)\n m = \"#{type}\"\n name = type\n if member\n m << \".\" << member\n name = \"(((#{type} *)0)->#{member})\"\n end\n fmt = \"seems %s\"\n def fmt.%(x)\n x ? super : \"unknown\"\n end\n checking_for checking_message(m, headers), fmt do\n if scalar_ptr_type?(type, member, headers, &b)\n if try_static_assert(\"sizeof(*#{name}) == 1\", headers)\n \"string\"\n end\n elsif scalar_type?(type, member, headers, &b)\n if try_static_"..., 4096) = 4096 >mmap(NULL, 720896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2f000 >read(3, "given?\n yield(config, *defaults)\n else\n return *defaults\n end\nend\n\n# Generates a header file consisting of the various macro definitions generated\n# by other methods such as have_func and have_header. These are then wrapped in\n# a custom #ifndef based on the +header+ file name, which defaults to\n# 'extconf.h'.\n#\n# For example:\n# \n# # extconf.rb\n# require 'mkmf'\n# have_func('realpath')\n# have_header('sys/utime.h')\n# create_header\n# create_makefile('foo')\n#\n# The above script would generate the following extconf.h file:\n#\n# #ifndef EXTCONF_H\n# #define EXTCONF_H\n# #define HAVE_REALPATH 1\n# #define HAVE_SYS_UTIME_H 1\n# #endif\n#\n# Given that the create_header method generates a file based on definitions\n# set earlier in your extconf.rb file, you will probably want to make this\n# one of the last methods you call in your script.\n#\ndef create_header(header = \"extconf.h\")\n message \"creating %s\\n\", header\n sym = header.tr(\"a-z./\\055\", \"A-Z___\")\n hdr = [\"#ifndef #{sym}\\n#defin"..., 4096) = 4096 >read(3, "s\n $LDFLAGS += \" \" << ldflags\n $libs += \" \" << libs\n Logging::message \"package configuration for %s\\n\", pkg\n Logging::message \"cflags: %s\\nldflags: %s\\nlibs: %s\\n\\n\",\n cflags, ldflags, libs\n [cflags, ldflags, libs]\n else\n Logging::message \"package configuration for %s is not found\\n\", pkg\n nil\n end\nend\n\ndef with_destdir(dir)\n dir = dir.sub($dest_prefix_pattern, '')\n /\\A\\$[\\(\\{]/ =~ dir ? dir : \"$(DESTDIR)\"+dir\nend\n\n# Converts forward slashes to backslashes. Aimed at MS Windows.\n#\n# Internal use only.\n#\ndef winsep(s)\n s.tr('/', '\\\\')\nend\n\n# Converts native path to format acceptable in Makefile\n#\n# Internal use only.\n#\nif !CROSS_COMPILING\n case CONFIG['build_os']\n when 'mingw32'\n def mkintpath(path)\n # mingw uses make from msys and it needs special care\n # converts from C:\\some\\path to /C/some/path\n path = path.dup\n path.tr!('\\\\', '/')\n path.sub!(/\\A([A-Za-z]):(?=\\/)/, '/\\1')\n path\n end\n end\nend\nunless defined?(mkintpath)\n def"..., 4096) = 4096 >read(3, "d\n\ndef dummy_makefile(srcdir)\n configuration(srcdir) << <<RULES << CLEANINGS\nCLEANFILES = #{$cleanfiles.join(' ')}\nDISTCLEANFILES = #{$distcleanfiles.join(' ')}\n\nall install static install-so install-rb: Makefile\n\nRULES\nend\n# :startdoc:\n\n# Generates the Makefile for your extension, passing along any options and\n# preprocessor constants that you may have generated through other methods.\n#\n# The +target+ name should correspond the name of the global function name\n# defined within your C extension, minus the 'Init_'. For example, if your\n# C extension is defined as 'Init_foo', then your target would simply be 'foo'.\n#\n# If any '/' characters are present in the target name, only the last name\n# is interpreted as the target name, and the rest are considered toplevel\n# directory names, and the generated Makefile will be altered accordingly to\n# follow that directory structure.\n#\n# For example, if you pass 'test/foo' as a target name, your extension will\n# be installed under the 'test' directory. This means that "..., 4096) = 4096 >read(3, "= open(\"Makefile\", \"wb\")\n mfile.print configuration(srcprefix)\n mfile.print \"\nlibpath = #{($DEFLIBPATH|$LIBPATH).join(\" \")}\nLIBPATH = #{libpath}\nDEFFILE = #{deffile}\n\nCLEANFILES = #{$cleanfiles.join(' ')}\nDISTCLEANFILES = #{$distcleanfiles.join(' ')}\n\nextout = #{$extout}\nextout_prefix = #{$extout_prefix}\ntarget_prefix = #{target_prefix}\nLOCAL_LIBS = #{$LOCAL_LIBS}\nLIBS = #{$LIBRUBYARG} #{$libs} #{$LIBS}\nSRCS = #{srcs.collect(&File.method(:basename)).join(' ')}\nOBJS = #{$objs}\nTARGET = #{target}\nDLLIB = #{dllib}\nEXTSTATIC = #{$static || \"\"}\nSTATIC_LIB = #{staticlib unless $static.nil?}\n#{!$extout && defined?($installed_list) ? \"INSTALLED_LIST = #{$installed_list}\\n\" : \"\"}\n\"\n install_dirs.each {|d| mfile.print(\"%-14s= %s\\n\" % d) if /^[[:upper:]]/ =~ d[0]}\n n = ($extout ? '$(RUBYARCHDIR)/' : '') + '$(TARGET).'\n mfile.print \"\nTARGET_SO = #{($extout ? '$(RUBYARCHDIR)/' : '')}$(DLLIB)\nCLEANLIBS = #{n}#{CONFIG['DLEXT']} #{n}il? #{n}tds #{n}map\nCLEANOBJS = *.#{$OBJEXT} *.#{$LIBEXT} *.s[ol] *.pdb *.ex"..., 4096) = 4096 >read(3, "ile.print link_so, \"\\n\\n\"\n unless $static.nil?\n mfile.print \"$(STATIC_LIB): $(OBJS)\\n\\t\"\n mfile.print \"$(AR) #{config_string('ARFLAGS') || 'cru '}$@ $(OBJS)\"\n config_string('RANLIB') do |ranlib|\n mfile.print \"\\n\\t@-#{ranlib} $(DLLIB) 2> /dev/null || true\"\n end\n end\n mfile.print \"\\n\\n\"\n if makedef\n mfile.print \"$(DEFFILE): #{origdef}\\n\"\n mfile.print \"\\t$(RUBY) #{makedef} #{origdef} > $@\\n\\n\"\n end\n\n depend = File.join(srcdir, \"depend\")\n if File.exist?(depend)\n suffixes = []\n depout = []\n open(depend, \"r\") do |dfile|\n mfile.printf \"###\\n\"\n cont = implicit = nil\n impconv = proc do\n\tCOMPILE_RULES.each {|rule| depout << (rule % implicit[0]) << implicit[1]}\n\timplicit = nil\n end\n ruleconv = proc do |line|\n\tif implicit\n\t if /\\A\\t/ =~ line\n\t implicit[1] << line\n\t next\n\t else\n\t impconv[]\n\t end\n\tend\n\tif m = /\\A\\.(\\w+)\\.(\\w+)(?:\\s*:)/.match(line)\n\t suffixes << m[1] << m[2]\n\t implicit = [[m[1], m[2]], [m.post_match]]\n\t next\n\telsif RULE_SUBST and"..., 4096) = 4096 >brk(0x7c0000) = 0x7c0000 >read(3, "#\ndef mkmf_failed(path)\n unless $makefile_created or File.exist?(\"Makefile\")\n opts = $arg_config.collect {|t, n| \"\\t#{t}#{n ? \"=#{n}\" : \"\"}\\n\"}\n abort \"*** #{path} failed ***\\n\" + FailedMessage + opts.join\n end\nend\n\n# :startdoc:\n\ninit_mkmf\n\n$make = with_config(\"make-prog\", ENV[\"MAKE\"] || \"make\")\nmake, = Shellwords.shellwords($make)\n$nmake = nil\ncase\nwhen $mswin\n $nmake = ?m if /nmake/i =~ make\nwhen $bccwin\n $nmake = ?b if /Borland/i =~ `#{make} -h`\nend\n\nConfig::CONFIG[\"srcdir\"] = CONFIG[\"srcdir\"] =\n $srcdir = arg_config(\"--srcdir\", File.dirname($0))\n$configure_args[\"--topsrcdir\"] ||= $srcdir\nif $curdir = arg_config(\"--curdir\")\n Config.expand(curdir = $curdir.dup)\nelse\n curdir = $curdir = \".\"\nend\nunless File.expand_path(Config::CONFIG[\"topdir\"]) == File.expand_path(curdir)\n CONFIG[\"topdir\"] = $curdir\n Config::CONFIG[\"topdir\"] = curdir\nend\n$configure_args[\"--topdir\"] ||= $curdir\n$ruby = arg_config(\"--ruby\", File.join(Config::CONFIG[\"bindir\"], CONFIG[\"ruby_install_name\"]))\n\nsplit = Shellwords.meth"..., 4096) = 2710 >read(3, "", 4096) = 0 >close(3) = 0 >munmap(0x2b2e0bf2e000, 4096) = 0 >stat("../../rbconfig.rb", {st_mode=S_IFREG|0644, st_size=7516, ...}) = 0 >open("../../rbconfig.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=7516, ...}) = 0 >close(3) = 0 >stat("../../rbconfig.rb", {st_mode=S_IFREG|0644, st_size=7516, ...}) = 0 >open("../../rbconfig.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=7516, ...}) = 0 >close(3) = 0 >open("../../rbconfig.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=7516, ...}) = 0 >close(3) = 0 >open("../../rbconfig.rb", O_RDONLY) = 3 >close(3) = 0 >open("../../rbconfig.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=7516, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2e000 >read(3, "\n# This file was created by mkconfig.rb when ruby was built. Any\n# changes made to this file will be lost the next time ruby is built.\n\nmodule Config\n RUBY_VERSION == \"1.8.7\" or\n raise \"ruby lib version (1.8.7) doesn't match executable version (#{RUBY_VERSION})\"\n\n TOPDIR = \"/usr\"\n DESTDIR = '' unless defined? DESTDIR\n CONFIG = {}\n CONFIG[\"DESTDIR\"] = DESTDIR\n CONFIG[\"PATCHLEVEL\"] = \"352\"\n CONFIG[\"INSTALL\"] = '/usr/bin/install -c'\n CONFIG[\"EXEEXT\"] = \"\"\n CONFIG[\"prefix\"] = (TOPDIR || DESTDIR + \"/usr\")\n CONFIG[\"ruby_install_name\"] = \"ruby\"\n CONFIG[\"RUBY_INSTALL_NAME\"] = \"ruby\"\n CONFIG[\"RUBY_SO_NAME\"] = \"ruby\"\n CONFIG[\"MANTYPE\"] = \"man\"\n CONFIG[\"NROFF\"] = \"\"\n CONFIG[\"configure_args\"] = \" '--host=x86_64-suse-linux-gnu' '--build=x86_64-suse-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/lib64' '--localstatedir=/var' '--shar"..., 4096) = 4096 >read(3, "DEFS) $(cppflags)\"\n CONFIG[\"LDFLAGS\"] = \"-L. -rdynamic -Wl,-export-dynamic\"\n CONFIG[\"CFLAGS\"] = \"-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -g -fno-strict-aliasing -fPIC $(cflags)\"\n CONFIG[\"CC\"] = \"gcc\"\n CONFIG[\"target_os\"] = \"linux\"\n CONFIG[\"target_vendor\"] = \"suse\"\n CONFIG[\"target_cpu\"] = \"x86_64\"\n CONFIG[\"target\"] = \"x86_64-suse-linux\"\n CONFIG[\"host_os\"] = \"linux-gnu\"\n CONFIG[\"host_vendor\"] = \"suse\"\n CONFIG[\"host_cpu\"] = \"x86_64\"\n CONFIG[\"host\"] = \"x86_64-suse-linux-gnu\"\n CONFIG[\"build_os\"] = \"linux-gnu\"\n CONFIG[\"build_vendor\"] = \"suse\"\n CONFIG[\"build_cpu\"] = \"x86_64\"\n CONFIG[\"build\"] = \"x86_64-suse-linux-gnu\"\n CONFIG[\"TEENY\"] = \"7\"\n CONFIG[\"MINOR\"] = \"8\"\n CONFIG[\"MAJOR\"] = \"1\"\n CONFIG[\"target_alias\"] = \"x86_64-suse-linux\"\n CONFIG[\"host_alias\"] = \"x86_64-suse-linux-gnu\"\n CONFIG[\"build_alias\"] = \"x86_64-suse-linux-gnu\"\n CONFIG[\"LIBS\"] = \"-lrt -ldl -lcrypt -lm \"\n CONFIG[\"ECHO_T\"] = \"\"\n CONFIG[\"ECHO_N\"] = \"-n\"\n "..., 4096) = 3420 >read(3, "", 4096) = 0 >close(3) = 0 >munmap(0x2b2e0bf2e000, 4096) = 0 >stat("../../fileutils.rb", 0x7fff7b110520) = -1 ENOENT (No such file or directory) >stat("../../fileutils.so", 0x7fff7b110520) = -1 ENOENT (No such file or directory) >stat("../.././lib/fileutils.rb", {st_mode=S_IFREG|0644, st_size=43242, ...}) = 0 >open("../.././lib/fileutils.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=43242, ...}) = 0 >close(3) = 0 >stat("../../fileutils.rb", 0x7fff7b110540) = -1 ENOENT (No such file or directory) >stat("../.././lib/fileutils.rb", {st_mode=S_IFREG|0644, st_size=43242, ...}) = 0 >open("../.././lib/fileutils.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=43242, ...}) = 0 >close(3) = 0 >open("../.././lib/fileutils.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=43242, ...}) = 0 >close(3) = 0 >open("../.././lib/fileutils.rb", O_RDONLY) = 3 >close(3) = 0 >open("../.././lib/fileutils.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=43242, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2e000 >read(3, "# \n# = fileutils.rb\n# \n# Copyright (c) 2000-2006 Minero Aoki\n# \n# This program is free software.\n# You can distribute/modify this program under the same terms of ruby.\n# \n# == module FileUtils\n# \n# Namespace for several file utility methods for copying, moving, removing, etc.\n# \n# === Module Functions\n# \n# cd(dir, options)\n# cd(dir, options) {|dir| .... }\n# pwd()\n# mkdir(dir, options)\n# mkdir(list, options)\n# mkdir_p(dir, options)\n# mkdir_p(list, options)\n# rmdir(dir, options)\n# rmdir(list, options)\n# ln(old, new, options)\n# ln(list, destdir, options)\n# ln_s(old, new, options)\n# ln_s(list, destdir, options)\n# ln_sf(src, dest, options)\n# cp(src, dest, options)\n# cp(list, dir, options)\n# cp_r(src, dest, options)\n# cp_r(list, dir, options)\n# mv(src, dest, options)\n# mv(list, dir, options)\n# rm(list, options)\n# rm_r(list, options)\n# rm_rf(list, options)\n# install(src, dest, mode = <src's>, options)\n# chmod(mode, list, options)\n# chmod_R(mode, list, options)\n# "..., 4096) = 4096 >brk(0x7e1000) = 0x7e1000 >read(3, "ptions\n\n return false unless File.exist?(new)\n new_time = File.mtime(new)\n old_list.each do |old|\n if File.exist?(old)\n return false unless new_time > File.mtime(old)\n end\n end\n true\n end\n module_function :uptodate?\n\n #\n # Options: mode noop verbose\n # \n # Creates one or more directories.\n # \n # FileUtils.mkdir 'test'\n # FileUtils.mkdir %w( tmp data )\n # FileUtils.mkdir 'notexist', :noop => true # Does not really create.\n # FileUtils.mkdir 'tmp', :mode => 0700\n # \n def mkdir(list, options = {})\n fu_check_options options, OPT_TABLE['mkdir']\n list = fu_list(list)\n fu_output_message \"mkdir #{options[:mode] ? ('-m %03o ' % options[:mode]) : ''}#{list.join ' '}\" if options[:verbose]\n return if options[:noop]\n\n list.each do |dir|\n fu_mkdir dir, options[:mode]\n end\n end\n module_function :mkdir\n\n OPT_TABLE['mkdir'] = [:mode, :noop, :verbose]\n\n #\n # Options: mode noop verbose\n # \n # Creates a directory and all its parent directories.\n "..., 4096) = 4096 >read(3, "bin/cp are linked.\n # \n def ln(src, dest, options = {})\n fu_check_options options, OPT_TABLE['ln']\n fu_output_message \"ln#{options[:force] ? ' -f' : ''} #{[src,dest].flatten.join ' '}\" if options[:verbose]\n return if options[:noop]\n fu_each_src_dest0(src, dest) do |s,d|\n remove_file d, true if options[:force]\n File.link s, d\n end\n end\n module_function :ln\n\n alias link ln\n module_function :link\n\n OPT_TABLE['ln'] =\n OPT_TABLE['link'] = [:force, :noop, :verbose]\n\n #\n # Options: force noop verbose\n #\n # <b><tt>ln_s(old, new, options = {})</tt></b>\n # \n # Creates a symbolic link +new+ which points to +old+. If +new+ already\n # exists and it is a directory, creates a symbolic link +new/old+. If +new+\n # already exists and it is not a directory, raises Errno::EEXIST. But if\n # :force option is set, overwrite +new+.\n # \n # FileUtils.ln_s '/usr/bin/ruby', '/usr/local/bin/ruby'\n # FileUtils.ln_s 'verylongsourcefilename.c', 'c', :force => true\n # \n # <b><tt>ln_s(li"..., 4096) = 4096 >read(3, " # but this doesn't.\n # \n def cp_r(src, dest, options = {})\n fu_check_options options, OPT_TABLE['cp_r']\n fu_output_message \"cp -r#{options[:preserve] ? 'p' : ''}#{options[:remove_destination] ? ' --remove-destination' : ''} #{[src,dest].flatten.join ' '}\" if options[:verbose]\n return if options[:noop]\n options = options.dup\n options[:dereference_root] = true unless options.key?(:dereference_root)\n fu_each_src_dest(src, dest) do |s, d|\n copy_entry s, d, options[:preserve], options[:dereference_root], options[:remove_destination]\n end\n end\n module_function :cp_r\n\n OPT_TABLE['cp_r'] = [:preserve, :noop, :verbose,\n :dereference_root, :remove_destination]\n\n #\n # Copies a file system entry +src+ to +dest+.\n # If +src+ is a directory, this method copies its contents recursively.\n # This method preserves file types, c.f. symlink, directory...\n # (FIFO, device files and etc. are not supported yet)\n #\n # Both of +src+ and +dest+ must be a path"..., 4096) = 4096 >read(3, " # All StandardErrors are ignored when the :force option is set.\n # \n # FileUtils.rm %w( junk.txt dust.txt )\n # FileUtils.rm Dir.glob('*.so')\n # FileUtils.rm 'NotExistFile', :force => true # never raises exception\n # \n def rm(list, options = {})\n fu_check_options options, OPT_TABLE['rm']\n list = fu_list(list)\n fu_output_message \"rm#{options[:force] ? ' -f' : ''} #{list.join ' '}\" if options[:verbose]\n return if options[:noop]\n\n list.each do |path|\n remove_file path, options[:force]\n end\n end\n module_function :rm\n\n alias remove rm\n module_function :remove\n\n OPT_TABLE['rm'] =\n OPT_TABLE['remove'] = [:force, :noop, :verbose]\n\n #\n # Options: noop verbose\n # \n # Equivalent to\n #\n # #rm(list, :force => true)\n #\n def rm_f(list, options = {})\n fu_check_options options, OPT_TABLE['rm_f']\n options = options.dup\n options[:force] = true\n rm list, options\n end\n module_function :rm_f\n\n alias safe_unlink rm_f\n module_function :safe_unlink\n\n OPT_TABLE["..., 4096) = 4096 >read(3, " # WARNING: Only the owner of the removing directory tree, or Unix super\n # user (root) should invoke this method. Otherwise this method does not\n # work.\n #\n # For details of this security vulnerability, see Perl's case:\n #\n # http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0448\n # http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0452\n #\n # For fileutils.rb, this vulnerability is reported in [ruby-dev:26100].\n #\n def remove_entry_secure(path, force = false)\n unless fu_have_symlink?\n remove_entry path, force\n return\n end\n fullpath = File.expand_path(path)\n st = File.lstat(fullpath)\n unless st.directory?\n File.unlink fullpath\n return\n end\n # is a directory.\n parent_st = File.stat(File.dirname(fullpath))\n unless fu_world_writable?(parent_st)\n remove_entry path, force\n return\n end\n unless parent_st.sticky?\n raise ArgumentError, \"parent directory is world writable, FileUtils#remove_entry_secure does not work; "..., 4096) = 4096 >read(3, " = b.read(bsize)\n unless sa and sb\n if sa.nil? and sb.nil?\n return true\n end\n end\n end\n false\n end\n module_function :compare_stream\n\n #\n # Options: mode preserve noop verbose\n # \n # If +src+ is not same as +dest+, copies it and changes the permission\n # mode to +mode+. If +dest+ is a directory, destination is +dest+/+src+.\n # This method removes destination before copy.\n # \n # FileUtils.install 'ruby', '/usr/local/bin/ruby', :mode => 0755, :verbose => true\n # FileUtils.install 'lib.rb', '/usr/local/lib/ruby/site_ruby', :verbose => true\n # \n def install(src, dest, options = {})\n fu_check_options options, OPT_TABLE['install']\n fu_output_message \"install -c#{options[:preserve] && ' -p'}#{options[:mode] ? (' -m 0%o' % options[:mode]) : ''} #{[src,dest].flatten.join ' '}\" if options[:verbose]\n return if options[:noop]\n fu_each_src_dest(src, dest) do |s, d|\n unless File.exist?(d) and compare_file(s, d)\n remove_file d, true\n st ="..., 4096) = 4096 >brk(0x802000) = 0x802000 >read(3, "Utils.chown_R 'www', 'www', '/var/www/htdocs'\n # FileUtils.chown_R 'cvs', 'cvs', '/var/cvs', :verbose => true\n # \n def chown_R(user, group, list, options = {})\n fu_check_options options, OPT_TABLE['chown_R']\n list = fu_list(list)\n fu_output_message sprintf('chown -R%s %s%s',\n (options[:force] ? 'f' : ''),\n [user,group].compact.join(':') + ' ',\n list.join(' ')) if options[:verbose]\n return if options[:noop]\n uid = fu_get_uid(user)\n gid = fu_get_gid(group)\n return unless uid or gid\n list.each do |root|\n Entry_.new(root).traverse do |ent|\n begin\n ent.chown uid, gid\n rescue\n raise unless options[:force]\n end\n end\n end\n end\n module_function :chown_R\n\n OPT_TABLE['chown_R'] = [:noop, :verbose, :force]\n\n begin\n require 'etc'\n\n def fu_get_uid(user) #:nodoc:\n return nil unless user\n user = user.to_s\n if /\\A\\d+\\z/ =~ user\n "..., 4096) = 4096 >read(3, "ymlink?\n s = lstat!\n s and s.symlink?\n end\n\n def chardev?\n s = lstat!\n s and s.chardev?\n end\n\n def blockdev?\n s = lstat!\n s and s.blockdev?\n end\n\n def socket?\n s = lstat!\n s and s.socket?\n end\n\n def pipe?\n s = lstat!\n s and s.pipe?\n end\n\n S_IF_DOOR = 0xD000\n\n def door?\n s = lstat!\n s and (s.mode & 0xF000 == S_IF_DOOR)\n end\n\n def entries\n Dir.entries(path())\\\n .reject {|n| n == '.' or n == '..' }\\\n .map {|n| Entry_.new(prefix(), join(rel(), n.untaint)) }\n end\n\n def stat\n return @stat if @stat\n if lstat() and lstat().symlink?\n @stat = File.stat(path())\n else\n @stat = lstat()\n end\n @stat\n end\n\n def stat!\n return @stat if @stat\n if lstat! and lstat!.symlink?\n @stat = File.stat(path())\n else\n @stat = lstat!\n end\n @stat\n rescue SystemCallError\n nil\n end\n\n def lstat\n if dereference?\n "..., 4096) = 4096 >read(3, " private\n\n $fileutils_rb_have_lchmod = nil\n\n def have_lchmod?\n # This is not MT-safe, but it does not matter.\n if $fileutils_rb_have_lchmod == nil\n $fileutils_rb_have_lchmod = check_have_lchmod?\n end\n $fileutils_rb_have_lchmod\n end\n\n def check_have_lchmod?\n return false unless File.respond_to?(:lchmod)\n File.lchmod 0\n return true\n rescue NotImplementedError\n return false\n end\n\n $fileutils_rb_have_lchown = nil\n\n def have_lchown?\n # This is not MT-safe, but it does not matter.\n if $fileutils_rb_have_lchown == nil\n $fileutils_rb_have_lchown = check_have_lchown?\n end\n $fileutils_rb_have_lchown\n end\n\n def check_have_lchown?\n return false unless File.respond_to?(:lchown)\n File.lchown nil, nil\n return true\n rescue NotImplementedError\n return false\n end\n\n def join(dir, base)\n return dir.to_str if not base or base == '.'\n return base.to_str if not dir or dir == '.'\n File.j"..., 4096) = 4096 >read(3, ") #=> [\"cp\", \"cp_r\", \"copy\", \"install\"]\n #\n def FileUtils.collect_method(opt)\n OPT_TABLE.keys.select {|m| OPT_TABLE[m].include?(opt) }\n end\n\n METHODS = singleton_methods() - %w( private_module_function\n commands options have_option? options_of collect_method )\n\n # \n # This module has all methods of FileUtils module, but it outputs messages\n # before acting. This equates to passing the <tt>:verbose</tt> flag to\n # methods in FileUtils.\n # \n module Verbose\n include FileUtils\n @fileutils_output = $stderr\n @fileutils_label = ''\n ::FileUtils.collect_method(:verbose).each do |name|\n module_eval(<<-EOS, __FILE__, __LINE__ + 1)\n def #{name}(*args)\n super(*fu_update_option(args, :verbose => true))\n end\n private :#{name}\n EOS\n end\n extend self\n class << self\n ::FileUtils::METHODS.each do |m|\n public m\n end\n end\n end\n\n # \n # This module has all methods of FileUtils module, but never changes\n # files/directories. T"..., 4096) = 2282 >read(3, "", 4096) = 0 >close(3) = 0 >munmap(0x2b2e0bf2e000, 4096) = 0 >stat("../../etc.rb", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("../../etc.so", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("../.././lib/etc.rb", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("../.././lib/etc.so", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("../../.ext/x86_64-linux/etc.rb", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("../../.ext/x86_64-linux/etc.so", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("../../.ext/common/etc.rb", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("../../.ext/common/etc.so", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("./etc.rb", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >stat("./etc.so", 0x7fff7b10e950) = -1 ENOENT (No such file or directory) >rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 >brk(0x823000) = 0x823000 >stat("../../shellwords.rb", 0x7fff7b110500) = -1 ENOENT (No such file or directory) >stat("../../shellwords.so", 0x7fff7b110500) = -1 ENOENT (No such file or directory) >stat("../.././lib/shellwords.rb", {st_mode=S_IFREG|0644, st_size=4086, ...}) = 0 >open("../.././lib/shellwords.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=4086, ...}) = 0 >close(3) = 0 >stat("../../shellwords.rb", 0x7fff7b110520) = -1 ENOENT (No such file or directory) >stat("../.././lib/shellwords.rb", {st_mode=S_IFREG|0644, st_size=4086, ...}) = 0 >open("../.././lib/shellwords.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=4086, ...}) = 0 >close(3) = 0 >open("../.././lib/shellwords.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=4086, ...}) = 0 >close(3) = 0 >open("../.././lib/shellwords.rb", O_RDONLY) = 3 >close(3) = 0 >open("../.././lib/shellwords.rb", O_RDONLY) = 3 >fstat(3, {st_mode=S_IFREG|0644, st_size=4086, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2e000 >read(3, "#\n# shellwords.rb: Manipulates strings a la UNIX Bourne shell\n#\n\n#\n# This module manipulates strings according to the word parsing rules\n# of the UNIX Bourne shell.\n#\n# The shellwords() function was originally a port of shellwords.pl,\n# but modified to conform to POSIX / SUSv3 (IEEE Std 1003.1-2001).\n#\n# Authors:\n# - Wakou Aoyama\n# - Akinori MUSHA <knu@iDaemons.org>\n#\n# Contact:\n# - Akinori MUSHA <knu@iDaemons.org> (current maintainer)\n#\nmodule Shellwords\n #\n # Splits a string into an array of tokens in the same way the UNIX\n # Bourne shell does.\n #\n # argv = Shellwords.split('here are \"two words\"')\n # argv #=> [\"here\", \"are\", \"two words\"]\n #\n # +String#shellsplit+ is a shorthand for this function.\n #\n # argv = 'here are \"two words\"'.shellsplit\n # argv #=> [\"here\", \"are\", \"two words\"]\n #\n def shellsplit(line)\n line = String.new(line) rescue\n raise(ArgumentError, \"Argument must be a string\")\n line.lstrip!\n words = []\n until line.empty?\n field = ''\n loop do\n"..., 4096) = 4086 >read(3, "", 4096) = 0 >close(3) = 0 >munmap(0x2b2e0bf2e000, 4096) = 0 >getcwd("/usr/src/packages/BUILD/ruby-1.8.7-p352/ext/dl", 200) = 47 >getcwd("/usr/src/packages/BUILD/ruby-1.8.7-p352/ext/dl", 200) = 47 >stat("../.././ruby.h", {st_mode=S_IFREG|0644, st_size=22497, ...}) = 0 >stat("../../config.h", {st_mode=S_IFREG|0644, st_size=5664, ...}) = 0 >dup(2) = 3 >fcntl(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) >fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bf2e000 >lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) >lseek(2, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) >lseek(3, 18446744073709551615, SEEK_SET) = -1 ESPIPE (Illegal seek) >dup(1) = 4 >fcntl(4, F_GETFL) = 0x8001 (flags O_WRONLY|O_LARGEFILE) >fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bfdf000 >lseek(4, 0, SEEK_CUR) = 0 >fstat(1, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bfe0000 >lseek(1, 0, SEEK_CUR) = 0 >lseek(4, 0, SEEK_SET) = 0 >getcwd("/usr/src/packages/BUILD/ruby-1.8.7-p352/ext/dl", 200) = 47 >getcwd("/usr/src/packages/BUILD/ruby-1.8.7-p352/ext/dl", 200) = 47 >stat("../.././ext/dl/type.rb", {st_mode=S_IFREG|0644, st_size=2253, ...}) = 0 >open("../.././ext/dl/type.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=2253, ...}) = 0 >close(5) = 0 >stat("../.././ext/dl/type.rb", {st_mode=S_IFREG|0644, st_size=2253, ...}) = 0 >open("../.././ext/dl/type.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=2253, ...}) = 0 >close(5) = 0 >open("../.././ext/dl/type.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=2253, ...}) = 0 >close(5) = 0 >open("../.././ext/dl/type.rb", O_RDONLY) = 5 >close(5) = 0 >open("../.././ext/dl/type.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=2253, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bfe1000 >read(5, "# example:\n# DLTYPE[INT][:rb2c][\"arg0\"] => \"NUM2INT(arg0)\"\n# DLTYPE[DOUBLE][:c2rb][\"r\"] => \"rb_float_new(r)\"\n\nDLTYPE = {\n VOID = 0x00 => {\n :name => 'VOID',\n :rb2c => nil,\n :c2rb => nil,\n :ctype => \"void\",\n :stmem => \"v\",\n :sym => true,\n :cb => true,\n },\n CHAR = 0x01 => {\n :name => 'CHAR',\n :rb2c => proc{|x| \"NUM2CHR(#{x})\"},\n :c2rb => proc{|x| \"CHR2FIX(#{x})\"},\n :ctype => \"char\",\n :stmem => \"c\",\n :sym => false,\n :cb => false,\n },\n SHORT = 0x02 => {\n :name => 'SHORT',\n :rb2c => proc{|x| \"FIX2INT(#{x})\"},\n :c2rb => proc{|x| \"INT2FIX(#{x})\"},\n :ctype => \"short\",\n :stmem => \"h\",\n :sym => false,\n :cb => false,\n },\n INT = 0x03 => {\n :name => 'INT',\n :rb2c => proc{|x| \"NUM2INT(#{x})\"},\n :c2rb => proc{|x| \"INT2NUM(#{x})\"},\n :ctype => \"int\",\n :stmem => \"i\",\n :sym => true,\n :cb => false,\n },\n LONG = 0x04 => {\n :name => 'LONG',\n :rb2c => proc{|x| \"NUM2INT(#{x})\"},\n :c2rb => proc{|x| \"INT2NUM(#{x})\"},\n :ctype "..., 4096) = 2253 >read(5, "", 4096) = 0 >close(5) = 0 >munmap(0x2b2e0bfe1000, 4096) = 0 >stat("../.././ext/dl/dlconfig.rb", {st_mode=S_IFREG|0644, st_size=239, ...}) = 0 >open("../.././ext/dl/dlconfig.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=239, ...}) = 0 >close(5) = 0 >stat("../.././ext/dl/dlconfig.rb", {st_mode=S_IFREG|0644, st_size=239, ...}) = 0 >open("../.././ext/dl/dlconfig.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=239, ...}) = 0 >close(5) = 0 >open("../.././ext/dl/dlconfig.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=239, ...}) = 0 >close(5) = 0 >open("../.././ext/dl/dlconfig.rb", O_RDONLY) = 5 >close(5) = 0 >open("../.././ext/dl/dlconfig.rb", O_RDONLY) = 5 >fstat(5, {st_mode=S_IFREG|0644, st_size=239, ...}) = 0 >mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2e0bfe1000 >read(5, "MAX_ARG = 0\nMAX_CALLBACK = 10\nCALLBACK_TYPES = 8\nDLTYPE[CHAR][:sym] = true\nDLTYPE[SHORT][:sym] = true\nDLTYPE[INT][:sym] = true\nDLTYPE[LONG][:sym] = true\nDLTYPE[FLOAT][:sym] = true\nDLTYPE[DOUBLE][:sym]= true\nDLTYPE[VOIDP][:sym] = false\n", 4096) = 239 >read(5, "", 4096) = 0 >close(5) = 0 >munmap(0x2b2e0bfe1000, 4096) = 0 >write(1, "static void\nrb_dl_callback_func_0_0(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(0),INT2NUM(0)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval"..., 4096) = 4096 >write(1, "rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n /* no return value */\n}\n\nstatic void\nrb_dl_callback_func_0_4(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(0),INT2NUM(4)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");"..., 4096) = 4096 >write(1, "12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(0),INT2NUM(7)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n /* no return value */\n}\n\nstatic void\nrb_dl_callback_func_0_8(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n b"..., 4096) = 4096 >write(1, "\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(1),INT2NUM(1)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return NUM2CHR(retval);\n}\n\nstatic char\nrb_dl_callback_func_1_2(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11"..., 4096) = 4096 >write(1, "d_call, argc, argv);\n\n return NUM2CHR(retval);\n}\n\nstatic char\nrb_dl_callback_func_1_5(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(1),INT2NUM(5)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_arg"..., 4096) = 4096 >write(1, "obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return NUM2CHR(retval);\n}\n\nstatic char\nrb_dl_callback_func_1_9(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(1),INT2NUM(9)));\n if(NIL_P(obj))\n rb_raise(rb_eDLE"..., 4096) = 4096 >write(1, "[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(2),INT2NUM(2)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return FIX2INT(retval);\n}\n\nstatic short\nrb_dl_callback_func_2_3(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n bu"..., 4096) = 4096 >write(1, "arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(2),INT2NUM(6)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return FIX2INT(retval);\n}\n\nstatic short\nrb_dl_callback_func_2_7(long arg0, long arg1, long arg2, long arg3, long arg4"..., 4096) = 4096 >write(1, "back_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return FIX2INT(retval);\n}\n\nstatic int\nrb_dl_callback_func_3_0(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(3),INT2NUM(0)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= "..., 4096) = 4096 >write(1, "eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return NUM2INT(retval);\n}\n\nstatic int\nrb_dl_callback_func_3_4(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable,"..., 4096) = 4096 >write(1, "] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(3),INT2NUM(7)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return NUM2INT(retval);\n}\n\nstatic int\nrb_dl_callback_func_3_8(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1"..., 4096) = 4096 >write(1, "5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(4),INT2NUM(1)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return NUM2INT(retval);\n}\n\nstatic long\nrb_dl_callback"..., 4096) = 4096 >write(1, "_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return NUM2INT(retval);\n}\n\nstatic long\nrb_dl_callback_func_4_5(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(4),INT2NUM(5)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1)"..., 4096) = 4096 >write(1, "oc_new(INT2NUM(4),INT2NUM(8)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return NUM2INT(retval);\n}\n\nstatic long\nrb_dl_callback_func_4_9(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[1"..., 4096) = 4096 >write(1, "];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(5),INT2NUM(2)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return (float)(RFLOAT(retval)->value);\n}\n\nstatic float\nrb_dl_callback_func_5_3(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long"..., 4096) = 4096 >write(1, " id_call, argc, argv);\n\n return (float)(RFLOAT(retval)->value);\n}\n\nstatic float\nrb_dl_callback_func_5_6(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(5),INT2NUM(6)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl"..., 4096) = 4096 >write(1, "callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return (float)(RFLOAT(retval)->value);\n}\n\nstatic double\nrb_dl_callback_func_6_0(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFun"..., 4096) = 4096 >write(1, "= arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(6),INT2NUM(3)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return RFLOAT(retval)->value;\n}\n\nstatic double\nrb_dl_callback_func_6_4(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n "..., 4096) = 4096 >write(1, "_6_7(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(6),INT2NUM(7)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, a"..., 4096) = 4096 >write(1, "b_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return rb_dlptr2cptr(retval);\n}\n\nstatic void *\nrb_dl_callback_func_7_1(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(7),INT2NUM(1)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::Fun"..., 4096) = 4096 >write(1, "0;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(7),INT2NUM(4)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return rb_dlptr2cptr(retval);\n}\n\nstatic void *\nrb_dl_callback_func_7_5(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long arg8, long arg9, long arg10, long arg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6"..., 4096) = 4096 >rt_sigaction(SIGINT, {SIG_DFL, [INT], SA_RESTORER|SA_RESTART, 0x2b2e0c99ebe0}, {0x47afc0, [], SA_RESTORER, 0x2b2e0c99ebe0}, 8) = 0 >lseek(4, 0, SEEK_SET) = 0 >close(4) = 0 >munmap(0x2b2e0bfdf000, 4096) = 0 >close(3) = 0 >munmap(0x2b2e0bf2e000, 4096) = 0 >write(1, "rg11, long arg12, long arg13, long arg14)\n{\n VALUE retval, proto, proc, obj;\n VALUE argv[15];\n int argc;\n long buff[15];\n\n buff[0] = arg0;\n buff[1] = arg1;\n buff[2] = arg2;\n buff[3] = arg3;\n buff[4] = arg4;\n buff[5] = arg5;\n buff[6] = arg6;\n buff[7] = arg7;\n buff[8] = arg8;\n buff[9] = arg9;\n buff[10] = arg10;\n buff[11] = arg11;\n buff[12] = arg12;\n buff[13] = arg13;\n buff[14] = arg14;\n\n obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(7),INT2NUM(8)));\n if(NIL_P(obj))\n rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");\n Check_Type(obj, T_ARRAY);\n proto = rb_ary_entry(obj, 0);\n proc = rb_ary_entry(obj, 1);\n Check_Type(proto, T_STRING);\n if( RSTRING(proto)->len >= 15 )\n rb_raise(rb_eArgError, \"too many arguments\");\n rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);\n retval = rb_funcall2(proc, id_call, argc, argv);\n\n return rb_dlptr2cptr(retval);\n}\n\nstatic void *\nrb_dl_callback_func_7_9(long arg0, long arg1, long arg2, long arg3, lon"..., 2044) = 2044 >exit_group(0) = ?
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
Attachments on
bug 711829
:
445433
|
445434
| 445435 |
445440
|
445594