A selection of utilities for a programmer under Linux
I think every programmer has a set of favorite utilities, tricks and knowledge. He even uses some in his work. Most likely, they differ among different programmers. So it's time to share. Today I will talk about my selection of what is probably not known as widely as it deserves. It will be mainly about the GNU / Linux platform.
PMD & CPD
First, a little cross-platform. There is such a utility - PMD , probably well known to Java programmers. This is a static analyzer that supports several (not very many) languages, which is not surprising - writing meaningful analysis rules is hardly a simple task. But this utility also has a second part - Copy-Paste Detector (CPD). Its work requires significantly less “understanding” of the source text, so it is logical that it processes significantly more languages.
So, there is an opinion that an open source project is when you need to write code not just to work, but also to prevent other programmers from laughing. In the case of large projects, this is probably the case, but copy-paste is not so noticeable. To the maintainers, alas, too. And then one day, having received from the developers of one program a comment that “If here and here these three lines are put into an auxiliary method, then probably in the other twenty places as well,” I decided to evaluate the extent of what was happening. On the one hand, repeating a pattern of three lines can look fearless. On the other hand, it clearly makes some sense, and it will be easier for newcomer contributors if the meaning is clearly reflected in the name of the method.
We discuss someone’s code at work:
xxx: So you imagine, he has a 15-line code fragment there repeated 37 times. If you put it into a function, you can save half a hundred lines!
yyy: it's a refrain.
Without thinking twice, I launched CPD on this C ++ project, expecting to see a repetition list of this three-line pattern. I just didn’t encounter it (it did not exceed the default threshold for the number of tokens per repeat), but I saw many cases like repeating an identical method of 50 lines in two different descendants of the same class.
It is unlikely that the main developer consciously copied such a piece - apparently, something else happened: someone once added this method in one of the classes, and in another pull request after a lot of time someone, without thinking twice, copied it. It is logical that this code was no worse than what is already in the repository (ha ha), so it was accepted.
Mozilla rr
Have you ever experienced that, while debugging a program, you reproduce a bug for a long time, and then one wrong move - Step over instead of Step into - and that’s it, pichalka, replay everything for another ten minutes!
With the Mozilla record-replay framework, everything is somewhat different: “run tests at breakfast, debug when you get back”they said. This tool does not try to record state changes after each instruction (they say gdb has this mode ...), instead, it simulates the execution of a program ... using the program itself. The logic is this: in general, the execution of the process is completely determined, with the exception of certain “disturbances”:
- the kernel can produce different data in response to the same system call - just write down all the answers (you need to know each system call “in person” with all the structures used)
- the RDTSC instruction always generates something new - fortunately, it can be made privileged and manually set values for each trap
- On another computer, CPUID will also give something else - on fresh processors it can also be made privileged
- multithreading and multiprocessing - and here it is necessary to discuss in more detail
- maybe I forgot something else, but the bottom line is that the list is quite finite
As far as I understand, it works somehow like this: all threads of the entire process tree being written are crammed into one thread, reducing the “multithreading description” to the number of instructions between context switches. One disadvantage follows from this. Once the FSF swore at the monopoly of the “Wintel architecture”, and so: rr will run only on “Lintel”, that is, only on Linux, and only on fresh (Nehalem and higher) Intel processors that have fairly stable performance counters. There were attempts to launch on Ryzen, something was even possible, but there are flaws. At the expense of other OS cores - I do not know.
With rr, you first run the program normally, click on the buttons / enter commands, all this with braking about one and a half times, or even less. And then you type rr replay
, and the program starts to run “in virtual reality”, in which everything happens exactly the same as when recording. Naturally, you will not see windows and all that - stdout and stderr are saved - and thanks for that. Instead, you'll see gdb (they say graphical debuggers like QtCreator and CLion are also supported, but I haven't tried it yet). But if you accidentally entered n
( next
), and then realized that you didn’t have to do this, you can say rn
( reverse-next
) or put a breakpoint and say rc
( reverse-continue
). As far as I understand,reverse
-commands are regularly present in gdb, just for obvious reasons, rarely which backend is able to support this.
A special chic, in my opinion, is to look for the cause of the malfunction in this way: here you clicked c
, and the program stopped at assertion. Having studied the state of the variables with the help, print
you realized which variable has an incorrect value. But who exposed her? You just say watch -l <переменная>
(forever confusing syntax, I hope not this time) , setting the hardware breakpoint to write to memory, and then say rc
( reverse-continue
) - soap, wash, repeat ... Just remember to delete the old hardware watchpoints from memory, because there are not so many of them.
But can it be the same, but with mother-of-pearl buttons?
First, what if you want to debug the operating system in a virtual machine? I myself have not encountered this yet, but, they say, QEMU has gdbserver and in general. And if you want the same as in rr, but for QEMU? The documentation mentions the built-in record / replay :
Record / replay functions are used for the reverse execution and deterministic replay of qemu execution. Determinitsic replay is used to record volatile system execution once and replay it for multiple times for the sake of analysis, debugging, logging, etc. This implementation of deterministic replay can be used for deterministic and reverse debugging of guest code through a gdb remote interface.
By the way, the first version of patches was developed, according to the same page, by the Institute for System Programming of the Russian Academy of Sciences.
Well, and if you want to debug one process, but in Java? There is a HotSpot unwinder for GDB. On a similar request, there is such a page where it is said that it is expertly poking around in the JVM address space, providing bt
information for the team . I discovered this by accident, connecting to the JVM process and requesting backtrace. Alas, when preparing this article on Ubuntu 18.10, unwinder steadily crashed gdb, but the tool can, when it is repaired, probably help in some ways in the mode rr
.
He sees an eye, but a tooth is numb
Once, when debugging, I encountered a No space left on device error. It would seem a common thing, my place is constantly running out due to compilation artifacts. But there was something strange - it df -h
showed several free gigabytes on each partition, and, as far as I know, this is already taking into account the space reserved for the root user. A quick googling led me to advice to look at the output df -i
, and indeed, there were no free inodes on the right section, that is, the files were small, but a lot .
Trace this and that
I think many people know about strace
, and if not, it is often a very useful utility that shows what system calls a process or a whole tree of processes makes.
$ strace ls /
execve("/bin/ls", ["ls", "/"], 0x7ffd4301e518 /* 61 vars */) = 0
brk(NULL) = 0x55b660056000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=231893, ...}) = 0
mmap(NULL, 231893, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb941d0e000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20b\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=154832, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb941d0c000
mmap(NULL, 2259152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb941ae4000
mprotect(0x7fb941b09000, 2093056, PROT_NONE) = 0
mmap(0x7fb941d08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7fb941d08000
mmap(0x7fb941d0a000, 6352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb941d0a000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260A\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1996592, ...}) = 0
mmap(NULL, 2004992, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb9418fa000
mprotect(0x7fb94191c000, 1826816, PROT_NONE) = 0
mmap(0x7fb94191c000, 1511424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7fb94191c000
mmap(0x7fb941a8d000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x193000) = 0x7fb941a8d000
mmap(0x7fb941ada000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1df000) = 0x7fb941ada000
mmap(0x7fb941ae0000, 14336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb941ae0000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=468944, ...}) = 0
mmap(NULL, 471304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb941886000
mmap(0x7fb941888000, 335872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fb941888000
mmap(0x7fb9418da000, 122880, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x54000) = 0x7fb9418da000
mmap(0x7fb9418f8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x71000) = 0x7fb9418f8000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18656, ...}) = 0
mmap(NULL, 20752, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb941880000
mmap(0x7fb941881000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fb941881000
mmap(0x7fb941883000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fb941883000
mmap(0x7fb941884000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fb941884000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`l\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=149696, ...}) = 0
mmap(NULL, 132288, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb94185f000
mmap(0x7fb941865000, 61440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7fb941865000
mmap(0x7fb941874000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7fb941874000
mmap(0x7fb94187a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7fb94187a000
mmap(0x7fb94187c000, 13504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb94187c000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb94185d000
arch_prctl(ARCH_SET_FS, 0x7fb94185e380) = 0
mprotect(0x7fb941ada000, 16384, PROT_READ) = 0
mprotect(0x7fb94187a000, 4096, PROT_READ) = 0
mprotect(0x7fb941884000, 4096, PROT_READ) = 0
mprotect(0x7fb9418f8000, 4096, PROT_READ) = 0
mprotect(0x7fb941d08000, 4096, PROT_READ) = 0
mprotect(0x55b65ebdd000, 8192, PROT_READ) = 0
mprotect(0x7fb941d70000, 4096, PROT_READ) = 0
munmap(0x7fb941d0e000, 231893) = 0
set_tid_address(0x7fb94185e650) = 13162
set_robust_list(0x7fb94185e660, 24) = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7fb9418656c0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fb941871dd0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fb941865750, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fb941871dd0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
statfs("/sys/fs/selinux", 0x7fff2349efb0) = -1 ENOENT (No such file or directory)
statfs("/selinux", 0x7fff2349efb0) = -1 ENOENT (No such file or directory)
brk(NULL) = 0x55b660056000
brk(0x55b660077000) = 0x55b660077000
openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 478
read(3, "", 1024) = 0
close(3) = 0
access("/etc/selinux/config", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=5703680, ...}) = 0
mmap(NULL, 5703680, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb9412ec000
close(3) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCGWINSZ, {ws_row=65, ws_col=271, ws_xpixel=0, ws_ypixel=0}) = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(3, /* 30 entries */, 32768) = 808
getdents64(3, /* 0 entries */, 32768) = 0
close(3) = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
write(1, "bin boot cdrom dev etc home"..., 192bin boot cdrom dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin snap srv sys tmp usr var vmlinuz vmlinuz.old
) = 192
close(1) = 0
close(2) = 0
exit_group(0) = ?
+++ exited with 0 +++
As you can see, it even decodes input and output data (in general, this is configurable).
Probably fewer people know about ltrace
- a similar tool for analyzing calls between dynamic objects (program and libraries). Alas, it seems that the development is ltrace
abandoned, which would seem strange, given that the tool is useful and in general should be managed by the same development team that the loader is sawing from libc
. In such cases, it is customary to say “You won’t believe ...” :) It turns out that glibc
there is a tool in the latest versions sotruss
. It has less configurability, however, but it’s also relevant glibc
. There is a fly in the ointment: neither ltrace
, norsotruss
they do not decode call parameters, which is not surprising - there is no exhaustive list of what calls they should decode, third-party meta-information is already needed here. Maybe it can be somehow enclosed, but, frankly, I didn’t really have to use library tracing. However, I think it is useful to know about such tools.
$ sotruss ls /
ls -> libc.so.6 :*strrchr(0x7ffcd884a236, 0x2f, 0x7ffcd8847f00)
ls -> libc.so.6 :*setlocale(0x6, 0x5642e3e888ca, 0x14)
ls -> libc.so.6 :*bindtextdomain(0x5642e3e889fb, 0x5642e3e88a15, 0x0)
ls -> libc.so.6 :*textdomain(0x5642e3e889fb, 0x0, 0x1)
ls -> libc.so.6 :*__cxa_atexit(0x5642e3e7d640, 0x0, 0x5642e3e92008)
ls -> libc.so.6 :*isatty(0x1, 0x1, 0x2)
ls -> libc.so.6 :*getenv(0x5642e3e88a27, 0x3, 0x0)
ls -> libc.so.6 :*getenv(0x5642e3e88a35, 0x3, 0x5642e3e88a27)
ls -> libc.so.6 :*ioctl(0x1, 0x5413, 0x7ffcd8847db0)
ls -> libc.so.6 :*getenv(0x5642e3e88a3d, 0x5413, 0x7ffcd8847db0)
ls -> libc.so.6 :*getopt_long(0x2, 0x7ffcd8847ee8, 0x5642e3e8adc8)
ls -> libc.so.6 :*getenv(0x5642e3e88ae5, 0x1, 0x7f4e75bc9000)
ls -> libc.so.6 :*getenv(0x5642e3e88ae8, 0x5642e3e93328, 0x5642e3e93320)
ls -> libc.so.6 :*getenv(0x5642e3e8b08c, 0x5642e3e93328, 0x5642e3e88ae8)
ls -> libc.so.6 :*getenv(0x5642e3e8b096, 0x5642e3e93328, 0x5642e3e8b08c)
ls -> libc.so.6 :*getenv(0x5642e3e88ae8, 0x5642e3e93328, 0x5642e3e8b096)
ls -> libc.so.6 :*__errno_location(0x0, 0x5642e3e93328, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e534db30, 0x5642e3e93520, 0x38)
ls -> libc.so.6 :*__errno_location(0x0, 0x5642e3e93520, 0x38)
ls -> libc.so.6 :*memcpy(0x5642e534db70, 0x5642e3e93520, 0x38)
ls -> libc.so.6 :*getenv(0x5642e3e88bbc, 0x0, 0x2)
ls -> libc.so.6 :*__errno_location(0x7ffcd88479a6, 0x2, 0x7ffcd884a239)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd88479a6, 0x2, 0x7ffcd884a239)
ls -> libc.so.6 :*strlen(0x7ffcd884a239, 0x5642e534db38, 0x2f)
ls -> libc.so.6 :*__xstat(0x1, 0x7ffcd884a239, 0x5642e534dc58)
ls -> libc.so.6 :*strlen(0x7ffcd884a239, 0x5642e534dc58, 0x1)
ls -> libc.so.6 :*memcpy(0x5642e5352a70, 0x7ffcd884a239, 0x2)
ls -> libc.so.6 :*_setjmp(0x5642e3e92300, 0x5642e5352aa0, 0x5642e534dd08)
ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352ad0, 0x5642e5352ab0)
ls -> libc.so.6 :*memcpy(0x5642e5352ae0, 0x5642e5352a70, 0x2)
ls -> libselinux.so.1:*freecon(0x0, 0x0, 0x0)
ls -> libc.so.6 :*__errno_location(0x5642e5352ae0, 0x0, 0x1)
ls -> libc.so.6 :*opendir(0x5642e5352ae0, 0x0, 0x1)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x5642e535ab30, 0x5642e5352b00)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352b43)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352b43)
ls -> libc.so.6 :*strlen(0x5642e5352b43, 0x5642e534db38, 0x6c)
ls -> libc.so.6 :*strlen(0x5642e5352b43, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e5352a70, 0x5642e5352b43, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x9e8c788d5275094, 0x5642e5352b48)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352b73)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352b73)
ls -> libc.so.6 :*strlen(0x5642e5352b73, 0x5642e534db38, 0x76)
ls -> libc.so.6 :*strlen(0x5642e5352b73, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ab40, 0x5642e5352b73, 0xc)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xc)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352b93)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352b93)
ls -> libc.so.6 :*strlen(0x5642e5352b93, 0x5642e534db38, 0x65)
ls -> libc.so.6 :*strlen(0x5642e5352b93, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ab60, 0x5642e5352b93, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352bab)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352bab)
ls -> libc.so.6 :*strlen(0x5642e5352bab, 0x5642e534db38, 0x62)
ls -> libc.so.6 :*strlen(0x5642e5352bab, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ab80, 0x5642e5352bab, 0x5)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352bc3)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352bc3)
ls -> libc.so.6 :*strlen(0x5642e5352bc3, 0x5642e534db38, 0x63)
ls -> libc.so.6 :*strlen(0x5642e5352bc3, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535aba0, 0x5642e5352bc3, 0x6)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352be3)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352be3)
ls -> libc.so.6 :*strlen(0x5642e5352be3, 0x5642e534db38, 0x72)
ls -> libc.so.6 :*strlen(0x5642e5352be3, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535abc0, 0x5642e5352be3, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352bfb)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352bfb)
ls -> libc.so.6 :*strlen(0x5642e5352bfb, 0x5642e534db38, 0x73)
ls -> libc.so.6 :*strlen(0x5642e5352bfb, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535abe0, 0x5642e5352bfb, 0x5)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c13)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c13)
ls -> libc.so.6 :*strlen(0x5642e5352c13, 0x5642e534db38, 0x74)
ls -> libc.so.6 :*strlen(0x5642e5352c13, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ac00, 0x5642e5352c13, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c2b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c2b)
ls -> libc.so.6 :*strlen(0x5642e5352c2b, 0x5642e534db38, 0x73)
ls -> libc.so.6 :*strlen(0x5642e5352c2b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ac20, 0x5642e5352c2b, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c43)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c43)
ls -> libc.so.6 :*strlen(0x5642e5352c43, 0x5642e534db38, 0x75)
ls -> libc.so.6 :*strlen(0x5642e5352c43, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ac40, 0x5642e5352c43, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c5b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c5b)
ls -> libc.so.6 :*strlen(0x5642e5352c5b, 0x5642e534db38, 0x6f)
ls -> libc.so.6 :*strlen(0x5642e5352c5b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ac60, 0x5642e5352c5b, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c73)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c73)
ls -> libc.so.6 :*strlen(0x5642e5352c73, 0x5642e534db38, 0x72)
ls -> libc.so.6 :*strlen(0x5642e5352c73, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ac80, 0x5642e5352c73, 0x5)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352c8b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352c8b)
ls -> libc.so.6 :*strlen(0x5642e5352c8b, 0x5642e534db38, 0x6d)
ls -> libc.so.6 :*strlen(0x5642e5352c8b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535aca0, 0x5642e5352c8b, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352ca3)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352ca3)
ls -> libc.so.6 :*strlen(0x5642e5352ca3, 0x5642e534db38, 0x62)
ls -> libc.so.6 :*strlen(0x5642e5352ca3, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535acc0, 0x5642e5352ca3, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x4718f72f38efb8b7, 0x5642e5352ca8)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352cd3)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352cd3)
ls -> libc.so.6 :*strlen(0x5642e5352cd3, 0x5642e534db38, 0x6d)
ls -> libc.so.6 :*strlen(0x5642e5352cd3, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ace0, 0x5642e5352cd3, 0x6)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352cf3)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352cf3)
ls -> libc.so.6 :*strlen(0x5642e5352cf3, 0x5642e534db38, 0x76)
ls -> libc.so.6 :*strlen(0x5642e5352cf3, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ad00, 0x5642e5352cf3, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d0b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d0b)
ls -> libc.so.6 :*strlen(0x5642e5352d0b, 0x5642e534db38, 0x69)
ls -> libc.so.6 :*strlen(0x5642e5352d0b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ad20, 0x5642e5352d0b, 0xf)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xf)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d33)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d33)
ls -> libc.so.6 :*strlen(0x5642e5352d33, 0x5642e534db38, 0x70)
ls -> libc.so.6 :*strlen(0x5642e5352d33, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ad40, 0x5642e5352d33, 0x5)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d4b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d4b)
ls -> libc.so.6 :*strlen(0x5642e5352d4b, 0x5642e534db38, 0x73)
ls -> libc.so.6 :*strlen(0x5642e5352d4b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ad60, 0x5642e5352d4b, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d63)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d63)
ls -> libc.so.6 :*strlen(0x5642e5352d63, 0x5642e534db38, 0x64)
ls -> libc.so.6 :*strlen(0x5642e5352d63, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ad80, 0x5642e5352d63, 0x4)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x4)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d7b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d7b)
ls -> libc.so.6 :*strlen(0x5642e5352d7b, 0x5642e534db38, 0x69)
ls -> libc.so.6 :*strlen(0x5642e5352d7b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ada0, 0x5642e5352d7b, 0xb)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xb)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352d9b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352d9b)
ls -> libc.so.6 :*strlen(0x5642e5352d9b, 0x5642e534db38, 0x73)
ls -> libc.so.6 :*strlen(0x5642e5352d9b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535adc0, 0x5642e5352d9b, 0x5)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352db3)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352db3)
ls -> libc.so.6 :*strlen(0x5642e5352db3, 0x5642e534db38, 0x6c)
ls -> libc.so.6 :*strlen(0x5642e5352db3, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ade0, 0x5642e5352db3, 0x6)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352dd3)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352dd3)
ls -> libc.so.6 :*strlen(0x5642e5352dd3, 0x5642e534db38, 0x68)
ls -> libc.so.6 :*strlen(0x5642e5352dd3, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ae00, 0x5642e5352dd3, 0x5)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x5)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352deb)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352deb)
ls -> libc.so.6 :*strlen(0x5642e5352deb, 0x5642e534db38, 0x6c)
ls -> libc.so.6 :*strlen(0x5642e5352deb, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ae20, 0x5642e5352deb, 0x7)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x7)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352e0b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352e0b)
ls -> libc.so.6 :*strlen(0x5642e5352e0b, 0x5642e534db38, 0x6c)
ls -> libc.so.6 :*strlen(0x5642e5352e0b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ae40, 0x5642e5352e0b, 0xb)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0xb)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352e2b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352e2b)
ls -> libc.so.6 :*strlen(0x5642e5352e2b, 0x5642e534db38, 0x6c)
ls -> libc.so.6 :*strlen(0x5642e5352e2b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ae60, 0x5642e5352e2b, 0x6)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x6)
ls -> libc.so.6 :*__errno_location(0x7ffcd8847626, 0x2, 0x5642e5352e4b)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x7ffcd8847626, 0x2, 0x5642e5352e4b)
ls -> libc.so.6 :*strlen(0x5642e5352e4b, 0x5642e534db38, 0x76)
ls -> libc.so.6 :*strlen(0x5642e5352e4b, 0x5642e534db38, 0x0)
ls -> libc.so.6 :*memcpy(0x5642e535ae80, 0x5642e5352e4b, 0x8)
ls -> libc.so.6 :*readdir(0x5642e5352b00, 0x0, 0x8)
ls -> libc.so.6 :*closedir(0x5642e5352b00, 0x5642e5352b30, 0x0)
ls -> libc.so.6 :*_setjmp(0x5642e3e92300, 0x5642e5352da0, 0x5642e534f220)
ls -> libc.so.6 :*__errno_location(0x5642e535ae60, 0x5642e535ae80, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ae60, 0x5642e535ae80, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ae20, 0x5642e535ae40, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ae20, 0x5642e535ae40, 0x5642e5352be0)
ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352bc8, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ae20, 0x5642e535ae60, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ae20, 0x5642e535ae60, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ae20, 0x5642e535ae80, 0xc6)
ls -> libc.so.6 :*strcoll(0x5642e535ae20, 0x5642e535ae80, 0xc6)
ls -> libc.so.6 :*__errno_location(0x5642e535ae40, 0x5642e535ae80, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ae40, 0x5642e535ae80, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ade0, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ade0, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ade0, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ade0, 0xc5)
ls -> libc.so.6 :*memcpy(0x5642e5352bf0, 0x5642e5352ba8, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ae00, 0x5642e535ae60, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ae00, 0x5642e535ae60, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ade0, 0x5642e535ae60, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ade0, 0x5642e535ae60, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae60, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae60, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae20, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae20, 0xc5)
ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae40, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae40, 0xc5)
ls -> libc.so.6 :*__errno_location(0x5642e535adc0, 0x5642e535ae80, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535adc0, 0x5642e535ae80, 0xc5)
ls -> libc.so.6 :*__errno_location(0x5642e535ad80, 0x5642e535ada0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ad80, 0x5642e535ada0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535ad60, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535ad60, 0x5642e5352be0)
ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352b90, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535ad80, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535ad80, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535ada0, 0xc4)
ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535ada0, 0xc4)
ls -> libc.so.6 :*memcpy(0x5642e5352b98, 0x5642e5352be0, 0x10)
ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ad20, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ad20, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ad20, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ad20, 0xc5)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ad00, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ad00, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ad80, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ad80, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ada0, 0xc2)
ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ada0, 0xc2)
ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ad40, 0x9)
ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ad40, 0x9)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ad40, 0xc2)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ad40, 0xc2)
ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ad40, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ad40, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ad60, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ad60, 0xc5)
ls -> libc.so.6 :*memcpy(0x5642e5352c10, 0x5642e5352b80, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ad80, 0x5642e535ae00, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ad80, 0x5642e535ae00, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ada0, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ada0, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ada0, 0x5642e535ade0, 0xb5)
ls -> libc.so.6 :*strcoll(0x5642e535ada0, 0x5642e535ade0, 0xb5)
ls -> libc.so.6 :*__errno_location(0x5642e535ad20, 0x5642e535ade0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ad20, 0x5642e535ade0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ade0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ade0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ae60, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ae60, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ae20, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ae20, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535ae40, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535ae40, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535ace0, 0x5642e535adc0, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535ace0, 0x5642e535adc0, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535ad40, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ad40, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ad60, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ad60, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ad60, 0x5642e535ae80, 0xc6)
ls -> libc.so.6 :*strcoll(0x5642e535ad60, 0x5642e535ae80, 0xc6)
ls -> libc.so.6 :*__errno_location(0x5642e535ad00, 0x5642e535ae80, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ad00, 0x5642e535ae80, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535acc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535acc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535ac80, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535ac80, 0x5642e5352be0)
ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352b58, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535acc0, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535acc0, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535aca0, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535aca0, 0xc3)
ls -> libc.so.6 :*memcpy(0x5642e5352b60, 0x5642e5352be0, 0x10)
ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ac40, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ac40, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ac20, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ac20, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ac40, 0x98)
ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ac40, 0x98)
ls -> libc.so.6 :*memcpy(0x5642e5352bf0, 0x5642e5352b48, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535acc0, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535acc0, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535aca0, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535aca0, 0xc5)
ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ac60, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ac60, 0xc5)
ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ac80, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ac80, 0xc5)
ls -> libc.so.6 :*memcpy(0x5642e5352b58, 0x5642e5352be0, 0x18)
ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535abe0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535abe0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535aba0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535aba0, 0x5642e5352be0)
ls -> libc.so.6 :*memcpy(0x5642e5352be8, 0x5642e5352b20, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535abc0, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535abc0, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535aba0, 0x5642e535abc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535aba0, 0x5642e535abc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ab60, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ab60, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ab60, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ab60, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ab40, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ab40, 0xc3)
ls -> libc.so.6 :*memcpy(0x5642e5352bf0, 0x5642e5352b10, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535ab80, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535ab80, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535aba0, 0x7e)
ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535aba0, 0x7e)
ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535abc0, 0x7e)
ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535abc0, 0x7e)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535abc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535abc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535abc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535abc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535abe0, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535abe0, 0xc5)
ls -> libc.so.6 :*memcpy(0x5642e5352b30, 0x5642e5352bf0, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535acc0, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535acc0, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535aca0, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535aca0, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e535aba0, 0x5642e535aca0, 0x5e)
ls -> libc.so.6 :*strcoll(0x5642e535aba0, 0x5642e535aca0, 0x5e)
ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535aca0, 0x69)
ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535aca0, 0x69)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535aca0, 0x7e)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535aca0, 0x7e)
ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535aca0, 0x90)
ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535aca0, 0x90)
ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535ac60, 0xc4)
ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535ac60, 0xc4)
ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535ac80, 0xc4)
ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535ac80, 0xc4)
ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535ac20, 0xc5)
ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535ac20, 0xc5)
ls -> libc.so.6 :*__errno_location(0x5642e535abe0, 0x5642e535ac20, 0xc4)
ls -> libc.so.6 :*strcoll(0x5642e535abe0, 0x5642e535ac20, 0xc4)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ac20, 0x5e)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ac20, 0x5e)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ac00, 0xb9)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ac00, 0xb9)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ac40, 0xb9)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ac40, 0xb9)
ls -> libc.so.6 :*memcpy(0x5642e5352c48, 0x5642e5352b30, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535acc0, 0x5642e535ad80, 0x8)
ls -> libc.so.6 :*strcoll(0x5642e535acc0, 0x5642e535ad80, 0x8)
ls -> libc.so.6 :*__errno_location(0x5642e535ab80, 0x5642e535ad80, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ab80, 0x5642e535ad80, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535aba0, 0x5642e535ad80, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535aba0, 0x5642e535ad80, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535ad80, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535ad80, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab60, 0x5642e535ae00, 0x7e)
ls -> libc.so.6 :*strcoll(0x5642e535ab60, 0x5642e535ae00, 0x7e)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ae00, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ada0, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ada0, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ad20, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ad20, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e5352a70, 0x5642e535ade0, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e5352a70, 0x5642e535ade0, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ade0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ade0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ae60, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ae60, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ae20, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ae20, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ae40, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ae40, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ace0, 0xa5)
ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ace0, 0xa5)
ls -> libc.so.6 :*__errno_location(0x5642e535aca0, 0x5642e535ad40, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e535aca0, 0x5642e535ad40, 0xc3)
ls -> libc.so.6 :*__errno_location(0x5642e535ac60, 0x5642e535ad40, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac60, 0x5642e535ad40, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac80, 0x5642e535ad40, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac80, 0x5642e535ad40, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac80, 0x5642e535adc0, 0xac)
ls -> libc.so.6 :*strcoll(0x5642e535ac80, 0x5642e535adc0, 0xac)
ls -> libc.so.6 :*__errno_location(0x5642e535abc0, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535abc0, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535abe0, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535abe0, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535adc0, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac20, 0x5642e535ad60, 0xc4)
ls -> libc.so.6 :*strcoll(0x5642e535ac20, 0x5642e535ad60, 0xc4)
ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ad60, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ad60, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ac00, 0x5642e535ad00, 0x98)
ls -> libc.so.6 :*strcoll(0x5642e535ac00, 0x5642e535ad00, 0x98)
ls -> libc.so.6 :*__errno_location(0x5642e535ac40, 0x5642e535ad00, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ac40, 0x5642e535ad00, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ad00, 0x5642e5352be0)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ad00, 0x5642e5352be0)
ls -> libc.so.6 :*__errno_location(0x5642e535ab40, 0x5642e535ae80, 0xc3)
ls -> libc.so.6 :*strcoll(0x5642e535ab40, 0x5642e535ae80, 0xc3)
ls -> libc.so.6 :*memcpy(0x5642e5352bd8, 0x5642e5352c48, 0x8)
ls -> libc.so.6 :*realloc(0x0, 0x540, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535acc0, 0x5642e535acc0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x5642e535acc0, 0x5642e535acc0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ab80, 0x5642e535ab80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x5642e535ab80, 0x5642e535ab80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535aba0, 0x5642e535aba0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5642e535aba0, 0x5642e535aba0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad80, 0x5642e535ad80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x5642e535ad80, 0x5642e535ad80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ab60, 0x5642e535ab60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x5642e535ab60, 0x5642e535ab60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae00, 0x5642e535ae00, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x5642e535ae00, 0x5642e535ae00)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ada0, 0x5642e535ada0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0x5642e535ada0, 0x5642e535ada0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0xa, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad20, 0x5642e535ad20, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0x5642e535ad20, 0x5642e535ad20)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0xe, 0x0)
ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352a70, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a60, 0x5642e5352a70, 0x5642e5352a70)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a70, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ade0, 0x5642e535ade0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5642e535ade0, 0x5642e535ade0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae60, 0x5642e535ae60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5642e535ae60, 0x5642e535ae60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae20, 0x5642e535ae20, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x5642e535ae20, 0x5642e535ae20)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x6, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae40, 0x5642e535ae40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0x5642e535ae40, 0x5642e535ae40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0xa, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ace0, 0x5642e535ace0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5642e535ace0, 0x5642e535ace0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535aca0, 0x5642e535aca0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x5642e535aca0, 0x5642e535aca0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac60, 0x5642e535ac60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x5642e535ac60, 0x5642e535ac60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad40, 0x5642e535ad40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x5642e535ad40, 0x5642e535ad40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac80, 0x5642e535ac80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x5642e535ac80, 0x5642e535ac80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535abc0, 0x5642e535abc0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x5642e535abc0, 0x5642e535abc0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535abe0, 0x5642e535abe0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x5642e535abe0, 0x5642e535abe0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535adc0, 0x5642e535adc0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x5642e535adc0, 0x5642e535adc0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac20, 0x5642e535ac20, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x5642e535ac20, 0x5642e535ac20)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad60, 0x5642e535ad60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x5642e535ad60, 0x5642e535ad60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac00, 0x5642e535ac00, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x5642e535ac00, 0x5642e535ac00)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac40, 0x5642e535ac40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x5642e535ac40, 0x5642e535ac40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad00, 0x5642e535ad00, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x5642e535ad00, 0x5642e535ad00)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae80, 0x5642e535ae80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x5642e535ae80, 0x5642e535ae80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x7, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ab40, 0x5642e535ab40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0x5642e535ab40, 0x5642e535ab40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0xb, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535acc0, 0x5642e535acc0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x5642e535acc0, 0x5642e535acc0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535acc0, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535acc0, 0x5642e535acc0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535acc0, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*strlen(0x5642e535ab80, 0x5642e535ab80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x5642e535ab80, 0x5642e535ab80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab80, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ab80, 0x5642e535ab80, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ab80, 0x1, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3)
ls -> libc.so.6 :*strlen(0x5642e535aba0, 0x5642e535aba0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5642e535aba0, 0x5642e535aba0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aba0, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535aba0, 0x5642e535aba0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535aba0, 0x1, 0x5)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*strlen(0x5642e535ad80, 0x5642e535ad80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x5642e535ad80, 0x5642e535ad80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad80, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad80, 0x5642e535ad80, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad80, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x7)
ls -> libc.so.6 :*strlen(0x5642e535ab60, 0x5642e535ab60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x5642e535ab60, 0x5642e535ab60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab60, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ab60, 0x5642e535ab60, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ab60, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*strlen(0x5642e535ae00, 0x5642e535ae00, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x5642e535ae00, 0x5642e535ae00)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae00, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae00, 0x5642e535ae00, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae00, 0x1, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*strlen(0x5642e535ada0, 0x5642e535ada0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0x5642e535ada0, 0x5642e535ada0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ada0, 0xa, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ada0, 0x5642e535ada0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ada0, 0x1, 0xa)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6)
ls -> libc.so.6 :*strlen(0x5642e535ad20, 0x5642e535ad20, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0x5642e535ad20, 0x5642e535ad20)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad20, 0xe, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad20, 0x5642e535ad20, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad20, 0x1, 0xe)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6)
ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352a70, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a60, 0x5642e5352a70, 0x5642e5352a70)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e5352a70, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e5352a70, 0x5642e5352a70, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e5352a70, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3)
ls -> libc.so.6 :*strlen(0x5642e535ade0, 0x5642e535ade0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5642e535ade0, 0x5642e535ade0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ade0, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ade0, 0x5642e535ade0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ade0, 0x1, 0x5)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*strlen(0x5642e535ae60, 0x5642e535ae60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5642e535ae60, 0x5642e535ae60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae60, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae60, 0x5642e535ae60, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae60, 0x1, 0x5)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x0)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*strlen(0x5642e535ae20, 0x5642e535ae20, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x5642e535ae20, 0x5642e535ae20)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae20, 0x6, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae20, 0x5642e535ae20, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae20, 0x1, 0x6)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x0)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*strlen(0x5642e535ae40, 0x5642e535ae40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0x5642e535ae40, 0x5642e535ae40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae40, 0xa, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae40, 0x5642e535ae40, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae40, 0x1, 0xa)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*strlen(0x5642e535ace0, 0x5642e535ace0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5642e535ace0, 0x5642e535ace0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ace0, 0x5, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ace0, 0x5642e535ace0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ace0, 0x1, 0x5)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*strlen(0x5642e535aca0, 0x5642e535aca0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x5642e535aca0, 0x5642e535aca0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535aca0, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535aca0, 0x5642e535aca0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535aca0, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x0)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*strlen(0x5642e535ac60, 0x5642e535ac60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x5642e535ac60, 0x5642e535ac60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac60, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac60, 0x5642e535ac60, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac60, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6)
ls -> libc.so.6 :*strlen(0x5642e535ad40, 0x5642e535ad40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x5642e535ad40, 0x5642e535ad40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad40, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad40, 0x5642e535ad40, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad40, 0x1, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*strlen(0x5642e535ac80, 0x5642e535ac80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x5642e535ac80, 0x5642e535ac80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac80, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac80, 0x5642e535ac80, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac80, 0x1, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*strlen(0x5642e535abc0, 0x5642e535abc0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x5642e535abc0, 0x5642e535abc0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abc0, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535abc0, 0x5642e535abc0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535abc0, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x7)
ls -> libc.so.6 :*strlen(0x5642e535abe0, 0x5642e535abe0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x5642e535abe0, 0x5642e535abe0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535abe0, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535abe0, 0x5642e535abe0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535abe0, 0x1, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*strlen(0x5642e535adc0, 0x5642e535adc0, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x5642e535adc0, 0x5642e535adc0)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535adc0, 0x4, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535adc0, 0x5642e535adc0, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535adc0, 0x1, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3)
ls -> libc.so.6 :*strlen(0x5642e535ac20, 0x5642e535ac20, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x5642e535ac20, 0x5642e535ac20)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac20, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac20, 0x5642e535ac20, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac20, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x9, 0x7)
ls -> libc.so.6 :*strlen(0x5642e535ad60, 0x5642e535ad60, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x5642e535ad60, 0x5642e535ad60)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad60, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad60, 0x5642e535ad60, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad60, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*strlen(0x5642e535ac00, 0x5642e535ac00, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x5642e535ac00, 0x5642e535ac00)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac00, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac00, 0x5642e535ac00, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac00, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x1)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x2)
ls -> libc.so.6 :*strlen(0x5642e535ac40, 0x5642e535ac40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x5642e535ac40, 0x5642e535ac40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ac40, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ac40, 0x5642e535ac40, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ac40, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x6)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x7)
ls -> libc.so.6 :*strlen(0x5642e535ad00, 0x5642e535ad00, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x5642e535ad00, 0x5642e535ad00)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ad00, 0x3, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ad00, 0x5642e535ad00, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ad00, 0x1, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x3)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*strlen(0x5642e535ae80, 0x5642e535ae80, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x5642e535ae80, 0x5642e535ae80)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ae80, 0x7, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ae80, 0x5642e535ae80, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ae80, 0x1, 0x7)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x4)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0x20, 0x5)
ls -> libc.so.6 :*strlen(0x5642e535ab40, 0x5642e535ab40, 0x5642e534db30)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0x5642e535ab40, 0x5642e535ab40)
ls -> libc.so.6 :*__ctype_get_mb_cur_max(0x5642e535ab40, 0xb, 0x0)
ls -> libc.so.6 :*strlen(0x5642e535ab40, 0x5642e535ab40, 0x5642e534db30)
ls -> libc.so.6 :*fwrite_unlocked(0x5642e535ab40, 0x1, 0xb)
ls -> libc.so.6 :*__overflow(0x7f4e75bc7760, 0xa, 0x0)
bin boot cdrom dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin snap srv sys tmp usr var vmlinuz vmlinuz.old
ls -> libc.so.6 :*__fpending(0x7f4e75bc7760, 0x0, 0x5642e3e7d640)
ls -> libc.so.6 :*fileno(0x7f4e75bc7760, 0x0, 0x5642e3e7d640)
ls -> libc.so.6 :*__freading(0x7f4e75bc7760, 0x0, 0x5642e3e7d640)
ls -> libc.so.6 :*__freading(0x7f4e75bc7760, 0x0, 0x804)
ls -> libc.so.6 :*fflush(0x7f4e75bc7760, 0x0, 0x804)
ls -> libc.so.6 :*fclose(0x7f4e75bc7760, 0x7f4e75bc88c0, 0x0)
ls -> libc.so.6 :*__fpending(0x7f4e75bc7680, 0x0, 0x7f4e75bc2760)
ls -> libc.so.6 :*fileno(0x7f4e75bc7680, 0x0, 0x7f4e75bc2760)
ls -> libc.so.6 :*__freading(0x7f4e75bc7680, 0x0, 0x7f4e75bc2760)
ls -> libc.so.6 :*__freading(0x7f4e75bc7680, 0x0, 0x4)
ls -> libc.so.6 :*fflush(0x7f4e75bc7680, 0x0, 0x4)
ls -> libc.so.6 :*fclose(0x7f4e75bc7680, 0x7f4e75bc88b0, 0x0)
strace and the invisible gopher, which is
$ strace date
execve("/bin/date", ["date"], 0x7ffd24f0d7c0 /* 60 vars */) = 0
brk(NULL) = 0x5593e5b58000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=231893, ...}) = 0
mmap(NULL, 231893, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f043c2cd000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260A\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1996592, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f043c2cb000
mmap(NULL, 2004992, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f043c0e1000
mprotect(0x7f043c103000, 1826816, PROT_NONE) = 0
mmap(0x7f043c103000, 1511424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f043c103000
mmap(0x7f043c274000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x193000) = 0x7f043c274000
mmap(0x7f043c2c1000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1df000) = 0x7f043c2c1000
mmap(0x7f043c2c7000, 14336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f043c2c7000
close(3) = 0
arch_prctl(ARCH_SET_FS, 0x7f043c2cc580) = 0
mprotect(0x7f043c2c1000, 16384, PROT_READ) = 0
mprotect(0x5593e5431000, 8192, PROT_READ) = 0
mprotect(0x7f043c32f000, 4096, PROT_READ) = 0
munmap(0x7f043c2cd000, 231893) = 0
brk(NULL) = 0x5593e5b58000
brk(0x5593e5b79000) = 0x5593e5b79000
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=5703680, ...}) = 0
mmap(NULL, 5703680, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f043bb70000
close(3) = 0
openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1544, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=1544, ...}) = 0
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0\0\21\0\0\0\0"..., 4096) = 1544
lseek(3, -936, SEEK_CUR) = 608
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0\0\21\0\0\0\0"..., 4096) = 936
close(3) = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 6), ...}) = 0
write(1, "\320\237\320\275 \320\274\320\260\321\200 11 14:44:42 MSK 2019"..., 33Пн мар 11 14:44:42 MSK 2019
) = 33
close(1) = 0
close(2) = 0
exit_group(0) = ?
+++ exited with 0 +++
Riddle: find time
or gettimeofday
.
Solution: reboot with the kernel option vdso=0
and search again.
The fact is that some calls, such as gettimeofday
, are considered to be often called and at the same time do not require a full switch to the kernel. Therefore, at the top of the user address space, the kernel attaches the vDSO pseudo-library , which provides a quick interface to some system calls. By the way, it is written there that seccomp
they, most likely, will not see them either.
Bonus
Do you know ...
- What is the pseudographic interface right in gdb? Just type in
tui en
- the top of the screen will in real time show the current part of the source code. - that the gdb command
break
supports specifying an expression, only if it is true, you need to stop at the breakpoint, otherwise go ahead:break malloc if sz > 10000
(this is not a complete list of the command's capabilitiesbreak
) - that, in order to debug unfinished code, you can postpone problems with missing functions at runtime using the compiler / linker option