Eine Auswahl von Dienstprogrammen für einen Programmierer unter Linux

Ich denke, jeder Programmierer hat eine Reihe von bevorzugten Dienstprogrammen, Tricks und Kenntnissen. Er verwendet sogar einige in seiner Arbeit. Höchstwahrscheinlich unterscheiden sie sich zwischen verschiedenen Programmierern. Es ist also Zeit zu teilen. Heute werde ich über meine Auswahl dessen sprechen, was wahrscheinlich nicht so bekannt ist, wie es verdient. Es wird hauptsächlich um die GNU / Linux-Plattform gehen.


PMD & CPD


Zunächst eine kleine plattformübergreifende. Es gibt ein solches Dienstprogramm - PMD , das Java-Programmierern wahrscheinlich bekannt ist. Dies ist ein statischer Analysator, der mehrere (nicht sehr viele) Sprachen unterstützt, was nicht überraschend ist - das Schreiben aussagekräftiger Analyseregeln ist kaum eine einfache Aufgabe. Dieses Dienstprogramm hat aber auch einen zweiten Teil - Copy-Paste Detector (CPD). Seine Arbeit erfordert deutlich weniger „Verständnis“ des Quelltextes, daher ist es logisch, dass deutlich mehr Sprachen verarbeitet werden.


Es gibt also eine Meinung, dass ein Open-Source-Projekt ist, wenn Sie Code schreiben müssen, um nicht nur zu arbeiten, sondern auch um andere Programmierer am Lachen zu hindern. Bei großen Projekten ist dies wahrscheinlich der Fall, aber das Kopieren und Einfügen ist nicht so auffällig. Leider auch für die Betreuer. Und dann, eines Tages, nachdem ich von den Entwicklern eines Programms den Kommentar erhalten hatte: „Wenn diese drei Zeilen hier und hier in eine Hilfsmethode eingefügt werden, dann wahrscheinlich auch an den anderen zwanzig Stellen“, beschloss ich, das Ausmaß des Geschehens zu bewerten. Einerseits kann das Wiederholen eines Musters aus drei Linien furchtlos aussehen. Auf der anderen Seite macht es eindeutig Sinn, und es wird für Neulinge einfacher sein, wenn sich die Bedeutung klar im Namen der Methode widerspiegelt.


Versteckter Text
Besprechen des Codes einer Person bei der Arbeit:
xxx: Sie stellen sich also vor, er hat dort ein 15-zeiliges Codefragment, das 37 Mal wiederholt wurde. Wenn Sie es in eine Funktion einfügen, können Sie ein halbes Hundert Zeilen speichern!
JJJ: Es ist ein Refrain.

bash.im


Ohne nachzudenken, startete ich CPD für dieses C ++ - Projekt und erwartete eine Wiederholungsliste dieses dreizeiligen Musters. Ich bin einfach nicht darauf gestoßen (es hat den Standardschwellenwert für die Anzahl der Token pro Wiederholung nicht überschritten), aber ich habe viele Fälle gesehen, in denen eine identische Methode mit 50 Zeilen in zwei verschiedenen Nachkommen derselben Klasse wiederholt wurde.


Es ist unwahrscheinlich, dass der Hauptentwickler ein solches Stück bewusst kopiert hat - anscheinend ist etwas anderes passiert: Jemand hat diese Methode einmal in einer der Klassen hinzugefügt, und in einer anderen Pull-Anfrage hat jemand nach langer Zeit, ohne zweimal darüber nachzudenken, sie kopiert. Es ist logisch, dass dieser Code nicht schlechter war als der, der sich bereits im Repository befindet (ha ha), daher wurde er akzeptiert.


Mozilla rr


Haben Sie jemals erlebt, dass Sie beim Debuggen eines Programms einen Fehler für eine lange Zeit reproduzieren und dann einen falschen Schritt ausführen - Schritt über Schritt statt - und das war's, Pichalka, spielen Sie alles noch zehn Minuten lang ab!


