Uma seleção de utilitários para um programador no Linux

Eu acho que todo programador tem um conjunto de utilitários, truques e conhecimentos favoritos. Ele ainda usa alguns em seu trabalho. Muito provavelmente, eles diferem entre diferentes programadores. Então é hora de compartilhar. Hoje vou falar sobre minha seleção do que provavelmente não é conhecido tão amplamente quanto merece. Será principalmente sobre a plataforma GNU / Linux.


PMD e CPD


Primeiro, um pouco de plataforma cruzada. Existe esse utilitário - PMD , provavelmente bem conhecido pelos programadores de Java. Este é um analisador estático que suporta várias (não muitas) linguagens, o que não é surpreendente - escrever regras de análise significativas dificilmente é uma tarefa simples. Mas esse utilitário também tem uma segunda parte - Copy-Paste Detector (CPD). Seu trabalho requer significativamente menos "entendimento" do texto de origem; portanto, é lógico que processe significativamente mais idiomas.


Portanto, existe uma opinião de que um projeto de código aberto é quando você precisa escrever um código não apenas para trabalhar, mas também para impedir que outros programadores riam. No caso de grandes projetos, esse provavelmente é o caso, mas copiar e colar não é tão perceptível. Para os mantenedores, infelizmente, também. E então, um dia, tendo recebido dos desenvolvedores de um programa um comentário que “Se aqui e aqui essas três linhas são colocadas em um método auxiliar, provavelmente também nos outros vinte lugares”, decidi avaliar a extensão do que estava acontecendo. Por um lado, repetir um padrão de três linhas pode parecer destemido. Por outro lado, isso claramente faz algum sentido e será mais fácil para os contribuidores iniciantes se o significado estiver claramente refletido no nome do método.


Texto oculto
discutindo o código de alguém no trabalho:
xxx: Então você imagina que ele tem um fragmento de código de 15 linhas repetido 37 vezes. Se você colocar em uma função, poderá salvar meia centena de linhas!
aaaa: é um refrão.

bash.im


Sem pensar duas vezes, lancei o CPD neste projeto C ++, esperando ver uma lista de repetições desse padrão de três linhas. Eu simplesmente não o encontrei (ele não excedeu o limite padrão para o número de tokens por repetição), mas vi muitos casos como repetir um método idêntico de 50 linhas em dois descendentes diferentes da mesma classe.


É improvável que o desenvolvedor principal tenha copiado conscientemente uma peça - aparentemente, algo mais aconteceu: alguém uma vez adicionou esse método em uma das classes e, na outra solicitação pull, após muito tempo, alguém, sem pensar duas vezes, copiou. É lógico que esse código não foi pior do que o que já está no repositório (ha ha), por isso foi aceito.


Mozilla rr


Você já experimentou que, durante a depuração de um programa, reproduz um bug por um longo tempo e, em seguida, um movimento errado - pise mais do que pise - e é isso, pichalka, repita tudo por mais dez minutos!


Com a estrutura de repetição de registros da Mozilla, tudo é um pouco diferente: “execute testes no café da manhã, depure quando voltar” eles disseram . Esta ferramenta não tenta registrar alterações de estado após cada instrução (eles dizem que o gdb tem esse modo ...); sim, simula a execução de um programa ... usando o próprio programa. A lógica é a seguinte: em geral, a execução do processo é completamente determinada, com exceção de certos “distúrbios”:


  • o kernel pode produzir dados diferentes em resposta à mesma chamada do sistema - basta anotar todas as respostas (você precisa conhecer cada chamada do sistema “pessoalmente” com todas as estruturas usadas)
  • a instrução RDTSC sempre gera algo novo - felizmente, ela pode ser privilegiada e definir valores manualmente para cada interceptação
  • Em outro computador, o CPUID também dará outra coisa - em processadores novos , também pode ser privilegiado
  • multithreading e multiprocessing - e aqui é necessário discutir com mais detalhes
  • talvez eu tenha esquecido outra coisa, mas o ponto principal é que a lista é bastante finita

Pelo que entendi, funciona de alguma forma assim: todos os threads de toda a árvore do processo que estão sendo gravados são amontoados em um thread, reduzindo a "descrição de multithreading" ao número de instruções entre as alternâncias de contexto. Uma desvantagem se segue disso. Uma vez que a FSF jurou o monopólio da “arquitetura Wintel”, o rr funcionará apenas no “Lintel”, ou seja, apenas no Linux e apenas nos processadores Intel novos (Nehalem e superiores) da Intel, que possuem contadores de desempenho bastante estáveis. Houve tentativas de lançamento no Ryzen, algo até foi possível, mas há falhas. À custa de outros núcleos OS - eu não sei.


