śr., 13 lut 2019 o 17:45 Paweł Chmiel pawel.mikolaj.chmiel@gmail.com napisał(a):
śr., 13 lut 2019 o 17:33 H. Nikolaus Schaller hns@goldelico.com napisał(a):
Hi Pawel,
Am 13.02.2019 um 08:36 schrieb Paweł Chmiel pawel.mikolaj.chmiel@gmail.com:
Do You have strace of pvrsrvinit run ? They should be almost identical to one which i have.
I have digged out a version where pvrsrvinit succeeds on our omap3530 based gta04 board (kernel 4.15.17).
oot@letux:~# strace pvrsrvctl --start --no-module execve("/usr/local/bin/pvrsrvctl", ["pvrsrvctl", "--start", "--no-module"], [/* 14 vars */]) = 0 brk(0) = 0x12000 uname({sys="Linux", node="letux", ...}) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6efd000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/v7l/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls/v7l/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/v7l/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls/v7l/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/v7l/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls/v7l/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/v7l/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls/v7l", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/tls/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/tls", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/v7l/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/v7l/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/v7l/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/v7l/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/v7l/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/v7l/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/v7l/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/v7l", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/usr/local/XSGX/lib/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/usr/local/XSGX/lib", 0xbeb3d420) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=45046, ...}) = 0 mmap2(NULL, 45046, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6ef2000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/libsrv_init.so", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0<\7\0\0004\0\0\0"..., 512) = 512 lseek(3, 94656, SEEK_SET) = 94656 read(3, "\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"..., 1040) = 1040 lseek(3, 94346, SEEK_SET) = 94346 read(3, "A6\0\0\0aeabi\0\1,\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 55) = 55 fstat64(3, {st_mode=S_IFREG|0755, st_size=95696, ...}) = 0 mmap2(NULL, 127076, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6eb8000 mprotect(0xb6ecf000, 28672, PROT_NONE) = 0 mmap2(0xb6ed6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0xb6ed6000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0Mw\1\0004\0\0\0"..., 512) = 512 lseek(3, 908188, SEEK_SET) = 908188 read(3, "\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"..., 2880) = 2880 lseek(3, 904740, SEEK_SET) = 904740 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0755, st_size=911068, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ef1000 mmap2(NULL, 980392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6dc8000 mprotect(0xb6ea3000, 61440, PROT_NONE) = 0 mmap2(0xb6eb2000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xda000) = 0xb6eb2000 mmap2(0xb6eb5000, 9640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6eb5000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/libsrv_um.so", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\340#\0\0004\0\0\0"..., 512) = 512 lseek(3, 168544, SEEK_SET) = 168544 read(3, "\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"..., 1120) = 1120 lseek(3, 168210, SEEK_SET) = 168210 read(3, "A6\0\0\0aeabi\0\1,\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 55) = 55 fstat64(3, {st_mode=S_IFREG|0755, st_size=169664, ...}) = 0 mmap2(NULL, 200992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d96000 mprotect(0xb6dbe000, 28672, PROT_NONE) = 0 mmap2(0xb6dc5000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0xb6dc5000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240\t\0\0004\0\0\0"..., 512) = 512 lseek(3, 8664, SEEK_SET) = 8664 read(3, "\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"..., 1160) = 1160 lseek(3, 8328, SEEK_SET) = 8328 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0644, st_size=9824, ...}) = 0 mmap2(NULL, 73912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d83000 mprotect(0xb6d85000, 61440, PROT_NONE) = 0 mmap2(0xb6d94000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6d94000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0EQ\0\0004\0\0\0"..., 512) = 512 lseek(3, 100684, SEEK_SET) = 100684 read(3, "\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"..., 1520) = 1520 lseek(3, 65940, SEEK_SET) = 65940 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0755, st_size=102204, ...}) = 0 mmap2(NULL, 139836, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d60000 mprotect(0xb6d70000, 61440, PROT_NONE) = 0 mmap2(0xb6d7f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0xb6d7f000 mmap2(0xb6d81000, 4668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6d81000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@\30\0\0004\0\0\0"..., 512) = 512 lseek(3, 21260, SEEK_SET) = 21260 read(3, "\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"..., 1320) = 1320 lseek(3, 20868, SEEK_SET) = 20868 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0644, st_size=22580, ...}) = 0 mmap2(NULL, 86588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d4a000 mprotect(0xb6d4f000, 61440, PROT_NONE) = 0 mmap2(0xb6d5e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb6d5e000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\230\321\0\0004\0\0\0"..., 512) = 512 lseek(3, 99900, SEEK_SET) = 99900 read(3, "\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"..., 1120) = 1120 lseek(3, 99568, SEEK_SET) = 99568 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=101020, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ef0000 mmap2(NULL, 165160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d21000 mprotect(0xb6d3a000, 61440, PROT_NONE) = 0 mmap2(0xb6d49000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xb6d49000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d20000 set_tls(0xb6d204c0, 0xb6f00058, 0xb6d20ba8, 0xb6d204c0, 0xb6f00058) = 0 mprotect(0xb6eb2000, 8192, PROT_READ) = 0 mprotect(0xb6d7f000, 4096, PROT_READ) = 0 mprotect(0xb6d5e000, 4096, PROT_READ) = 0 mprotect(0xb6d94000, 4096, PROT_READ) = 0 mprotect(0xb6dc5000, 8192, PROT_READ) = 0 mprotect(0xb6ed6000, 4096, PROT_READ) = 0 mprotect(0x10000, 4096, PROT_READ) = 0 mprotect(0xb6eff000, 4096, PROT_READ) = 0 munmap(0xb6ef2000, 45046) = 0 set_tid_address(0xb6d20068) = 2672 set_robust_list(0xb6d20070, 12) = 0 rt_sigaction(SIGRTMIN, {0xb6d64d9d, [], SA_RESTORER|SA_SIGINFO, 0xb6deeb01}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0xb6d64cbd, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0xb6deeb01}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 brk(0) = 0x12000 brk(0x33000) = 0x33000 open("/dev/pvrsrvkm", O_RDWR) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, 0xc01c670c, 0xbeb3e9bc) = 0 ioctl(3, 0xc01c6744, 0xbeb3e9fc) = 0 ioctl(3, 0xc01c6700, 0xbeb3e8a4) = 0 ioctl(3, 0xc01c6701, 0xbeb3e90c) = 0 ioctl(3, 0xc01c6763, 0xbeb3e614) = 0 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000005000) = 0xb6efb000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000006000) = 0xb6efa000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000007000) = 0xb6ef9000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000008000) = 0xb6ef8000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000009000) = 0xb6ef7000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000a000) = 0xb6ef6000 ioctl(3, 0xc01c6706, 0xbeb3e80c) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7cc) = 0 mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000b000) = 0xb6d19000 open("/etc/powervr.ini", O_RDONLY) = -1 ENOENT (No such file or directory) open("powervr.ini", O_RDONLY) = -1 ENOENT (No such file or directory) ioctl(3, 0xc01c6706, 0xbeb3e80c) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7cc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000c000) = 0xb6ef5000 ioctl(3, 0xc01c6706, 0xbeb3e80c) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7cc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000d000) = 0xb6ef4000 ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000e000) = 0xb6d13000 ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000f000) = 0xb6d0d000 ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000010000) = 0xb6d08000 ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000011000) = 0xb6d02000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000012000) = 0xb6ef3000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000013000) = 0xb6ef2000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000014000) = 0xb6d01000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000015000) = 0xb6d00000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000016000) = 0xb6cff000 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6efb000, 8192) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6efa000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef9000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef7000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef8000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef6000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6d19000, 28672) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef5000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef4000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6d13000, 24576) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6d0d000, 24576) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6d02000, 24576) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6d08000, 20480) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef3000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6ef2000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6d01000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6d00000, 4096) = 0 ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 munmap(0xb6cff000, 4096) = 0 ioctl(3, 0xc01c6764, 0xbeb3e91c) = 0 ioctl(3, 0xc01c6745, 0xbeb3e9ec) = 0 ioctl(3, 0xc01c670d, 0xbeb3e9c4) = 0 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ root@letux:~#
root@letux:~# ls -l /dev/pvrsrvkm crw------- 1 root root 240, 0 Jan 1 00:06 /dev/pvrsrvkm root@letux:~# uname -a Linux letux 4.15.17-letux+ #3337 SMP PREEMPT Wed Feb 13 16:56:27 CET 2019 armv7l GNU/Linux root@letux:~# ./gpu-demo autodetected driver package: omap3630-sgx530-125 compatible driver: omap3630_sgx530_125 System Version String: SGX revision = 125 ----------------- SGX CLipBlit test ----------------- ---------------------- Start ------------------------ Call PVRSRVConnect with a valid argument: OK Get number of devices from PVRSRVEnumerateDevices: OK .... Reported 1 devices .... Device Number | Device Type 0000 | PVRSRV_DEVICE_ID_SGX Attempt to acquire device 0: OK Getting SGX Client info OK .... ui32ProcessID:2691 Display Class API: enumerate devices OK PVRSRVEnumerateDeviceClass() returns 0 display device(s) FAIL - PVRSRV_ERROR_NO_DC_DEVICES_FOUND(134) ./gpu-demo: line 71: 2691 Aborted sgx_clipblit_test root@letux:~#
Where i could find that SGX_ClipBlit test (source or binary)?
As you can see the firmware is loaded and connected successfully. Then it just fails to enumerate a display which is the missing/unfixed omaplfb.
Some newer kernels did fail with
rt_sigaction(SIGRTMIN, {0xb6e07d9d, [], SA_RESTORER|SA_SIGINFO, 0xb6e91b01}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0xb6e07cbd, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0xb6e91b01}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 brk(0) = 0x12000 brk(0x33000) = 0x33000 open("/dev/pvrsrvkm", O_RDWR) = -1 ENOMEM (Cannot allocate memory) write(2, "pvrsrvctl: SrvInit failed (alrea"..., 57pvrsrvctl: SrvInit failed (already initialized?) (err=4) ) = 57 exit_group(1) = ? +++ exited with 1 +++
So I have to check what did break in between. And when. Most likely something with memory allocation.
For mainline You will probably need https://github.com/PabloPL/linux/commit/de0f7e299d94f5dfdcf15375ec2d3ace54ac... because powervr is using some strange pointers.
root@aries:~# uname -a Linux aries 5.0.0-rc4+ #246 PREEMPT Wed Feb 13 17:51:02 CET 2019 armv7l armv7l armv7l GNU/Linux root@aries:~# cat /proc/pvr/version Version CustomerGoogle_Android_ogles1_ogles2_GPL sgxddk 18 1.8.GOOGLENEXUS.ED945322@2112805 (debug) smdkc110_android System Version String: None root@aries:~# strace /system/bin/pvrsrvinit execve("/system/bin/pvrsrvinit", ["/system/bin/pvrsrvinit"], 0x7ecb26e0 /* 22 vars */) = 0 set_tls(0x76fc7584) = 0 set_tid_address(0x76fc753c) = 2931 mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f5f000 madvise(0x76f5f000, 12288, MADV_MERGEABLE) = 0 mprotect(0x76f5f000, 4096, PROT_NONE) = 0 sigaltstack({ss_sp=0x76f60000, ss_flags=0, ss_size=8192}, NULL) = 0 prctl(PR_SET_VMA, 0, 0x76f60000, 0x2000, 0x76fb9c7d) = 0 prctl(PR_SET_VMA, 0, 0x76f5f000, 0x1000, 0x76fb9c91) = 0 mprotect(0x76fc1000, 8192, PROT_READ) = 0 mprotect(0x76fc6000, 4096, PROT_READ) = 0 mprotect(0x76fc6000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc6000, 4096, PROT_READ) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76fc0000 madvise(0x76fc0000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76fc0000, 0x1000, 0x76fb9bbb) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0 ioctl(3, RNDGETENTCNT, 0x7ea723bc) = 0 read(3, "\357@~q\253\0344'/[#\214\31\231\277\340\320\20\243\1\1?\7\342-\210\207\224j2\310\231"..., 40) = 40 close(3) = 0 mmap2(NULL, 8, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f5e000 madvise(0x76f5e000, 8, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5e000, 0x8, 0x76fb9826) = 0 mmap2(NULL, 1088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f5d000 madvise(0x76f5d000, 1088, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5d000, 0x440, 0x76fb983f) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f5c000 madvise(0x76f5c000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5c000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f5b000 madvise(0x76f5b000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5b000, 0xc, 0x76fb5f6f) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f5a000 madvise(0x76f5a000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5a000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f59000 madvise(0x76f59000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f59000, 0xc, 0x76fb5f6f) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f58000 madvise(0x76f58000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f58000, 0x1000, 0x76fb5f83) = 0 personality(0xffffffff) = 0x800000 (PER_LINUX|ADDR_LIMIT_32BIT) personality(PER_LINUX32|ADDR_LIMIT_32BIT) = 0x800000 (PER_LINUX|ADDR_LIMIT_32BIT) fstatat64(AT_FDCWD, "/dev/__properties__", 0x7ea71380, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/dev/__properties__", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory) sigaction(SIGABRT, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGBUS, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGFPE, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGILL, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGSEGV, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGSTKFLT, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGTRAP, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 fstatat64(AT_FDCWD, "/proc/self/exe", {st_mode=S_IFREG|0755, st_size=13916, ...}, 0) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 futex(0x76fc4778, FUTEX_WAKE_PRIVATE, 2147483647) = 0 readlinkat(AT_FDCWD, "/proc/self/exe", "/system/bin/pvrsrvinit", 4096) = 22 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f57000 madvise(0x76f57000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f57000, 0x1000, 0x76fb5f83) = 0 fstatat64(AT_FDCWD, "/system", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0 fstatat64(AT_FDCWD, "/system/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0 fstatat64(AT_FDCWD, "/vendor", 0x7ea6e368, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f56000 madvise(0x76f56000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f56000, 0x1000, 0x76fb5f83) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f55000 madvise(0x76f55000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f55000, 0x1000, 0x76fb5f83) = 0 openat(AT_FDCWD, "/system/lib/libc.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f53000 madvise(0x76f53000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f53000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f51000 madvise(0x76f51000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f51000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib/libc.so", 4096) = 19 munmap(0x76f51000, 8192) = 0 munmap(0x76f53000, 8192) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=761948, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f54000 madvise(0x76f54000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f54000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f53000 madvise(0x76f53000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f53000, 0xc, 0x76fb5f6f) = 0 pread64(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f52000 mmap2(NULL, 7016, PROT_READ, MAP_PRIVATE, 3, 0xb9000) = 0x76f50000 mmap2(NULL, 1920, PROT_READ, MAP_PRIVATE, 3, 0x83000) = 0x76f4f000 mmap2(NULL, 25140, PROT_READ, MAP_PRIVATE, 3, 0x5000) = 0x76f48000 openat(AT_FDCWD, "/system/lib/libcutils.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f46000 madvise(0x76f46000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f46000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f44000 madvise(0x76f44000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f44000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/4", "/system/lib/libcutils.so", 4096) = 24 munmap(0x76f44000, 8192) = 0 munmap(0x76f46000, 8192) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=100400, ...}) = 0 pread64(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 4, 0) = 0x76f47000 mmap2(NULL, 2992, PROT_READ, MAP_PRIVATE, 4, 0x18000) = 0x76f46000 mmap2(NULL, 5880, PROT_READ, MAP_PRIVATE, 4, 0x17000) = 0x76f44000 mmap2(NULL, 14500, PROT_READ, MAP_PRIVATE, 4, 0x1000) = 0x76f40000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3f000 madvise(0x76f3f000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3f000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3e000 madvise(0x76f3e000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3e000, 0xc, 0x76fb5f6f) = 0 openat(AT_FDCWD, "/system/lib/libc++.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3c000 madvise(0x76f3c000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3c000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3a000 madvise(0x76f3a000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3a000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/5", "/system/lib/libc++.so", 4096) = 21 munmap(0x76f3a000, 8192) = 0 munmap(0x76f3c000, 8192) = 0 fstat64(5, {st_mode=S_IFREG|0644, st_size=575132, ...}) = 0 pread64(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 5, 0) = 0x76f3d000 mmap2(NULL, 2224, PROT_READ, MAP_PRIVATE, 5, 0x8c000) = 0x76f3c000 mmap2(NULL, 6432, PROT_READ, MAP_PRIVATE, 5, 0x8a000) = 0x76f3a000 mmap2(NULL, 110556, PROT_READ, MAP_PRIVATE, 5, 0x9000) = 0x76f1f000 openat(AT_FDCWD, "/system/lib/libm.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f1d000 madvise(0x76f1d000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f1d000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f1b000 madvise(0x76f1b000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f1b000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/6", "/system/lib/libm.so", 4096) = 19 munmap(0x76f1b000, 8192) = 0 munmap(0x76f1d000, 8192) = 0 fstat64(6, {st_mode=S_IFREG|0644, st_size=132884, ...}) = 0 pread64(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 6, 0) = 0x76f1e000 mmap2(NULL, 2424, PROT_READ, MAP_PRIVATE, 6, 0x20000) = 0x76f1d000 mmap2(NULL, 6600, PROT_READ, MAP_PRIVATE, 6, 0x1f000) = 0x76f1b000 mmap2(NULL, 8839, PROT_READ, MAP_PRIVATE, 6, 0x1000) = 0x76f18000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f16000 madvise(0x76f16000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f16000, 0xc, 0x76fb5f6f) = 0 openat(AT_FDCWD, "/system/lib/libsrv_init.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 7 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f14000 madvise(0x76f14000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f14000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f12000 madvise(0x76f12000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f12000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/7", "/system/lib/libsrv_init.so", 4096) = 26 munmap(0x76f12000, 8192) = 0 munmap(0x76f14000, 8192) = 0 fstat64(7, {st_mode=S_IFREG|0644, st_size=106296, ...}) = 0 pread64(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\30\6\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 232, PROT_READ, MAP_PRIVATE, 7, 0) = 0x76f15000 mmap2(NULL, 7232, PROT_READ, MAP_PRIVATE, 7, 0x19000) = 0x76f13000 mmap2(NULL, 5888, PROT_READ, MAP_PRIVATE, 7, 0x19000) = 0x76f11000 mmap2(NULL, 2074, PROT_READ, MAP_PRIVATE, 7, 0) = 0x76f10000 openat(AT_FDCWD, "/system/lib/libsrv_um.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 8 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f0e000 madvise(0x76f0e000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f0e000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f0c000 madvise(0x76f0c000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f0c000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/8", "/system/lib/libsrv_um.so", 4096) = 24 munmap(0x76f0c000, 8192) = 0 munmap(0x76f0e000, 8192) = 0 fstat64(8, {st_mode=S_IFREG|0644, st_size=150024, ...}) = 0 pread64(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0T"\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 232, PROT_READ, MAP_PRIVATE, 8, 0) = 0x76f0f000 mmap2(NULL, 4456, PROT_READ, MAP_PRIVATE, 8, 0x24000) = 0x76f0d000 mmap2(NULL, 2544, PROT_READ, MAP_PRIVATE, 8, 0x24000) = 0x76f0c000 mmap2(NULL, 2909, PROT_READ, MAP_PRIVATE, 8, 0x1000) = 0x76f0b000 openat(AT_FDCWD, "/system/lib/liblog.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 9 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f09000 madvise(0x76f09000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f09000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f07000 madvise(0x76f07000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f07000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/9", "/system/lib/liblog.so", 4096) = 21 munmap(0x76f07000, 8192) = 0 munmap(0x76f09000, 8192) = 0 fstat64(9, {st_mode=S_IFREG|0644, st_size=63428, ...}) = 0 pread64(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 9, 0) = 0x76f0a000 mmap2(NULL, 2816, PROT_READ, MAP_PRIVATE, 9, 0xf000) = 0x76f09000 mmap2(NULL, 6504, PROT_READ, MAP_PRIVATE, 9, 0xe000) = 0x76f07000 mmap2(NULL, 6667, PROT_READ, MAP_PRIVATE, 9, 0x1000) = 0x76f05000 openat(AT_FDCWD, "/system/lib/libsrv_um.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 10 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f03000 madvise(0x76f03000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f03000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f01000 madvise(0x76f01000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f01000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/10", "/system/lib/libsrv_um.so", 4096) = 24 munmap(0x76f01000, 8192) = 0 munmap(0x76f03000, 8192) = 0 fstat64(10, {st_mode=S_IFREG|0644, st_size=150024, ...}) = 0 openat(AT_FDCWD, "/system/lib/libhardware.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 11 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f03000 madvise(0x76f03000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f03000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f01000 madvise(0x76f01000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f01000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/11", "/system/lib/libhardware.so", 4096) = 26 munmap(0x76f01000, 8192) = 0 munmap(0x76f03000, 8192) = 0 fstat64(11, {st_mode=S_IFREG|0644, st_size=13912, ...}) = 0 pread64(11, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 11, 0) = 0x76f04000 mmap2(NULL, 2128, PROT_READ, MAP_PRIVATE, 11, 0x3000) = 0x76f03000 mmap2(NULL, 7680, PROT_READ, MAP_PRIVATE, 11, 0x2000) = 0x76f01000 mmap2(NULL, 2144, PROT_READ, MAP_PRIVATE, 11, 0) = 0x76f00000 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 139264, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76ede000 madvise(0x76ede000, 139264, MADV_MERGEABLE) = 0 mmap2(0x76ede000, 105251, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 7, 0) = 0x76ede000 mmap2(0x76eff000, 3104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 7, 0x19000) = 0x76eff000 mmap2(NULL, 184320, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76eb1000 madvise(0x76eb1000, 184320, MADV_MERGEABLE) = 0 mmap2(0x76eb1000, 144748, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 8, 0) = 0x76eb1000 mmap2(0x76edc000, 5724, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 8, 0x23000) = 0x76edc000 mmap2(NULL, 585728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76e22000 madvise(0x76e22000, 585728, MADV_MERGEABLE) = 0 mmap2(0x76e22000, 525924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x76e22000 mmap2(0x76ea3000, 22952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x80000) = 0x76ea3000 mmap2(0x76ea9000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76ea9000 madvise(0x76ea9000, 32768, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76ea9000, 0x8000, 0x76fb677c) = 0 mmap2(NULL, 585728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d93000 madvise(0x76d93000, 585728, MADV_MERGEABLE) = 0 mmap2(0x76d93000, 557344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x76d93000 mmap2(0x76e1c000, 16409, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x88000) = 0x76e1c000 mmap2(0x76e21000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76e21000 madvise(0x76e21000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76e21000, 0x1000, 0x76fb677c) = 0 mmap2(NULL, 20480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d8e000 madvise(0x76d8e000, 20480, MADV_MERGEABLE) = 0 mmap2(0x76d8e000, 11144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 11, 0) = 0x76d8e000 mmap2(0x76d91000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 11, 0x2000) = 0x76d91000 mmap2(NULL, 106496, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d74000 madvise(0x76d74000, 106496, MADV_MERGEABLE) = 0 mmap2(0x76d74000, 90272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x76d74000 mmap2(0x76d8b000, 8564, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x16000) = 0x76d8b000 mmap2(NULL, 139264, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d52000 madvise(0x76d52000, 139264, MADV_MERGEABLE) = 0 mmap2(0x76d52000, 127684, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0x76d52000 mmap2(0x76d72000, 4204, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x1f000) = 0x76d72000 mmap2(NULL, 69632, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d41000 madvise(0x76d41000, 69632, MADV_MERGEABLE) = 0 mmap2(0x76d41000, 56276, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 9, 0) = 0x76d41000 mmap2(0x76d50000, 4428, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0xe000) = 0x76d50000 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 12 fcntl64(12, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 connect(12, {sa_family=AF_UNIX, sun_path="/dev/socket/logdw"}, 110) = -1 ENOENT (No such file or directory) close(12) = 0 openat(AT_FDCWD, "/dev/stderr", O_WRONLY|O_APPEND|O_LARGEFILE|O_CLOEXEC) = 12 writev(12, [{iov_base="linker", iov_len=6}, {iov_base=": ", iov_len=2}, {iov_base="/system/lib/libsrv_init.so: unus"..., iov_len=63}, {iov_base="\n", iov_len=1}], 4linker: /system/lib/libsrv_init.so: unused DT entry: type 0xf arg 0x1ae ) = 72 close(12) = 0 write(2, "WARNING: linker: ", 17WARNING: linker: ) = 17 write(2, "/system/lib/libsrv_init.so", 26/system/lib/libsrv_init.so) = 26 write(2, ": unused DT entry: type ", 24: unused DT entry: type ) = 24 write(2, "0xf", 30xf) = 3 write(2, " arg ", 5 arg ) = 5 write(2, "0x1ae", 50x1ae) = 5 write(2, "\n", 1 ) = 1 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 12 fcntl64(12, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 connect(12, {sa_family=AF_UNIX, sun_path="/dev/socket/logdw"}, 110) = -1 ENOENT (No such file or directory) close(12) = 0 openat(AT_FDCWD, "/dev/stderr", O_WRONLY|O_APPEND|O_LARGEFILE|O_CLOEXEC) = 12 writev(12, [{iov_base="linker", iov_len=6}, {iov_base=": ", iov_len=2}, {iov_base="/system/lib/libsrv_um.so: unused"..., iov_len=61}, {iov_base="\n", iov_len=1}], 4linker: /system/lib/libsrv_um.so: unused DT entry: type 0xf arg 0xb31 ) = 70 close(12) = 0 write(2, "WARNING: linker: ", 17WARNING: linker: ) = 17 write(2, "/system/lib/libsrv_um.so", 24/system/lib/libsrv_um.so) = 24 write(2, ": unused DT entry: type ", 24: unused DT entry: type ) = 24 write(2, "0xf", 30xf) = 3 write(2, " arg ", 5 arg ) = 5 write(2, "0xb31", 50xb31) = 5 write(2, "\n", 1 ) = 1 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 12 fcntl64(12, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 connect(12, {sa_family=AF_UNIX, sun_path="/dev/socket/logdw"}, 110) = -1 ENOENT (No such file or directory) close(12) = 0 openat(AT_FDCWD, "/dev/stderr", O_WRONLY|O_APPEND|O_LARGEFILE|O_CLOEXEC) = 12 writev(12, [{iov_base="linker", iov_len=6}, {iov_base=": ", iov_len=2}, {iov_base="/system/lib/libsrv_um.so: unused"..., iov_len=61}, {iov_base="\n", iov_len=1}], 4linker: /system/lib/libsrv_um.so: unused DT entry: type 0xf arg 0xb31 ) = 70 close(12) = 0 write(2, "WARNING: linker: ", 17WARNING: linker: ) = 17 write(2, "/system/lib/libsrv_um.so", 24/system/lib/libsrv_um.so) = 24 write(2, ": unused DT entry: type ", 24: unused DT entry: type ) = 24 write(2, "0xf", 30xf) = 3 write(2, " arg ", 5 arg ) = 5 write(2, "0xb31", 50xb31) = 5 write(2, "\n", 1 ) = 1 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x4c7000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 munmap(0x76f17000, 4096) = 0 mprotect(0x76ea3000, 16384, PROT_READ) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d8b000, 8192, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76e1c000, 16384, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d72000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d50000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d91000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 close(3) = 0 close(4) = 0 close(5) = 0 close(6) = 0 close(7) = 0 close(8) = 0 close(9) = 0 close(10) = 0 close(11) = 0 munmap(0x76f05000, 6667) = 0 munmap(0x76f07000, 6504) = 0 munmap(0x76f09000, 2816) = 0 munmap(0x76f0a000, 392) = 0 munmap(0x76f00000, 2144) = 0 munmap(0x76f01000, 7680) = 0 munmap(0x76f03000, 2128) = 0 munmap(0x76f04000, 392) = 0 munmap(0x76f0b000, 2909) = 0 munmap(0x76f0c000, 2544) = 0 munmap(0x76f0d000, 4456) = 0 munmap(0x76f0f000, 232) = 0 munmap(0x76f18000, 8839) = 0 munmap(0x76f1b000, 6600) = 0 munmap(0x76f1d000, 2424) = 0 munmap(0x76f1e000, 424) = 0 munmap(0x76f1f000, 110556) = 0 munmap(0x76f3a000, 6432) = 0 munmap(0x76f3c000, 2224) = 0 munmap(0x76f3d000, 392) = 0 munmap(0x76f40000, 14500) = 0 munmap(0x76f44000, 5880) = 0 munmap(0x76f46000, 2992) = 0 munmap(0x76f47000, 424) = 0 munmap(0x76f10000, 2074) = 0 munmap(0x76f11000, 5888) = 0 munmap(0x76f13000, 7232) = 0 munmap(0x76f15000, 232) = 0 munmap(0x76f48000, 25140) = 0 munmap(0x76f4f000, 1920) = 0 munmap(0x76f50000, 7016) = 0 munmap(0x76f52000, 424) = 0 munmap(0x76f54000, 4096) = 0 mprotect(0x76f57000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f58000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76eaa000, 4096, PROT_READ) = 0 mprotect(0x76eaa000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76eaa000, 4096, PROT_READ) = 0 fstatat64(AT_FDCWD, "/dev/__properties__", 0x7ea712d8, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/dev/__properties__", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory) mprotect(0x76eaa000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76eaa000, 4096, PROT_READ) = 0 openat(AT_FDCWD, "/system/lib/libnetd_client.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f51000 madvise(0x76f51000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f51000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f4f000 madvise(0x76f4f000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f4f000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib/libnetd_client.so", 4096) = 29 munmap(0x76f4f000, 8192) = 0 munmap(0x76f51000, 8192) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=18012, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f54000 madvise(0x76f54000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f54000, 0x1000, 0x76fb5f83) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f52000 madvise(0x76f52000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f52000, 0x1000, 0x76fb5ec9) = 0 pread64(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f51000 mmap2(NULL, 2136, PROT_READ, MAP_PRIVATE, 3, 0x4000) = 0x76f50000 mmap2(NULL, 7624, PROT_READ, MAP_PRIVATE, 3, 0x3000) = 0x76f4e000 mmap2(NULL, 3829, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f4d000 mmap2(NULL, 24576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f47000 madvise(0x76f47000, 24576, MADV_MERGEABLE) = 0 mmap2(0x76f47000, 14616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x76f47000 mmap2(0x76f4b000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3000) = 0x76f4b000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f46000 madvise(0x76f46000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f46000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76f4b000, 4096, PROT_READ) = 0 munmap(0x76f46000, 4096) = 0 close(3) = 0 munmap(0x76f4d000, 3829) = 0 munmap(0x76f4e000, 7624) = 0 munmap(0x76f50000, 2136) = 0 munmap(0x76f51000, 392) = 0 munmap(0x76f52000, 4096) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 brk(NULL) = 0x4c9000 mmap2(NULL, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76cc1000 madvise(0x76cc1000, 524288, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76cc1000, 0x80000, 0x76e9a71a) = 0 munmap(0x76cc1000, 524288) = 0 mmap2(NULL, 1044480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76c42000 madvise(0x76c42000, 1044480, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76c42000, 0xff000, 0x76e9a71a) = 0 munmap(0x76c42000, 253952) = 0 munmap(0x76d00000, 266240) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=165, tv_nsec=410878102}) = 0 openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 mmap2(NULL, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76c00000 madvise(0x76c00000, 524288, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76c00000, 0x80000, 0x76e9a71a) = 0 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(3, "0\n", 4096) = 2 clock_gettime(CLOCK_MONOTONIC, {tv_sec=165, tv_nsec=414485599}) = 0 close(3) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=165, tv_nsec=415226182}) = 0 futex(0x76e20234, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e20234, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e20234, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76eab078, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f52000 madvise(0x76f52000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f52000, 0x1000, 0x76e9a0c9) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 futex(0x76ea9018, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mprotect(0x76f54000, 4096, PROT_READ) = 0 mprotect(0x76f57000, 4096, PROT_READ) = 0 mprotect(0x76f58000, 4096, PROT_READ) = 0 mprotect(0x76f52000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 openat(AT_FDCWD, "/dev/pvrsrvkm", O_RDWR|O_LARGEFILE) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xc, 0x1c), 0x7ea724b4) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x44, 0x1c), 0x7ea724f4) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0, 0x1c), 0x7ea7239c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1, 0x1c), 0x7ea7242c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x63, 0x1c), 0x7ea72134) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000005000) = 0x76f50000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000006000) = 0x76f4f000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000007000) = 0x76f4e000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000008000) = 0x76f4d000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000009000) = 0x76f46000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000a000) = 0x76f45000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000b000) = 0x76f42000 openat(AT_FDCWD, "/etc/powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000c000) = 0x76f37000 openat(AT_FDCWD, "/etc/powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000d000) = 0x76f41000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000e000) = 0x76f35000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000f000) = 0x76f2e000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000010000) = 0x76f28000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000011000) = 0x76f22000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000012000) = 0x76f1a000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000013000) = 0x76f40000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000014000) = 0x76f19000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000015000) = 0x76f18000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000016000) = 0x76f17000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000017000) = 0x76f15000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f50000, 8192) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f4f000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f4e000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f46000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f4d000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f45000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f37000, 28672) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f41000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f35000, 8192) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f42000, 12288) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f2e000, 28672) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f28000, 24576) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f1a000, 32768) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f22000, 24576) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f40000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f19000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f18000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f17000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f15000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x64, 0x1c), 0x7ea7243c) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=844604195}) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=845206447}) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=845971827}) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x45, 0x1c), 0x7ea724e4) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xd, 0x1c), 0x7ea724bc) = 0 close(3) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=931130832}) = 0 mprotect(0x76f52000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 mprotect(0x76f52000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 munmap(0x76f52000, 4096) = 0 exit_group(0) = ?
I'm building my kernel and will get strace output of pvrsrvinit on my device (where it's working) in few minutes. For me it fails when trying to use egl programs (egl configurations = 0). Of course on mainline (5.0-rc4).
Hope this helps!
BR, Nikolaus
Log is a bit "strange" because i'm running android binaries (pvrsrvinit etc) under linux (ubuntu 18.04, booted from uboot), so there are references to android libs/properties/etc