مجموعة مختارة من الأدوات المساعدة للمبرمج تحت Linux

أعتقد أن كل مبرمج لديه مجموعة من المرافق والحيل والمعرفة المفضلة. حتى أنه يستخدم البعض في عمله. على الأرجح ، فإنها تختلف بين المبرمجين مختلفة. لذلك حان الوقت للمشاركة. سأتحدث اليوم عن اختياري لما قد لا يعرف على نطاق واسع كما يستحق. سيكون أساسا حول منصة جنو / لينكس.


PMD و CPD


أولا ، عبر منصة صغيرة. هناك مثل هذه الأداة المساعدة - PMD ، وربما معروفة جيدا لمبرمجي جافا. هذا محلل ثابت يدعم العديد من اللغات (ليس كثيرًا جدًا) ، وهو أمر لا يثير الدهشة - كتابة قواعد تحليل ذات مغزى بالكاد تكون مهمة بسيطة. ولكن هذه الأداة أيضًا تحتوي أيضًا على جزء ثانٍ - Copy-Paste Detector (CPD). يتطلب عملها "فهم" أقل بكثير للنص المصدر ، لذلك فمن المنطقي أن يعالج لغات أكثر بكثير.


لذلك ، هناك رأي مفاده أن مشروع مفتوح المصدر هو عندما تحتاج إلى كتابة التعليمات البرمجية ليس فقط للعمل ، ولكن أيضًا لمنع المبرمجين الآخرين من الضحك. في حالة المشاريع الكبيرة ، ربما يكون هذا هو الحال ، لكن لصق النسخ ليس ملحوظًا. إلى المشرفين ، للأسف أيضًا. ثم ذات يوم ، بعد أن تلقيت من مطوري برنامج واحد تعليقًا يقول: "إذا تم وضع هذه الأسطر الثلاثة هنا بطريقة إضافية ، وربما في العشرين مكانًا الأخرى أيضًا" ، فقد قررت تقييم مدى ما كان يحدث. من ناحية ، يمكن أن يبدو تكرار نمط من ثلاثة خطوط بلا خوف. من ناحية أخرى ، من المنطقي بعض الشيء ، وسيكون من الأسهل بالنسبة للمساهمين الوافدين الجدد إذا انعكس المعنى بوضوح في اسم الطريقة.


النص المخفي
مناقشة كود شخص ما في العمل:
xxx: إذن أنت تتخيل ، لديه جزء كود من 15 سطرًا يتكرر هناك 37 مرة. إذا قمت بوضعها في وظيفة ، يمكنك حفظ نصف مائة سطر!
yyy: إنها الامتناع.

bash.im


دون التفكير مرتين ، قمت بإطلاق وثيقة البرنامج القطري في مشروع C ++ هذا ، أتوقع أن أرى قائمة تكرار لهذا النمط المكون من ثلاثة أسطر. لم أواجهها (لم تتجاوز الحد الافتراضي لعدد الرموز المميزة لكل تكرار) ، لكنني رأيت العديد من الحالات مثل تكرار طريقة متطابقة مؤلفة من 50 سطرًا في نسلين مختلفين من نفس الفئة.


من غير المحتمل أن يقوم المطور الرئيسي بنسخ مثل هذه القطعة بوعي - على ما يبدو ، حدث شيء آخر: لقد أضاف شخص ما هذه الطريقة في أحد الفصول الدراسية ، وفي طلب سحب آخر بعد الكثير من الوقت ، قام شخص ما بنسخه دون تفكير مرتين. من المنطقي أن هذا الرمز لم يكن أسوأ مما هو موجود بالفعل في المستودع (ها ها ها) ، لذلك تم قبوله.


موزيلا ص


هل حدث لك ذلك أثناء قيامك بتصحيح برنامج ما ، فأنت تلعب خطأ لفترة طويلة ، ثم خطوة واحدة خاطئة - الخطوة بدلاً من الخطوة إلى - وهذا كل شيء ، pichalka ، قم بتشغيله مرة أخرى لمدة عشر دقائق أخرى!