Com o rr, você primeiro executa o programa normalmente, clica nos botões / entra nos comandos, tudo isso com a frenagem cerca de uma vez e meia, ou até menos. E então você digita rr replay , e o programa começa a rodar “na realidade virtual”, no qual tudo acontece exatamente da mesma maneira que durante a gravação. Naturalmente, você não verá janelas e tudo isso - stdout e stderr são salvos - e obrigado por isso. Em vez disso, você verá o gdb (eles dizem que depuradores gráficos como QtCreator e CLion também são suportados, mas eu ainda não tentei). Mas se você digitou n acidentalmente (a next ) e percebeu que não precisava fazer isso, pode dizer rn ( reverse-next ) ou colocar o ponto de interrupção e dizer rc ( reverse-continue ). Tanto quanto eu entendo, os comandos reverse estão presentes de forma nativa no gdb, apenas por razões óbvias, é raro que o back-end possa suportar isso.


Um chique especial, na minha opinião, é procurar a causa do mau funcionamento desta maneira: aqui você pressionou c , e o programa parou por asserção. Tendo estudado o estado das variáveis ​​com print você percebeu qual variável tem um valor incorreto. Mas quem a expôs? Você apenas diz watch -l <> (eu sempre confundo sintaxe, espero que não desta vez) , configurando o ponto de interrupção do hardware para gravar na memória e depois diga rc ( reverse-continue ) - ensaboe, lave, repita ... Somente não se esqueça de excluir os pontos de controle de hardware antigos da memória, porque não existem muitos deles.


Mas pode ser o mesmo, mas com botões de madrepérola?


Primeiro, e se você quiser depurar o sistema operacional em uma máquina virtual? Eu mesmo ainda não encontrei isso, mas, dizem eles, o QEMU tem o gdbserver e, em geral. E se você quiser o mesmo que em rr, mas para QEMU? A documentação menciona o registro / reprodução interno :


As funções de gravação / reprodução são usadas para a execução reversa e reprodução determinística da execução do qemu. A reprodução determinística é usada para registrar a execução volátil do sistema uma vez e repeti-la várias vezes para fins de análise, depuração, registro etc. Esta implementação de repetição determinística pode ser usada para depuração determinística e reversa do código do convidado através de uma interface remota gdb.

A propósito, a primeira versão dos patches foi desenvolvida, de acordo com a mesma página, pelo Instituto de Programação de Sistemas da Academia Russa de Ciências.


Bem, e se você deseja depurar um processo, mas em Java? Há um desbobinador HotSpot para GDB. Em uma solicitação semelhante, existe uma página em que se diz que ela está habilmente mexendo no espaço de endereço da JVM, fornecendo informações para o comando bt . Descobri isso por acidente, conectando-me ao processo da JVM e solicitando backtrace. Infelizmente, ao preparar este artigo no Ubuntu 18.10, o desbobador travava constantemente o gdb, mas a ferramenta pode, quando é reparada, provavelmente ajuda de alguma forma no modo rr .


Ele vê um olho, mas um dente está dormente


Uma vez, ao depurar, encontrei o erro Sem espaço restante no dispositivo. Parece uma coisa comum, meu lugar está se esgotando constantemente devido a artefatos de compilação. Mas havia algo estranho - o df -h mostrava vários gigabytes gratuitos em cada partição e, tanto quanto eu sei, isso está levando em consideração o espaço reservado para o usuário root. Um rápido google me levou a conselhos para analisar a saída de df -i e, de fato, não havia inodes livres na seção correta, ou seja, os arquivos eram pequenos, mas havia muitos .


Trace isso e aquilo


Eu acho que muitas pessoas sabem sobre strace e, se não, geralmente é um utilitário muito útil que mostra qual sistema chama um processo ou que toda a árvore de processos produz.


Exemplo de saída
 $ 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 +++ 

Como você pode ver, ele até decodifica os dados de entrada e saída (em geral, isso é configurável).


Provavelmente menos pessoas conhecem o ltrace - uma ferramenta semelhante para analisar chamadas entre objetos dinâmicos (programa e bibliotecas). Infelizmente, parece que o desenvolvimento do ltrace abandonado, o que pareceria estranho, uma vez que a ferramenta é útil e, em geral, deve ser gerenciada pela mesma equipe de desenvolvimento que viu o carregador da libc . Nesses casos, é costume dizer "Você não acredita ..." :) :) Acontece que as versões mais recentes do glibc têm a ferramenta sotruss . No entanto, possui menos configurabilidade, mas é relevante na glibc . Há uma mosca na pomada: nem ltrace nem sotruss decodificam os parâmetros de chamada, o que não é surpreendente - não há uma lista exaustiva de quais chamadas eles devem decodificar; meta-informação de terceiros já é necessária aqui. Talvez possa ser de alguma forma fechado, mas, francamente, eu realmente não precisava usar o rastreamento de biblioteca. No entanto, acho útil conhecer essas ferramentas.


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 , , .



...


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

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


All Articles