Mit dem Mozilla Record-Replay-Framework ist alles etwas anders: "Führen Sie Tests beim Frühstück durch, debuggen Sie, wenn Sie zurückkommen." sagten sie . Dieses Tool versucht nicht, Statusänderungen nach jedem Befehl aufzuzeichnen (sie sagen, dass gdb einen solchen Modus hat ...), sondern simuliert die Ausführung eines Programms ... unter Verwendung des Programms selbst. Die Logik lautet wie folgt: Im Allgemeinen ist die Ausführung des Prozesses mit Ausnahme bestimmter „Störungen“ vollständig festgelegt:


  • Der Kernel kann als Antwort auf denselben Systemaufruf unterschiedliche Daten erzeugen. Notieren Sie sich einfach alle Antworten (Sie müssen jeden Systemaufruf „persönlich“ mit allen verwendeten Strukturen kennen).
  • Der RDTSC-Befehl generiert immer etwas Neues - zum Glück kann er privilegiert werden und Werte für jeden Trap manuell festlegen
  • Auf einem anderen Computer gibt die CPUID noch etwas anderes - auf neuen Prozessoren kann sie auch privilegiert werden
  • Multithreading und Multiprocessing - und hier muss näher darauf eingegangen werden
  • Vielleicht habe ich etwas anderes vergessen, aber unter dem Strich ist die Liste ziemlich endlich

Soweit ich weiß, funktioniert das irgendwie so: Alle Threads des gesamten zu schreibenden Prozessbaums sind in einem Thread zusammengefasst, wodurch die „Multithreading-Beschreibung“ auf die Anzahl der Anweisungen zwischen Kontextwechseln reduziert wird. Daraus ergibt sich ein Nachteil. Sobald die FSF das Monopol der „Wintel-Architektur“ geschworen hat, läuft rr nur auf „Lintel“, dh nur auf Linux, und nur auf neuen (Nehalem und höher) Intel-Prozessoren mit relativ stabilen Leistungsindikatoren. Es gab Versuche, auf Ryzen zu starten, etwas war sogar möglich, aber es gibt Mängel. Auf Kosten anderer Betriebssystemkerne - ich weiß es nicht.


Mit rr führen Sie das Programm zuerst normal aus, klicken auf die Schaltflächen / geben Befehle ein, und dies alles etwa eineinhalb Mal oder sogar weniger. Und dann geben Sie rr replay und das Programm beginnt „in der virtuellen Realität“ zu laufen, in der alles genauso abläuft wie bei der Aufnahme. Natürlich werden Sie keine Fenster sehen und all das - stdout und stderr werden gespeichert - und danke dafür. Stattdessen wird gdb angezeigt (grafische Debugger wie QtCreator und CLion werden ebenfalls unterstützt, aber ich habe es noch nicht ausprobiert). Wenn Sie jedoch versehentlich n ( next ) eingegeben haben und dann festgestellt haben, dass Sie dies nicht tun mussten, können Sie rn ( reverse-next ) sagen oder einen Haltepunkt setzen und rc ( reverse-continue ) sagen. Soweit ich weiß, sind in gdb reverse Befehle nativ vorhanden, nur aus offensichtlichen Gründen ist es selten, welches Backend dies unterstützen kann.


Ein besonderer Chic ist meiner Meinung nach, auf diese Weise nach der Ursache der Fehlfunktion zu suchen: Hier haben Sie c gedrückt, und das Programm wurde bei der Bestätigung angehalten. Nachdem Sie den Status von Variablen mit print Sie festgestellt, welche Variable einen falschen Wert hat. Aber wer hat sie entlarvt? Sie sagen einfach watch -l <> (ich verwechsle immer die Syntax, ich hoffe diesmal nicht) , setzen den Hardware-Haltepunkt so, dass er in den Speicher schreibt, und sagen dann rc ( reverse-continue ) - Seife, Waschen, Wiederholen ... Nur Vergessen Sie nicht, alte Hardware-Überwachungspunkte aus dem Speicher zu löschen, da es nicht so viele davon gibt.


Aber kann es dasselbe sein, aber mit Perlmuttknöpfen?


Was ist, wenn Sie das Betriebssystem in einer virtuellen Maschine debuggen möchten? Ich selbst bin dem noch nicht begegnet, aber QEMU hat gdbserver und im Allgemeinen. Und wenn Sie das gleiche wie in rr wollen, aber für QEMU? In der Dokumentation wird die integrierte Aufzeichnung / Wiedergabe erwähnt :