من خلال إطار عمل سجل Mozilla - إعادة التشغيل ، يكون كل شيء مختلفًا إلى حد ما: "قم بإجراء الاختبارات في وجبة الإفطار ، وقم بالتصحيح عند العودة" قالوا . لا تحاول هذه الأداة تسجيل تغييرات الحالة بعد كل تعليمة (يقولون أن gdb لديه مثل هذا الوضع ...) ، بل إنه يحاكي تنفيذ البرنامج ... باستخدام البرنامج نفسه. المنطق هو هذا: بشكل عام ، يتم تحديد تنفيذ العملية بالكامل ، باستثناء بعض "الاضطرابات":


  • يمكن أن تنتج النواة بيانات مختلفة استجابةً لمكالمة النظام نفسها - ما عليك سوى كتابة جميع الإجابات (تحتاج إلى معرفة أن كل نظام يتصل "شخصيًا" بجميع الهياكل المستخدمة)
  • يولد تعليمة RDTSC دائمًا شيئًا جديدًا - لحسن الحظ ، يمكن جعله مميزًا وقيمًا مضبوطة يدويًا لكل مصيدة
  • على كمبيوتر آخر ، سيعطي CPUID أيضًا شيئًا آخر - على المعالجات الجديدة ، يمكن أيضًا جعله متميزًا
  • multithreading والمعالجة المتعددة - وهنا من الضروري مناقشة بمزيد من التفصيل
  • ربما نسيت شيئًا آخر ، لكن خلاصة القول هي أن القائمة محدودة جدًا

كما أفهمها ، فهي تعمل شيئًا مثل هذا: يتم حفظ جميع سلاسل عمليات شجرة العملية بأكملها التي يتم كتابتها في سلسلة رسائل واحدة ، مما يقلل من "وصف تعدد مؤشرات الترابط" إلى عدد الإرشادات بين مفاتيح تبديل السياق. عيب واحد يلي من هذا. بمجرد أن أقسم FSF احتكار "هندسة Wintel" ، وهكذا: rr سيتم تشغيله فقط على "Lintel" ، أي فقط على Linux ، وفقط على معالجات Intel (Nehalem و أعلى) الجديدة التي لها عدادات أداء مستقرة إلى حد ما. كانت هناك محاولات لإطلاق Ryzen ، كان هناك شيء ما ممكن ، لكن هناك عيوب. على حساب النوى OS الأخرى - لا أعرف.


مع rr ، تقوم أولاً بتشغيل البرنامج بشكل طبيعي ، والنقر على الأزرار / إدخال الأوامر ، كل هذا مع الفرامل حوالي مرة ونصف ، أو حتى أقل. ثم تكتب rr replay ، ويبدأ البرنامج في التشغيل "في الواقع الافتراضي" ، حيث يحدث كل شيء تمامًا كما يحدث عند التسجيل. بطبيعة الحال ، لن ترى النوافذ وكل ذلك - يتم حفظ stdout و stderr - وبفضل ذلك. بدلاً من ذلك ، سترى gdb (يقولون أن مصححات الرسوم البيانية مثل QtCreator و CLion مدعومة أيضًا ، لكنني لم أجربها حتى الآن). ولكن إذا دخلت بطريق الخطأ n ( next ) ، ثم أدركت أنه لا يتعين عليك القيام بذلك ، فيمكنك أن تقول rn ( reverse-next ) أو تضع نقطة توقف وتقول rc ( rc reverse-continue ). بقدر ما أفهم ، فإن الأوامر reverse موجودة أصلاً في gdb ، فقط لأسباب واضحة من النادر أن تدعم الخلفية هذه.


في رأيي ، هناك ميزة خاصة هي البحث عن سبب الخلل بهذه الطريقة: هنا قمت بالضغط على c ، وتوقف البرنامج عند التأكيد. بعد دراسة حالة المتغيرات مع print أدركت أن المتغير له قيمة غير صحيحة. لكن من كشفها؟ يمكنك فقط قول watch -l <> (أخلط دائمًا بناء الجملة ، لا آمل أن أكون هذه المرة) ، واضبط نقطة توقف الجهاز على الكتابة إلى الذاكرة ، ثم قل rc ( reverse-continue ) - صابون وغسل وتكرار ... فقط لا تنس حذف نقاط مراقبة الأجهزة القديمة من الذاكرة ، لأنه لا يوجد الكثير منها.


ولكن هل يمكن أن يكون هو نفسه ، ولكن مع أزرار أم اللؤلؤ؟