Aufzeichnungs- / Wiedergabefunktionen werden für die umgekehrte Ausführung und die deterministische Wiedergabe der QEMU-Ausführung verwendet. Die deterministische Wiedergabe wird verwendet, um die Ausführung flüchtiger Systeme einmal aufzuzeichnen und zum Zwecke der Analyse, des Debuggens, der Protokollierung usw. mehrmals wiederzugeben. Diese Implementierung der deterministischen Wiedergabe kann zum deterministischen und umgekehrten Debuggen von Gastcode über eine GDB-Remote-Schnittstelle verwendet werden.

Die erste Version von Patches wurde übrigens auf derselben Seite vom Institut für Systemprogrammierung der Russischen Akademie der Wissenschaften entwickelt.


Nun, und wenn Sie einen Prozess debuggen möchten, aber in Java? Es gibt einen HotSpot-Abwickler für GDB. Auf eine ähnliche Anfrage gibt es eine solche Seite, auf der gesagt wird, dass sie fachmännisch im JVM-Adressraum bastelt und Informationen für den Befehl bt bereitstellt. Ich habe dies zufällig entdeckt, indem ich mich mit dem JVM-Prozess verbunden und eine Rückverfolgung angefordert habe. Leider stürzte Unwinder bei der Vorbereitung dieses Artikels unter Ubuntu 18.10 ständig ab, aber das Tool kann, wenn es repariert wird, wahrscheinlich irgendwie im rr Modus helfen.


Er sieht ein Auge, aber ein Zahn ist taub


Einmal habe ich beim Debuggen den Fehler "Kein Speicherplatz mehr auf dem Gerät" festgestellt. Es scheint eine häufige Sache zu sein, mein Platz geht aufgrund von Kompilierungsartefakten ständig zur Neige. Aber es gab etwas Seltsames - df -h zeigte mehrere freie Gigabyte auf jeder Partition an, und soweit ich weiß, berücksichtigt dies den für den Root-Benutzer reservierten Speicherplatz. Ein kurzer Blick auf Google führte mich zu Ratschlägen, um die Ausgabe von df -i , und tatsächlich gab es im rechten Bereich keine freien Inodes, dh die Dateien waren klein, aber es gab viele .


Verfolge dies und das


Ich denke, viele Leute kennen sich mit strace , und wenn nicht, ist es oft ein sehr nützliches Dienstprogramm, das zeigt, welches System einen Prozess oder einen ganzen Prozessbaum aufruft.


Ausgabebeispiel
 $ 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 +++ 

Wie Sie sehen können, werden sogar Eingabe- und Ausgabedaten dekodiert (im Allgemeinen ist dies konfigurierbar).


Wahrscheinlich kennen weniger Menschen ltrace - ein ähnliches Tool zur Analyse von Aufrufen zwischen dynamischen Objekten (Programm und Bibliotheken). ltrace scheint die Entwicklung von ltrace abgebrochen zu sein, was seltsam erscheint, da das Tool nützlich ist und im Allgemeinen von demselben Entwicklungsteam verwaltet werden sollte, das den Loader von libc . In solchen Fällen ist es üblich zu sagen "Du wirst es nicht glauben ..." :) Es stellt sich heraus, dass die neuesten Versionen von glibc das sotruss Tool haben. Es ist jedoch weniger konfigurierbar, aber in glibc relevant. Die Salbe enthält eine Fliege: Weder ltrace noch sotruss dekodieren die sotruss , was nicht überraschend ist. Es gibt keine vollständige Liste der Anrufe, die dekodiert werden sollen. Hier werden bereits Metainformationen von Drittanbietern benötigt. Vielleicht kann es irgendwie eingeschlossen sein, aber ehrlich gesagt musste ich die Bibliotheksverfolgung nicht wirklich verwenden. Ich halte es jedoch für nützlich, über solche Tools Bescheid zu wissen.


sotruss ls /
 $ 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 ,


strace date
 $ 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 +++ 

: time gettimeofday .
: vdso=0 .


, , gettimeofday , . - vDSO , . , , seccomp , , .


Bonus


...


  • gdb? tui en — .
  • gdb break , true , : break malloc if sz > 10000 ( break )
  • /

Source: https://habr.com/ru/post/de443054/


All Articles