أولاً ، ماذا لو كنت ترغب في تصحيح نظام التشغيل في جهاز افتراضي؟ أنا شخصياً لم أواجه هذا بعد ، لكن ، كما يقولون ، لدى QEMU gdbserver وبشكل عام. وإذا كنت تريد نفس الشيء كما هو الحال في ص ص ، ولكن ل QEMU؟ تشير الوثائق إلى السجل / إعادة التشغيل المدمجة :


تُستخدم وظائف السجل / الإعادة للتنفيذ العكسي والإعادة الحتمية لتنفيذ qemu. يتم استخدام إعادة التحديد المحدد لتسجيل تنفيذ النظام المتقلب مرة واحدة وإعادة تشغيله لعدة مرات من أجل التحليل ، وتصحيح الأخطاء ، وقطع الأشجار ، إلخ. يمكن استخدام هذا التطبيق لإعادة قراءة الحتمية لتصحيح الأخطاء العكسي ورمز الضيف من خلال واجهة gdb عن بعد.

بالمناسبة ، تم تطوير الإصدار الأول من التصحيحات ، وفقًا للصفحة نفسها ، من قبل معهد برمجة النظام التابع لأكاديمية العلوم الروسية.


حسنا ، وإذا كنت ترغب في تصحيح عملية واحدة ، ولكن في جافا؟ هناك برنامج إلغاء تجزئة HotSpot لـ GDB. بناءً على طلب مماثل ، توجد مثل هذه الصفحة حيث يُقال إنها تُلعب بخبرة في مساحة عنوان JVM ، وتوفر المعلومات للأمر bt . لقد اكتشفت ذلك عن طريق الصدفة ، والاتصال بعملية JVM وطلب backtrace. للأسف ، عند إعداد هذه المقالة على Ubuntu 18.10 ، يمكنك إلغاء أداة gdb بشكل مطرد ، لكن يمكن للأداة ، عند إصلاحها ، أن تساعد بطريقة ما في وضع rr .


يرى عينًا ، ولكن السن مخدرة


مرة واحدة ، عند تصحيح الأخطاء ، صادفت لا توجد مساحة على خطأ في الجهاز. يبدو شيئًا شائعًا ، مكاني ينفد باستمرار بسبب المصنوعات التجميعية. ولكن كان هناك شيء غريب - أظهرت df -h عدة غيغا بايت مجانية على كل قسم ، وحسب علمي ، يأخذ هذا في الاعتبار المساحة المخصصة للمستخدم الجذر. قادتني خدمة google السريعة إلى تقديم المشورة للنظر في إخراج df -i ، وفي الواقع ، لم تكن هناك رموز حرة في القسم الصحيح ، أي أن الملفات كانت صغيرة ، لكن كان هناك الكثير .


تتبع هذا وذاك


أعتقد أن الكثير من الناس يعرفون حول strace ، وإذا لم يكن الأمر كذلك ، فغالبًا ما يكون هذا أداة مفيدة جدًا تُظهر النظام الذي يستدعي عملية أو شجرة عملية بأكملها.


مثال الإخراج
 $ 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 +++ 

كما ترون ، فإنه يقوم بترميز بيانات الإدخال والإخراج (بشكل عام ، هذا قابل للتكوين).


ربما يعرف عدد أقل من الناس عن ltrace - أداة مشابهة لتحليل المكالمات بين الكائنات الديناميكية (البرنامج والمكتبات). للأسف ، يبدو أن تطوير ltrace التخلي عنه ، الأمر الذي يبدو غريباً ، بالنظر إلى أن الأداة مفيدة ويجب أن تدار بشكل عام من قبل نفس فريق التطوير الذي رأى المحمل من libc . في مثل هذه الحالات ، من المعتاد أن تقول "لن تصدق ..." :) اتضح أن أحدث إصدارات glibc لديها أداة sotruss . إنه يحتوي على قابلية أقل للتكوين ، ولكنه ذو صلة بـ glibc . هناك ذبابة في المرهم: لا ltrace ولا sotruss شفرة معلمات الاتصال ، وهذا ليس مفاجئًا - لا توجد قائمة شاملة بما يجب أن sotruss بفك sotruss الجهة الخارجية مطلوبة بالفعل هنا. ربما يمكن إرفاقها بطريقة أو بأخرى ، لكن بصراحة ، لم يكن لدي حقًا استخدام تتبع المكتبة. ومع ذلك ، أعتقد أنه من المفيد معرفة هذه الأدوات.


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/ar443054/


All Articles