Hello, On Tue, Jan 14, 2020 at 11:53 PM DAVID STUMPH <DSTUMPH1144@xxxxxxxxxxxxx> wrote: > > Hello, > > I found from the emails that you referenced earlier that there is a open source project for building cross compilers: crosstools-ng. I used it to build a toolchain with the --with-sysroot option, and here > is the result: Thanks for sharing your result. Below are some comments: > $ arm-linux-gnueabihf-gcc -v > Using built-in specs. > COLLECT_GCC=arm-linux-gnueabihf-gcc > COLLECT_LTO_WRAPPER=/home/david/pi/arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux- > gnueabihf/9.2.0/lto-wrapper > Target: arm-linux-gnueabihf > Configured with: /home/david/cross-gcc/crosstool-ng/.build/arm-linux-gnueabihf/src/gcc/ > configure > --build=x86_64-build_pc-linux-gnu > --host=x86_64-build_pc-linux-gnu > --target=arm-linux-gnueabihf > --prefix=/home/david/x-tools/arm-linux-gnueabihf > --with-sysroot=/home/david/x-tools/arm-linux-gnueabihf/arm-linux-gnueabihf/sysroot Right, that is why I was surprised with the MinGW-w64's setting for the sysroot you wrote earlier, which in this setting would result in --with-sysroot=/home/david/x-tools/arm-linux-gnueabihf. > --enable-languages=c,c++ > --with-float=hard > --with-pkgversion='crosstool-NG 1.24.0.55-7bd6bb0' > --disable-sjlj-exceptions > --enable-__cxa_atexit > --disable-libmudflap > --disable-libgomp > --disable-libssp > --disable-libquadmath > --disable-libquadmath-support > --disable-libsanitizer This setting, which disables the building of asan_linux.o of libsanitizer, prevents the PATH_MAX problem from cropping up. > --disable-libmpx > --with-gmp=/home/david/cross-gcc/crosstool-ng/.build/arm-linux-gnueabihf/buildtools > --with-mpfr=/home/david/cross-gcc/crosstool-ng/.build/arm-linux-gnueabihf/buildtools > --with-mpc=/home/david/cross-gcc/crosstool-ng/.build/arm-linux-gnueabihf/buildtools > --with-isl=/home/david/cross-gcc/crosstool-ng/.build/arm-linux-gnueabihf/buildtools > --disable-lto I think that this setting, which disables LTO, means that zstd is not used (BTW, you are right that Cloog is no longer used). > --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++ -lm' > --enable-threads=posix > --enable-target-optspace > --disable-plugin > --disable-nls > --disable-multilib > --with-local-prefix=/home/david/x-tools/arm-linux-gnueabihf/arm-linux-gnueabihf/sysroot > --enable-long-long > Thread model: posix > gcc version 9.2.0 (crosstool-NG 1.24.0.55-7bd6bb0) > > As you can see, it uses a subdirectory of the prefix, $PREFIX/arm-linux-gnueabihf/sysroot. Yes, and as I said earlier, I would like to reproduce your case by following http://preshing.com/20141119/how-to-build-a-gcc-cross-compiler with some modifications (for your setting, I use the host libzstd and let binutils build the isl on its own, which is also the case for GCC as shown in Step 0 below). Below is the final result where I have perfected my modifications that I sent earlier (note that I was wrong in using Bash aliases because configure scripts ignore them; consequently, I use symbolic links instead as shown in Step 0 below): [0. Preliminaries] $ echo $PATH /home/eus/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin $ export PATH=$HOME/cross-gcc/install/bin:$PATH $ which gcc /home/eus/bin/gcc $ file /home/eus/bin/gcc /home/eus/bin/gcc: symbolic link to /usr/bin/gcc-8 $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 8.3.0-16ubuntu3~16.04' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 8.3.0 (Ubuntu 8.3.0-16ubuntu3~16.04) $ which g++ /home/eus/bin/g++ $ file /home/eus/bin/g++ /home/eus/bin/g++: symbolic link to /usr/bin/g++-8 $ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 8.3.0-16ubuntu3~16.04' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 8.3.0 (Ubuntu 8.3.0-16ubuntu3~16.04) [1. Binutils] $ tar xf binutils-2.33.1.tar.xz $ tar xf isl-0.22.tar.xz $ ln -s ../isl-0.22 binutils-2.33.1/isl $ mkdir build-binutils $ cd build-binutils $ ../binutils-2.33.1/configure \ --prefix=$HOME/cross-gcc/install \ --target=arm-linux-gnueabihf \ --disable-multilib \ --host=$MACHTYPE \ --build=$MACHTYPE \ --with-sysroot=$HOME/cross-gcc/install/arm-linux-gnueabihf \ --with-isl $ time make -j16 real 2m52.716s user 7m6.530s sys 0m44.738s $ make install $ cd .. [2. Linux Kernel Headers] $ tar xf linux-5.4.8.tar.xz $ cd linux-5.4.8 $ make \ ARCH=arm \ INSTALL_HDR_PATH=$HOME/cross-gcc/install/arm-linux-gnueabihf \ headers_install $ cd .. [3. C/C++ Compilers] $ tar xf gmp-6.1.2.tar.xz $ tar xf mpc-1.1.0.tar.gz $ tar xf mpfr-4.0.2.tar.xz $ tar xf gcc-9.2.0.tar.xz $ ln -s ../isl-0.22 gcc-9.2.0/isl $ ln -s ../gmp-6.1.2 gcc-9.2.0/gmp $ ln -s ../mpc-1.1.0 gcc-9.2.0/mpc $ ln -s ../mpfr-4.0.2 gcc-9.2.0/mpfr $ aptitude search -F%p '~i zstd' libzstd1 libzstd1-dev zstd $ aptitude show libzstd1-dev Package: libzstd1-dev New: yes State: installed Automatically installed: no Version: 1.3.1+dfsg-1~ubuntu0.16.04.1 Priority: optional Section: universe/libdevel Maintainer: Ubuntu Developers <ubuntu-devel-discuss@xxxxxxxxxxxxxxxx> Architecture: amd64 Uncompressed Size: 642 k Depends: libzstd1 (= 1.3.1+dfsg-1~ubuntu0.16.04.1) Conflicts: libzstd-dev, libzstd-dev:i386, libzstd1-dev:i386 Provides: libzstd-dev Description: fast lossless compression algorithm -- development files Zstd, short for Zstandard, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level compression ratio. This package contains the headers and static library. Homepage: https://github.com/facebook/zstd $ mkdir build-gcc $ cd build-gcc $ # --with-sysroot finds the libc correctly after installation # --with-build-sysroot fixes the PATH_MAX problem # --with-native-system-header-dir (relative to sysroot) to avoid /usr/include problem ../gcc-9.2.0/configure \ --prefix=$HOME/cross-gcc/install \ --target=arm-linux-gnueabihf \ --host=$MACHTYPE \ --build=$MACHTYPE \ --enable-languages=c,c++ \ --disable-multilib \ --with-sysroot=$HOME/cross-gcc/install/arm-linux-gnueabihf \ --with-build-sysroot=$HOME/cross-gcc/install/arm-linux-gnueabihf \ --with-native-system-header-dir=/include \ --with-zstd $ time make -j16 all-gcc real 15m16.249s user 52m14.005s sys 2m50.789s $ make install-gcc $ cd .. [4. Standard C Library Headers and Startup Files] $ tar xf glibc-2.30.tar.xz $ mkdir build-glibc $ cd build-glibc $ # No sysroot ../glibc-2.30/configure \ --prefix=/ \ --build=$MACHTYPE \ --host=arm-linux-gnueabihf \ --target=arm-linux-gnueabihf \ --with-headers=$HOME/cross-gcc/install/arm-linux-gnueabihf/include \ --disable-multilib \ libc_cv_forced_unwind=yes $ make DESTDIR=$HOME/cross-gcc/install/arm-linux-gnueabihf install-bootstrap-headers=yes install-headers $ make -j16 csu/subdir_lib $ install csu/crt1.o csu/crti.o csu/crtn.o $HOME/cross-gcc/install/arm-linux-gnueabihf/lib $ arm-linux-gnueabihf-gcc -nostdlib -nostartfiles -shared -x c /dev/null -o $HOME/cross-gcc/install/arm-linux-gnueabihf/lib/libc.so $ touch $HOME/cross-gcc/install/arm-linux-gnueabihf/include/gnu/stubs.h $ cd .. [5. Compiler Support Library] $ cd build-gcc $ rm gcc/stmp-fixinc # Fix the PATH_MAX problem at Step 7 $ time make -j16 all-target-libgcc real 2m9.048s user 5m52.969s sys 1m40.113s $ make install-target-libgcc $ cd .. [6. Standard C Library] $ cd build-glibc $ time make -j16 real 6m11.895s user 18m59.766s sys 2m44.554s $ make DESTDIR=$HOME/cross-gcc/install/arm-linux-gnueabihf install $ cd .. [7. Standard C++ Library] $ cd build-gcc $ time make -j16 real 8m44.296s user 18m22.151s sys 3m10.522s $ make install $ cd .. [Testing the Cross-Compiler] $ arm-linux-gnueabihf-g++ -v Using built-in specs. COLLECT_GCC=arm-linux-gnueabihf-g++ COLLECT_LTO_WRAPPER=/home/eus/cross-gcc/install/libexec/gcc/arm-linux-gnueabihf/9.2.0/lto-wrapper Target: arm-linux-gnueabihf Configured with: ../gcc-9.2.0/configure --prefix=/home/eus/cross-gcc/install --target=arm-linux-gnueabihf --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --enable-languages=c,c++ --disable-multilib --with-sysroot=/home/eus/cross-gcc/install/arm-linux-gnueabihf --with-build-sysroot=/home/eus/cross-gcc/install/arm-linux-gnueabihf --with-native-system-header-dir=/include --with-zstd Thread model: posix gcc version 9.2.0 (GCC) $ cat test.cpp #include <iostream> int main() { auto lambda = [](auto x){ return x; }; std::cout << lambda("Hello generic lambda!\n"); return 0; } $ arm-linux-gnueabihf-g++ -std=c++14 test.cpp $ arm-linux-gnueabihf-objdump -d a.out > test.txt # attached $ cat testlib.cpp #include <iostream> #include <thread> int main() { std::thread t([]() { std::cout << "In thread\n";}); t.join(); return 0; } $ arm-linux-gnueabihf-g++ -std=c++14 testlib.cpp -pthread $ arm-linux-gnueabihf-objdump -d a.out > testlib.txt # attached Perhaps you can send me your test.txt and testlib.txt that are produced using your cross compiler (I suspect some differences exist because your GCC is configured using --disable-libssp)? Thank you. > Thank you for all of your help, Tadeus, My pleasure. > David -- Best regards, Tadeus
a.out: file format elf32-littlearm Disassembly of section .init: 000104f4 <_init>: 104f4: e92d4008 push {r3, lr} 104f8: eb000029 bl 105a4 <call_weak_fn> 104fc: e8bd8008 pop {r3, pc} Disassembly of section .plt: 00010500 <.plt>: 10500: e52de004 push {lr} ; (str lr, [sp, #-4]!) 10504: e59fe004 ldr lr, [pc, #4] ; 10510 <.plt+0x10> 10508: e08fe00e add lr, pc, lr 1050c: e5bef008 ldr pc, [lr, #8]! 10510: 00010af0 .word 0x00010af0 00010514 <__aeabi_atexit@plt>: 10514: e28fc600 add ip, pc, #0, 12 10518: e28cca10 add ip, ip, #16, 20 ; 0x10000 1051c: e5bcfaf0 ldr pc, [ip, #2800]! ; 0xaf0 00010520 <abort@plt>: 10520: e28fc600 add ip, pc, #0, 12 10524: e28cca10 add ip, ip, #16, 20 ; 0x10000 10528: e5bcfae8 ldr pc, [ip, #2792]! ; 0xae8 0001052c <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>: 1052c: e28fc600 add ip, pc, #0, 12 10530: e28cca10 add ip, ip, #16, 20 ; 0x10000 10534: e5bcfae0 ldr pc, [ip, #2784]! ; 0xae0 00010538 <_ZNSt8ios_base4InitC1Ev@plt>: 10538: e28fc600 add ip, pc, #0, 12 1053c: e28cca10 add ip, ip, #16, 20 ; 0x10000 10540: e5bcfad8 ldr pc, [ip, #2776]! ; 0xad8 00010544 <__libc_start_main@plt>: 10544: e28fc600 add ip, pc, #0, 12 10548: e28cca10 add ip, ip, #16, 20 ; 0x10000 1054c: e5bcfad0 ldr pc, [ip, #2768]! ; 0xad0 00010550 <__gmon_start__@plt>: 10550: e28fc600 add ip, pc, #0, 12 10554: e28cca10 add ip, ip, #16, 20 ; 0x10000 10558: e5bcfac8 ldr pc, [ip, #2760]! ; 0xac8 0001055c <_ZNSt8ios_base4InitD1Ev@plt>: 1055c: e28fc600 add ip, pc, #0, 12 10560: e28cca10 add ip, ip, #16, 20 ; 0x10000 10564: e5bcfac0 ldr pc, [ip, #2752]! ; 0xac0 Disassembly of section .text: 00010568 <_start>: 10568: e3a0b000 mov fp, #0 1056c: e3a0e000 mov lr, #0 10570: e49d1004 pop {r1} ; (ldr r1, [sp], #4) 10574: e1a0200d mov r2, sp 10578: e52d2004 push {r2} ; (str r2, [sp, #-4]!) 1057c: e52d0004 push {r0} ; (str r0, [sp, #-4]!) 10580: e59fc010 ldr ip, [pc, #16] ; 10598 <_start+0x30> 10584: e52dc004 push {ip} ; (str ip, [sp, #-4]!) 10588: e59f000c ldr r0, [pc, #12] ; 1059c <_start+0x34> 1058c: e59f300c ldr r3, [pc, #12] ; 105a0 <_start+0x38> 10590: ebffffeb bl 10544 <__libc_start_main@plt> 10594: ebffffe1 bl 10520 <abort@plt> 10598: 000107a4 .word 0x000107a4 1059c: 00010680 .word 0x00010680 105a0: 00010744 .word 0x00010744 000105a4 <call_weak_fn>: 105a4: e59f3014 ldr r3, [pc, #20] ; 105c0 <call_weak_fn+0x1c> 105a8: e59f2014 ldr r2, [pc, #20] ; 105c4 <call_weak_fn+0x20> 105ac: e08f3003 add r3, pc, r3 105b0: e7932002 ldr r2, [r3, r2] 105b4: e3520000 cmp r2, #0 105b8: 012fff1e bxeq lr 105bc: eaffffe3 b 10550 <__gmon_start__@plt> 105c0: 00010a4c .word 0x00010a4c 105c4: 00000028 .word 0x00000028 000105c8 <deregister_tm_clones>: 105c8: e59f0018 ldr r0, [pc, #24] ; 105e8 <deregister_tm_clones+0x20> 105cc: e59f3018 ldr r3, [pc, #24] ; 105ec <deregister_tm_clones+0x24> 105d0: e1530000 cmp r3, r0 105d4: 012fff1e bxeq lr 105d8: e59f3010 ldr r3, [pc, #16] ; 105f0 <deregister_tm_clones+0x28> 105dc: e3530000 cmp r3, #0 105e0: 012fff1e bxeq lr 105e4: e12fff13 bx r3 105e8: 00021034 .word 0x00021034 105ec: 00021034 .word 0x00021034 105f0: 00000000 .word 0x00000000 000105f4 <register_tm_clones>: 105f4: e59f0024 ldr r0, [pc, #36] ; 10620 <register_tm_clones+0x2c> 105f8: e59f1024 ldr r1, [pc, #36] ; 10624 <register_tm_clones+0x30> 105fc: e0413000 sub r3, r1, r0 10600: e1a01fa3 lsr r1, r3, #31 10604: e0811143 add r1, r1, r3, asr #2 10608: e1b010c1 asrs r1, r1, #1 1060c: 012fff1e bxeq lr 10610: e59f3010 ldr r3, [pc, #16] ; 10628 <register_tm_clones+0x34> 10614: e3530000 cmp r3, #0 10618: 012fff1e bxeq lr 1061c: e12fff13 bx r3 10620: 00021034 .word 0x00021034 10624: 00021034 .word 0x00021034 10628: 00000000 .word 0x00000000 0001062c <__do_global_dtors_aux>: 1062c: e92d4010 push {r4, lr} 10630: e59f4018 ldr r4, [pc, #24] ; 10650 <__do_global_dtors_aux+0x24> 10634: e5d43000 ldrb r3, [r4] 10638: e3530000 cmp r3, #0 1063c: 18bd8010 popne {r4, pc} 10640: ebffffe0 bl 105c8 <deregister_tm_clones> 10644: e3a03001 mov r3, #1 10648: e5c43000 strb r3, [r4] 1064c: e8bd8010 pop {r4, pc} 10650: 000210c4 .word 0x000210c4 00010654 <frame_dummy>: 10654: eaffffe6 b 105f4 <register_tm_clones> 00010658 <_ZZ4mainENKUlT_E_clIPKcEEDaS_>: 10658: e52db004 push {fp} ; (str fp, [sp, #-4]!) 1065c: e28db000 add fp, sp, #0 10660: e24dd00c sub sp, sp, #12 10664: e50b0008 str r0, [fp, #-8] 10668: e50b100c str r1, [fp, #-12] 1066c: e51b300c ldr r3, [fp, #-12] 10670: e1a00003 mov r0, r3 10674: e28bd000 add sp, fp, #0 10678: e49db004 pop {fp} ; (ldr fp, [sp], #4) 1067c: e12fff1e bx lr 00010680 <main>: 10680: e92d4800 push {fp, lr} 10684: e28db004 add fp, sp, #4 10688: e24dd008 sub sp, sp, #8 1068c: e24b3008 sub r3, fp, #8 10690: e59f1024 ldr r1, [pc, #36] ; 106bc <main+0x3c> 10694: e1a00003 mov r0, r3 10698: ebffffee bl 10658 <_ZZ4mainENKUlT_E_clIPKcEEDaS_> 1069c: e1a03000 mov r3, r0 106a0: e1a01003 mov r1, r3 106a4: e59f0014 ldr r0, [pc, #20] ; 106c0 <main+0x40> 106a8: ebffff9f bl 1052c <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt> 106ac: e3a03000 mov r3, #0 106b0: e1a00003 mov r0, r3 106b4: e24bd004 sub sp, fp, #4 106b8: e8bd8800 pop {fp, pc} 106bc: 000107b8 .word 0x000107b8 106c0: 00021038 .word 0x00021038 000106c4 <_Z41__static_initialization_and_destruction_0ii>: 106c4: e92d4800 push {fp, lr} 106c8: e28db004 add fp, sp, #4 106cc: e24dd008 sub sp, sp, #8 106d0: e50b0008 str r0, [fp, #-8] 106d4: e50b100c str r1, [fp, #-12] 106d8: e51b3008 ldr r3, [fp, #-8] 106dc: e3530001 cmp r3, #1 106e0: 1a000009 bne 1070c <_Z41__static_initialization_and_destruction_0ii+0x48> 106e4: e51b300c ldr r3, [fp, #-12] 106e8: e59f2028 ldr r2, [pc, #40] ; 10718 <_Z41__static_initialization_and_destruction_0ii+0x54> 106ec: e1530002 cmp r3, r2 106f0: 1a000005 bne 1070c <_Z41__static_initialization_and_destruction_0ii+0x48> 106f4: e59f0020 ldr r0, [pc, #32] ; 1071c <_Z41__static_initialization_and_destruction_0ii+0x58> 106f8: ebffff8e bl 10538 <_ZNSt8ios_base4InitC1Ev@plt> 106fc: e59f201c ldr r2, [pc, #28] ; 10720 <_Z41__static_initialization_and_destruction_0ii+0x5c> 10700: e59f101c ldr r1, [pc, #28] ; 10724 <_Z41__static_initialization_and_destruction_0ii+0x60> 10704: e59f0010 ldr r0, [pc, #16] ; 1071c <_Z41__static_initialization_and_destruction_0ii+0x58> 10708: ebffff81 bl 10514 <__aeabi_atexit@plt> 1070c: e1a00000 nop ; (mov r0, r0) 10710: e24bd004 sub sp, fp, #4 10714: e8bd8800 pop {fp, pc} 10718: 0000ffff .word 0x0000ffff 1071c: 000210c8 .word 0x000210c8 10720: 00021030 .word 0x00021030 10724: 0001055c .word 0x0001055c 00010728 <_GLOBAL__sub_I_main>: 10728: e92d4800 push {fp, lr} 1072c: e28db004 add fp, sp, #4 10730: e59f1008 ldr r1, [pc, #8] ; 10740 <_GLOBAL__sub_I_main+0x18> 10734: e3a00001 mov r0, #1 10738: ebffffe1 bl 106c4 <_Z41__static_initialization_and_destruction_0ii> 1073c: e8bd8800 pop {fp, pc} 10740: 0000ffff .word 0x0000ffff 00010744 <__libc_csu_init>: 10744: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr} 10748: e59f604c ldr r6, [pc, #76] ; 1079c <__libc_csu_init+0x58> 1074c: e59f504c ldr r5, [pc, #76] ; 107a0 <__libc_csu_init+0x5c> 10750: e08f6006 add r6, pc, r6 10754: e08f5005 add r5, pc, r5 10758: e0466005 sub r6, r6, r5 1075c: e1a07000 mov r7, r0 10760: e1a08001 mov r8, r1 10764: e1a09002 mov r9, r2 10768: ebffff61 bl 104f4 <_init> 1076c: e1b06146 asrs r6, r6, #2 10770: 08bd87f0 popeq {r4, r5, r6, r7, r8, r9, sl, pc} 10774: e3a04000 mov r4, #0 10778: e1a02009 mov r2, r9 1077c: e1a01008 mov r1, r8 10780: e1a00007 mov r0, r7 10784: e4953004 ldr r3, [r5], #4 10788: e2844001 add r4, r4, #1 1078c: e12fff33 blx r3 10790: e1560004 cmp r6, r4 10794: 1afffff7 bne 10778 <__libc_csu_init+0x34> 10798: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc} 1079c: 0001079c .word 0x0001079c 107a0: 00010790 .word 0x00010790 000107a4 <__libc_csu_fini>: 107a4: e12fff1e bx lr Disassembly of section .fini: 000107a8 <_fini>: 107a8: e92d4008 push {r3, lr} 107ac: e8bd8008 pop {r3, pc}
a.out: file format elf32-littlearm Disassembly of section .init: 000108d8 <_init>: 108d8: e92d4008 push {r3, lr} 108dc: eb000044 bl 109f4 <call_weak_fn> 108e0: e8bd8008 pop {r3, pc} Disassembly of section .plt: 000108e4 <.plt>: 108e4: e52de004 push {lr} ; (str lr, [sp, #-4]!) 108e8: e59fe004 ldr lr, [pc, #4] ; 108f4 <.plt+0x10> 108ec: e08fe00e add lr, pc, lr 108f0: e5bef008 ldr pc, [lr, #8]! 108f4: 0001170c .word 0x0001170c 000108f8 <_Znwj@plt>: 108f8: e28fc600 add ip, pc, #0, 12 108fc: e28cca11 add ip, ip, #69632 ; 0x11000 10900: e5bcf70c ldr pc, [ip, #1804]! ; 0x70c 00010904 <__aeabi_atexit@plt>: 10904: e28fc600 add ip, pc, #0, 12 10908: e28cca11 add ip, ip, #69632 ; 0x11000 1090c: e5bcf704 ldr pc, [ip, #1796]! ; 0x704 00010910 <_ZSt9terminatev@plt>: 10910: e28fc600 add ip, pc, #0, 12 10914: e28cca11 add ip, ip, #69632 ; 0x11000 10918: e5bcf6fc ldr pc, [ip, #1788]! ; 0x6fc 0001091c <_ZNSt6thread6_StateD2Ev@plt>: 1091c: e28fc600 add ip, pc, #0, 12 10920: e28cca11 add ip, ip, #69632 ; 0x11000 10924: e5bcf6f4 ldr pc, [ip, #1780]! ; 0x6f4 00010928 <_ZdlPvj@plt>: 10928: e28fc600 add ip, pc, #0, 12 1092c: e28cca11 add ip, ip, #69632 ; 0x11000 10930: e5bcf6ec ldr pc, [ip, #1772]! ; 0x6ec 00010934 <abort@plt>: 10934: e28fc600 add ip, pc, #0, 12 10938: e28cca11 add ip, ip, #69632 ; 0x11000 1093c: e5bcf6e4 ldr pc, [ip, #1764]! ; 0x6e4 00010940 <_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE@plt>: 10940: e28fc600 add ip, pc, #0, 12 10944: e28cca11 add ip, ip, #69632 ; 0x11000 10948: e5bcf6dc ldr pc, [ip, #1756]! ; 0x6dc 0001094c <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>: 1094c: e28fc600 add ip, pc, #0, 12 10950: e28cca11 add ip, ip, #69632 ; 0x11000 10954: e5bcf6d4 ldr pc, [ip, #1748]! ; 0x6d4 00010958 <__cxa_end_cleanup@plt>: 10958: e28fc600 add ip, pc, #0, 12 1095c: e28cca11 add ip, ip, #69632 ; 0x11000 10960: e5bcf6cc ldr pc, [ip, #1740]! ; 0x6cc 00010964 <_ZNSt8ios_base4InitC1Ev@plt>: 10964: e28fc600 add ip, pc, #0, 12 10968: e28cca11 add ip, ip, #69632 ; 0x11000 1096c: e5bcf6c4 ldr pc, [ip, #1732]! ; 0x6c4 00010970 <__gxx_personality_v0@plt>: 10970: e28fc600 add ip, pc, #0, 12 10974: e28cca11 add ip, ip, #69632 ; 0x11000 10978: e5bcf6bc ldr pc, [ip, #1724]! ; 0x6bc 0001097c <pthread_create@plt>: 1097c: e28fc600 add ip, pc, #0, 12 10980: e28cca11 add ip, ip, #69632 ; 0x11000 10984: e5bcf6b4 ldr pc, [ip, #1716]! ; 0x6b4 00010988 <_ZNSt6thread4joinEv@plt>: 10988: e28fc600 add ip, pc, #0, 12 1098c: e28cca11 add ip, ip, #69632 ; 0x11000 10990: e5bcf6ac ldr pc, [ip, #1708]! ; 0x6ac 00010994 <__libc_start_main@plt>: 10994: e28fc600 add ip, pc, #0, 12 10998: e28cca11 add ip, ip, #69632 ; 0x11000 1099c: e5bcf6a4 ldr pc, [ip, #1700]! ; 0x6a4 000109a0 <__gmon_start__@plt>: 109a0: e28fc600 add ip, pc, #0, 12 109a4: e28cca11 add ip, ip, #69632 ; 0x11000 109a8: e5bcf69c ldr pc, [ip, #1692]! ; 0x69c 000109ac <_ZNSt8ios_base4InitD1Ev@plt>: 109ac: e28fc600 add ip, pc, #0, 12 109b0: e28cca11 add ip, ip, #69632 ; 0x11000 109b4: e5bcf694 ldr pc, [ip, #1684]! ; 0x694 Disassembly of section .text: 000109b8 <_start>: 109b8: e3a0b000 mov fp, #0 109bc: e3a0e000 mov lr, #0 109c0: e49d1004 pop {r1} ; (ldr r1, [sp], #4) 109c4: e1a0200d mov r2, sp 109c8: e52d2004 push {r2} ; (str r2, [sp, #-4]!) 109cc: e52d0004 push {r0} ; (str r0, [sp, #-4]!) 109d0: e59fc010 ldr ip, [pc, #16] ; 109e8 <_start+0x30> 109d4: e52dc004 push {ip} ; (str ip, [sp, #-4]!) 109d8: e59f000c ldr r0, [pc, #12] ; 109ec <_start+0x34> 109dc: e59f300c ldr r3, [pc, #12] ; 109f0 <_start+0x38> 109e0: ebffffeb bl 10994 <__libc_start_main@plt> 109e4: ebffffd2 bl 10934 <abort@plt> 109e8: 000116d4 .word 0x000116d4 109ec: 00010ad8 .word 0x00010ad8 109f0: 00011674 .word 0x00011674 000109f4 <call_weak_fn>: 109f4: e59f3014 ldr r3, [pc, #20] ; 10a10 <call_weak_fn+0x1c> 109f8: e59f2014 ldr r2, [pc, #20] ; 10a14 <call_weak_fn+0x20> 109fc: e08f3003 add r3, pc, r3 10a00: e7932002 ldr r2, [r3, r2] 10a04: e3520000 cmp r2, #0 10a08: 012fff1e bxeq lr 10a0c: eaffffe3 b 109a0 <__gmon_start__@plt> 10a10: 000115fc .word 0x000115fc 10a14: 0000004c .word 0x0000004c 00010a18 <deregister_tm_clones>: 10a18: e59f0018 ldr r0, [pc, #24] ; 10a38 <deregister_tm_clones+0x20> 10a1c: e59f3018 ldr r3, [pc, #24] ; 10a3c <deregister_tm_clones+0x24> 10a20: e1530000 cmp r3, r0 10a24: 012fff1e bxeq lr 10a28: e59f3010 ldr r3, [pc, #16] ; 10a40 <deregister_tm_clones+0x28> 10a2c: e3530000 cmp r3, #0 10a30: 012fff1e bxeq lr 10a34: e12fff13 bx r3 10a38: 00022058 .word 0x00022058 10a3c: 00022058 .word 0x00022058 10a40: 00000000 .word 0x00000000 00010a44 <register_tm_clones>: 10a44: e59f0024 ldr r0, [pc, #36] ; 10a70 <register_tm_clones+0x2c> 10a48: e59f1024 ldr r1, [pc, #36] ; 10a74 <register_tm_clones+0x30> 10a4c: e0413000 sub r3, r1, r0 10a50: e1a01fa3 lsr r1, r3, #31 10a54: e0811143 add r1, r1, r3, asr #2 10a58: e1b010c1 asrs r1, r1, #1 10a5c: 012fff1e bxeq lr 10a60: e59f3010 ldr r3, [pc, #16] ; 10a78 <register_tm_clones+0x34> 10a64: e3530000 cmp r3, #0 10a68: 012fff1e bxeq lr 10a6c: e12fff13 bx r3 10a70: 00022058 .word 0x00022058 10a74: 00022058 .word 0x00022058 10a78: 00000000 .word 0x00000000 00010a7c <__do_global_dtors_aux>: 10a7c: e92d4010 push {r4, lr} 10a80: e59f4018 ldr r4, [pc, #24] ; 10aa0 <__do_global_dtors_aux+0x24> 10a84: e5d43000 ldrb r3, [r4] 10a88: e3530000 cmp r3, #0 10a8c: 18bd8010 popne {r4, pc} 10a90: ebffffe0 bl 10a18 <deregister_tm_clones> 10a94: e3a03001 mov r3, #1 10a98: e5c43000 strb r3, [r4] 10a9c: e8bd8010 pop {r4, pc} 10aa0: 000220e4 .word 0x000220e4 00010aa4 <frame_dummy>: 10aa4: eaffffe6 b 10a44 <register_tm_clones> 00010aa8 <_ZZ4mainENKUlvE_clEv>: 10aa8: e92d4800 push {fp, lr} 10aac: e28db004 add fp, sp, #4 10ab0: e24dd008 sub sp, sp, #8 10ab4: e50b0008 str r0, [fp, #-8] 10ab8: e59f1010 ldr r1, [pc, #16] ; 10ad0 <_ZZ4mainENKUlvE_clEv+0x28> 10abc: e59f0010 ldr r0, [pc, #16] ; 10ad4 <_ZZ4mainENKUlvE_clEv+0x2c> 10ac0: ebffffa1 bl 1094c <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt> 10ac4: e1a00000 nop ; (mov r0, r0) 10ac8: e24bd004 sub sp, fp, #4 10acc: e8bd8800 pop {fp, pc} 10ad0: 000116f4 .word 0x000116f4 10ad4: 00022058 .word 0x00022058 00010ad8 <main>: 10ad8: e92d4810 push {r4, fp, lr} 10adc: e28db008 add fp, sp, #8 10ae0: e24dd00c sub sp, sp, #12 10ae4: e24b2010 sub r2, fp, #16 10ae8: e24b3014 sub r3, fp, #20 10aec: e1a01002 mov r1, r2 10af0: e1a00003 mov r0, r3 10af4: eb00000f bl 10b38 <_ZNSt6threadC1IZ4mainEUlvE_JEvEEOT_DpOT0_> 10af8: e24b3014 sub r3, fp, #20 10afc: e1a00003 mov r0, r3 10b00: ebffffa0 bl 10988 <_ZNSt6thread4joinEv@plt> 10b04: e3a04000 mov r4, #0 10b08: e24b3014 sub r3, fp, #20 10b0c: e1a00003 mov r0, r3 10b10: eb0001a0 bl 11198 <_ZNSt6threadD1Ev> 10b14: e1a03004 mov r3, r4 10b18: ea000003 b 10b2c <main+0x54> 10b1c: e24b3014 sub r3, fp, #20 10b20: e1a00003 mov r0, r3 10b24: eb00019b bl 11198 <_ZNSt6threadD1Ev> 10b28: ebffff8a bl 10958 <__cxa_end_cleanup@plt> 10b2c: e1a00003 mov r0, r3 10b30: e24bd008 sub sp, fp, #8 10b34: e8bd8810 pop {r4, fp, pc} 00010b38 <_ZNSt6threadC1IZ4mainEUlvE_JEvEEOT_DpOT0_>: 10b38: e92d4800 push {fp, lr} 10b3c: e28db004 add fp, sp, #4 10b40: e24dd018 sub sp, sp, #24 10b44: e50b0018 str r0, [fp, #-24] ; 0xffffffe8 10b48: e50b101c str r1, [fp, #-28] ; 0xffffffe4 10b4c: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8 10b50: e1a00003 mov r0, r3 10b54: eb000183 bl 11168 <_ZNSt6thread2idC1Ev> 10b58: e59f3074 ldr r3, [pc, #116] ; 10bd4 <_ZNSt6threadC1IZ4mainEUlvE_JEvEEOT_DpOT0_+0x9c> 10b5c: e50b3008 str r3, [fp, #-8] 10b60: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 10b64: eb00001b bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 10b68: e1a02000 mov r2, r0 10b6c: e24b300c sub r3, fp, #12 10b70: e1a01002 mov r1, r2 10b74: e1a00003 mov r0, r3 10b78: eb000054 bl 10cd0 <_ZNSt6thread14__make_invokerIZ4mainEUlvE_JEEENS_8_InvokerISt5tupleIJNSt5decayIT_E4typeEDpNS4_IT0_E4typeEEEEEOS5_DpOS8_> 10b7c: e24b3010 sub r3, fp, #16 10b80: e24b200c sub r2, fp, #12 10b84: e1a01002 mov r1, r2 10b88: e1a00003 mov r0, r3 10b8c: eb00005e bl 10d0c <_ZNSt6thread13_S_make_stateINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEESt10unique_ptrINS_6_StateESt14default_deleteIS7_EEOT_> 10b90: e24b3010 sub r3, fp, #16 10b94: e51b2008 ldr r2, [fp, #-8] 10b98: e1a01003 mov r1, r3 10b9c: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 10ba0: ebffff66 bl 10940 <_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE@plt> 10ba4: e24b3010 sub r3, fp, #16 10ba8: e1a00003 mov r0, r3 10bac: eb0001a7 bl 11250 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EED1Ev> 10bb0: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8 10bb4: ea000003 b 10bc8 <_ZNSt6threadC1IZ4mainEUlvE_JEvEEOT_DpOT0_+0x90> 10bb8: e24b3010 sub r3, fp, #16 10bbc: e1a00003 mov r0, r3 10bc0: eb0001a2 bl 11250 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EED1Ev> 10bc4: ebffff63 bl 10958 <__cxa_end_cleanup@plt> 10bc8: e1a00003 mov r0, r3 10bcc: e24bd004 sub sp, fp, #4 10bd0: e8bd8800 pop {fp, pc} 10bd4: 0001097c .word 0x0001097c 00010bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE>: 10bd8: e52db004 push {fp} ; (str fp, [sp, #-4]!) 10bdc: e28db000 add fp, sp, #0 10be0: e24dd00c sub sp, sp, #12 10be4: e50b0008 str r0, [fp, #-8] 10be8: e51b3008 ldr r3, [fp, #-8] 10bec: e1a00003 mov r0, r3 10bf0: e28bd000 add sp, fp, #0 10bf4: e49db004 pop {fp} ; (ldr fp, [sp], #4) 10bf8: e12fff1e bx lr 00010bfc <_ZNSt5tupleIJZ4mainEUlvE_EEC1EOS1_>: 10bfc: e92d4800 push {fp, lr} 10c00: e28db004 add fp, sp, #4 10c04: e24dd008 sub sp, sp, #8 10c08: e50b0008 str r0, [fp, #-8] 10c0c: e50b100c str r1, [fp, #-12] 10c10: e51b100c ldr r1, [fp, #-12] 10c14: e51b0008 ldr r0, [fp, #-8] 10c18: eb000050 bl 10d60 <_ZNSt11_Tuple_implILj0EJZ4mainEUlvE_EEC2EOS1_> 10c1c: e51b3008 ldr r3, [fp, #-8] 10c20: e1a00003 mov r0, r3 10c24: e24bd004 sub sp, fp, #4 10c28: e8bd8800 pop {fp, pc} 00010c2c <_ZNSt5tupleIJZ4mainEUlvE_EEC1IJS0_ELb1EEEDpOT_>: 10c2c: e92d4800 push {fp, lr} 10c30: e28db004 add fp, sp, #4 10c34: e24dd008 sub sp, sp, #8 10c38: e50b0008 str r0, [fp, #-8] 10c3c: e50b100c str r1, [fp, #-12] 10c40: e51b000c ldr r0, [fp, #-12] 10c44: ebffffe3 bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 10c48: e1a03000 mov r3, r0 10c4c: e1a01003 mov r1, r3 10c50: e51b0008 ldr r0, [fp, #-8] 10c54: eb000003 bl 10c68 <_ZNSt11_Tuple_implILj0EJZ4mainEUlvE_EEC2IS0_EEOT_> 10c58: e51b3008 ldr r3, [fp, #-8] 10c5c: e1a00003 mov r0, r3 10c60: e24bd004 sub sp, fp, #4 10c64: e8bd8800 pop {fp, pc} 00010c68 <_ZNSt11_Tuple_implILj0EJZ4mainEUlvE_EEC2IS0_EEOT_>: 10c68: e92d4800 push {fp, lr} 10c6c: e28db004 add fp, sp, #4 10c70: e24dd008 sub sp, sp, #8 10c74: e50b0008 str r0, [fp, #-8] 10c78: e50b100c str r1, [fp, #-12] 10c7c: e51b000c ldr r0, [fp, #-12] 10c80: ebffffd4 bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 10c84: e1a03000 mov r3, r0 10c88: e1a01003 mov r1, r3 10c8c: e51b0008 ldr r0, [fp, #-8] 10c90: eb000003 bl 10ca4 <_ZNSt10_Head_baseILj0EZ4mainEUlvE_Lb1EEC2IS0_EEOT_> 10c94: e51b3008 ldr r3, [fp, #-8] 10c98: e1a00003 mov r0, r3 10c9c: e24bd004 sub sp, fp, #4 10ca0: e8bd8800 pop {fp, pc} 00010ca4 <_ZNSt10_Head_baseILj0EZ4mainEUlvE_Lb1EEC2IS0_EEOT_>: 10ca4: e92d4800 push {fp, lr} 10ca8: e28db004 add fp, sp, #4 10cac: e24dd008 sub sp, sp, #8 10cb0: e50b0008 str r0, [fp, #-8] 10cb4: e50b100c str r1, [fp, #-12] 10cb8: e51b000c ldr r0, [fp, #-12] 10cbc: ebffffc5 bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 10cc0: e51b3008 ldr r3, [fp, #-8] 10cc4: e1a00003 mov r0, r3 10cc8: e24bd004 sub sp, fp, #4 10ccc: e8bd8800 pop {fp, pc} 00010cd0 <_ZNSt6thread14__make_invokerIZ4mainEUlvE_JEEENS_8_InvokerISt5tupleIJNSt5decayIT_E4typeEDpNS4_IT0_E4typeEEEEEOS5_DpOS8_>: 10cd0: e92d4810 push {r4, fp, lr} 10cd4: e28db008 add fp, sp, #8 10cd8: e24dd00c sub sp, sp, #12 10cdc: e50b0010 str r0, [fp, #-16] 10ce0: e50b1014 str r1, [fp, #-20] ; 0xffffffec 10ce4: e51b4010 ldr r4, [fp, #-16] 10ce8: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec 10cec: ebffffb9 bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 10cf0: e1a03000 mov r3, r0 10cf4: e1a01003 mov r1, r3 10cf8: e1a00004 mov r0, r4 10cfc: ebffffca bl 10c2c <_ZNSt5tupleIJZ4mainEUlvE_EEC1IJS0_ELb1EEEDpOT_> 10d00: e51b0010 ldr r0, [fp, #-16] 10d04: e24bd008 sub sp, fp, #8 10d08: e8bd8810 pop {r4, fp, pc} 00010d0c <_ZNSt6thread13_S_make_stateINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEESt10unique_ptrINS_6_StateESt14default_deleteIS7_EEOT_>: 10d0c: e92d4830 push {r4, r5, fp, lr} 10d10: e28db00c add fp, sp, #12 10d14: e24dd008 sub sp, sp, #8 10d18: e50b0010 str r0, [fp, #-16] 10d1c: e50b1014 str r1, [fp, #-20] ; 0xffffffec 10d20: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec 10d24: eb00001f bl 10da8 <_ZSt7forwardINSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEOT_RNSt16remove_referenceIS6_E4typeE> 10d28: e1a05000 mov r5, r0 10d2c: e3a00008 mov r0, #8 10d30: ebfffef0 bl 108f8 <_Znwj@plt> 10d34: e1a03000 mov r3, r0 10d38: e1a04003 mov r4, r3 10d3c: e1a01005 mov r1, r5 10d40: e1a00004 mov r0, r4 10d44: eb00002e bl 10e04 <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEC1EOS5_> 10d48: e1a01004 mov r1, r4 10d4c: e51b0010 ldr r0, [fp, #-16] 10d50: eb000168 bl 112f8 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EEC1IS3_vEEPS1_> 10d54: e51b0010 ldr r0, [fp, #-16] 10d58: e24bd00c sub sp, fp, #12 10d5c: e8bd8830 pop {r4, r5, fp, pc} 00010d60 <_ZNSt11_Tuple_implILj0EJZ4mainEUlvE_EEC2EOS1_>: 10d60: e92d4800 push {fp, lr} 10d64: e28db004 add fp, sp, #4 10d68: e24dd008 sub sp, sp, #8 10d6c: e50b0008 str r0, [fp, #-8] 10d70: e50b100c str r1, [fp, #-12] 10d74: e51b000c ldr r0, [fp, #-12] 10d78: eb000039 bl 10e64 <_ZNSt11_Tuple_implILj0EJZ4mainEUlvE_EE7_M_headERS1_> 10d7c: e1a03000 mov r3, r0 10d80: e1a00003 mov r0, r3 10d84: ebffff93 bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 10d88: e1a03000 mov r3, r0 10d8c: e1a01003 mov r1, r3 10d90: e51b0008 ldr r0, [fp, #-8] 10d94: ebffffc2 bl 10ca4 <_ZNSt10_Head_baseILj0EZ4mainEUlvE_Lb1EEC2IS0_EEOT_> 10d98: e51b3008 ldr r3, [fp, #-8] 10d9c: e1a00003 mov r0, r3 10da0: e24bd004 sub sp, fp, #4 10da4: e8bd8800 pop {fp, pc} 00010da8 <_ZSt7forwardINSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEOT_RNSt16remove_referenceIS6_E4typeE>: 10da8: e52db004 push {fp} ; (str fp, [sp, #-4]!) 10dac: e28db000 add fp, sp, #0 10db0: e24dd00c sub sp, sp, #12 10db4: e50b0008 str r0, [fp, #-8] 10db8: e51b3008 ldr r3, [fp, #-8] 10dbc: e1a00003 mov r0, r3 10dc0: e28bd000 add sp, fp, #0 10dc4: e49db004 pop {fp} ; (ldr fp, [sp], #4) 10dc8: e12fff1e bx lr 00010dcc <_ZNSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEEC1EOS4_>: 10dcc: e92d4800 push {fp, lr} 10dd0: e28db004 add fp, sp, #4 10dd4: e24dd008 sub sp, sp, #8 10dd8: e50b0008 str r0, [fp, #-8] 10ddc: e50b100c str r1, [fp, #-12] 10de0: e51b3008 ldr r3, [fp, #-8] 10de4: e51b200c ldr r2, [fp, #-12] 10de8: e1a01002 mov r1, r2 10dec: e1a00003 mov r0, r3 10df0: ebffff81 bl 10bfc <_ZNSt5tupleIJZ4mainEUlvE_EEC1EOS1_> 10df4: e51b3008 ldr r3, [fp, #-8] 10df8: e1a00003 mov r0, r3 10dfc: e24bd004 sub sp, fp, #4 10e00: e8bd8800 pop {fp, pc} 00010e04 <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEC1EOS5_>: 10e04: e92d4810 push {r4, fp, lr} 10e08: e28db008 add fp, sp, #8 10e0c: e24dd00c sub sp, sp, #12 10e10: e50b0010 str r0, [fp, #-16] 10e14: e50b1014 str r1, [fp, #-20] ; 0xffffffec 10e18: e51b3010 ldr r3, [fp, #-16] 10e1c: e1a00003 mov r0, r3 10e20: eb000127 bl 112c4 <_ZNSt6thread6_StateC1Ev> 10e24: e59f2034 ldr r2, [pc, #52] ; 10e60 <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEC1EOS5_+0x5c> 10e28: e51b3010 ldr r3, [fp, #-16] 10e2c: e5832000 str r2, [r3] 10e30: e51b3010 ldr r3, [fp, #-16] 10e34: e2834004 add r4, r3, #4 10e38: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec 10e3c: ebffffd9 bl 10da8 <_ZSt7forwardINSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEEEEOT_RNSt16remove_referenceIS6_E4typeE> 10e40: e1a03000 mov r3, r0 10e44: e1a01003 mov r1, r3 10e48: e1a00004 mov r0, r4 10e4c: ebffffde bl 10dcc <_ZNSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEEC1EOS4_> 10e50: e51b3010 ldr r3, [fp, #-16] 10e54: e1a00003 mov r0, r3 10e58: e24bd008 sub sp, fp, #8 10e5c: e8bd8810 pop {r4, fp, pc} 10e60: 00011708 .word 0x00011708 00010e64 <_ZNSt11_Tuple_implILj0EJZ4mainEUlvE_EE7_M_headERS1_>: 10e64: e92d4800 push {fp, lr} 10e68: e28db004 add fp, sp, #4 10e6c: e24dd008 sub sp, sp, #8 10e70: e50b0008 str r0, [fp, #-8] 10e74: e51b0008 ldr r0, [fp, #-8] 10e78: eb000003 bl 10e8c <_ZNSt10_Head_baseILj0EZ4mainEUlvE_Lb1EE7_M_headERS1_> 10e7c: e1a03000 mov r3, r0 10e80: e1a00003 mov r0, r3 10e84: e24bd004 sub sp, fp, #4 10e88: e8bd8800 pop {fp, pc} 00010e8c <_ZNSt10_Head_baseILj0EZ4mainEUlvE_Lb1EE7_M_headERS1_>: 10e8c: e52db004 push {fp} ; (str fp, [sp, #-4]!) 10e90: e28db000 add fp, sp, #0 10e94: e24dd00c sub sp, sp, #12 10e98: e50b0008 str r0, [fp, #-8] 10e9c: e51b3008 ldr r3, [fp, #-8] 10ea0: e1a00003 mov r0, r3 10ea4: e28bd000 add sp, fp, #0 10ea8: e49db004 pop {fp} ; (ldr fp, [sp], #4) 10eac: e12fff1e bx lr 00010eb0 <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEED1Ev>: 10eb0: e92d4800 push {fp, lr} 10eb4: e28db004 add fp, sp, #4 10eb8: e24dd008 sub sp, sp, #8 10ebc: e50b0008 str r0, [fp, #-8] 10ec0: e59f2020 ldr r2, [pc, #32] ; 10ee8 <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEED1Ev+0x38> 10ec4: e51b3008 ldr r3, [fp, #-8] 10ec8: e5832000 str r2, [r3] 10ecc: e51b3008 ldr r3, [fp, #-8] 10ed0: e1a00003 mov r0, r3 10ed4: ebfffe90 bl 1091c <_ZNSt6thread6_StateD2Ev@plt> 10ed8: e51b3008 ldr r3, [fp, #-8] 10edc: e1a00003 mov r0, r3 10ee0: e24bd004 sub sp, fp, #4 10ee4: e8bd8800 pop {fp, pc} 10ee8: 00011708 .word 0x00011708 00010eec <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEED0Ev>: 10eec: e92d4800 push {fp, lr} 10ef0: e28db004 add fp, sp, #4 10ef4: e24dd008 sub sp, sp, #8 10ef8: e50b0008 str r0, [fp, #-8] 10efc: e51b0008 ldr r0, [fp, #-8] 10f00: ebffffea bl 10eb0 <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEED1Ev> 10f04: e3a01008 mov r1, #8 10f08: e51b0008 ldr r0, [fp, #-8] 10f0c: ebfffe85 bl 10928 <_ZdlPvj@plt> 10f10: e51b3008 ldr r3, [fp, #-8] 10f14: e1a00003 mov r0, r3 10f18: e24bd004 sub sp, fp, #4 10f1c: e8bd8800 pop {fp, pc} 00010f20 <_Z41__static_initialization_and_destruction_0ii>: 10f20: e92d4800 push {fp, lr} 10f24: e28db004 add fp, sp, #4 10f28: e24dd008 sub sp, sp, #8 10f2c: e50b0008 str r0, [fp, #-8] 10f30: e50b100c str r1, [fp, #-12] 10f34: e51b3008 ldr r3, [fp, #-8] 10f38: e3530001 cmp r3, #1 10f3c: 1a000009 bne 10f68 <_Z41__static_initialization_and_destruction_0ii+0x48> 10f40: e51b300c ldr r3, [fp, #-12] 10f44: e59f2028 ldr r2, [pc, #40] ; 10f74 <_Z41__static_initialization_and_destruction_0ii+0x54> 10f48: e1530002 cmp r3, r2 10f4c: 1a000005 bne 10f68 <_Z41__static_initialization_and_destruction_0ii+0x48> 10f50: e59f0020 ldr r0, [pc, #32] ; 10f78 <_Z41__static_initialization_and_destruction_0ii+0x58> 10f54: ebfffe82 bl 10964 <_ZNSt8ios_base4InitC1Ev@plt> 10f58: e59f201c ldr r2, [pc, #28] ; 10f7c <_Z41__static_initialization_and_destruction_0ii+0x5c> 10f5c: e59f101c ldr r1, [pc, #28] ; 10f80 <_Z41__static_initialization_and_destruction_0ii+0x60> 10f60: e59f0010 ldr r0, [pc, #16] ; 10f78 <_Z41__static_initialization_and_destruction_0ii+0x58> 10f64: ebfffe66 bl 10904 <__aeabi_atexit@plt> 10f68: e1a00000 nop ; (mov r0, r0) 10f6c: e24bd004 sub sp, fp, #4 10f70: e8bd8800 pop {fp, pc} 10f74: 0000ffff .word 0x0000ffff 10f78: 000220e8 .word 0x000220e8 10f7c: 00022054 .word 0x00022054 10f80: 000109ac .word 0x000109ac 00010f84 <_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ4mainEUlvE_EEEEE6_M_runEv>: 10f84: e92d4800 push {fp, lr} 10f88: e28db004 add fp, sp, #4 10f8c: e24dd008 sub sp, sp, #8 10f90: e50b0008 str r0, [fp, #-8] 10f94: e51b3008 ldr r3, [fp, #-8] 10f98: e2833004 add r3, r3, #4 10f9c: e1a00003 mov r0, r3 10fa0: eb000002 bl 10fb0 <_ZNSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEEclEv> 10fa4: e1a00000 nop ; (mov r0, r0) 10fa8: e24bd004 sub sp, fp, #4 10fac: e8bd8800 pop {fp, pc} 00010fb0 <_ZNSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEEclEv>: 10fb0: e92d4800 push {fp, lr} 10fb4: e28db004 add fp, sp, #4 10fb8: e24dd010 sub sp, sp, #16 10fbc: e50b0010 str r0, [fp, #-16] 10fc0: e1a01003 mov r1, r3 10fc4: e51b0010 ldr r0, [fp, #-16] 10fc8: eb000001 bl 10fd4 <_ZNSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEE9_M_invokeIJLj0EEEEvSt12_Index_tupleIJXspT_EEE> 10fcc: e24bd004 sub sp, fp, #4 10fd0: e8bd8800 pop {fp, pc} 00010fd4 <_ZNSt6thread8_InvokerISt5tupleIJZ4mainEUlvE_EEE9_M_invokeIJLj0EEEEvSt12_Index_tupleIJXspT_EEE>: 10fd4: e92d4800 push {fp, lr} 10fd8: e28db004 add fp, sp, #4 10fdc: e24dd008 sub sp, sp, #8 10fe0: e50b0008 str r0, [fp, #-8] 10fe4: e54b100c strb r1, [fp, #-12] 10fe8: e51b3008 ldr r3, [fp, #-8] 10fec: e1a00003 mov r0, r3 10ff0: eb000008 bl 11018 <_ZSt4moveIRSt5tupleIJZ4mainEUlvE_EEEONSt16remove_referenceIT_E4typeEOS5_> 10ff4: e1a03000 mov r3, r0 10ff8: e1a00003 mov r0, r3 10ffc: eb00000e bl 1103c <_ZSt3getILj0EJZ4mainEUlvE_EEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS5_> 11000: e1a03000 mov r3, r0 11004: e1a00003 mov r0, r3 11008: eb000018 bl 11070 <_ZSt8__invokeIZ4mainEUlvE_JEENSt15__invoke_resultIT_JDpT0_EE4typeEOS2_DpOS3_> 1100c: e1a00000 nop ; (mov r0, r0) 11010: e24bd004 sub sp, fp, #4 11014: e8bd8800 pop {fp, pc} 00011018 <_ZSt4moveIRSt5tupleIJZ4mainEUlvE_EEEONSt16remove_referenceIT_E4typeEOS5_>: 11018: e52db004 push {fp} ; (str fp, [sp, #-4]!) 1101c: e28db000 add fp, sp, #0 11020: e24dd00c sub sp, sp, #12 11024: e50b0008 str r0, [fp, #-8] 11028: e51b3008 ldr r3, [fp, #-8] 1102c: e1a00003 mov r0, r3 11030: e28bd000 add sp, fp, #0 11034: e49db004 pop {fp} ; (ldr fp, [sp], #4) 11038: e12fff1e bx lr 0001103c <_ZSt3getILj0EJZ4mainEUlvE_EEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS5_>: 1103c: e92d4800 push {fp, lr} 11040: e28db004 add fp, sp, #4 11044: e24dd008 sub sp, sp, #8 11048: e50b0008 str r0, [fp, #-8] 1104c: e51b0008 ldr r0, [fp, #-8] 11050: eb000013 bl 110a4 <_ZSt3getILj0EJZ4mainEUlvE_EERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS5_> 11054: e1a03000 mov r3, r0 11058: e1a00003 mov r0, r3 1105c: eb00001a bl 110cc <_ZSt7forwardIOZ4mainEUlvE_EOT_RNSt16remove_referenceIS2_E4typeE> 11060: e1a03000 mov r3, r0 11064: e1a00003 mov r0, r3 11068: e24bd004 sub sp, fp, #4 1106c: e8bd8800 pop {fp, pc} 00011070 <_ZSt8__invokeIZ4mainEUlvE_JEENSt15__invoke_resultIT_JDpT0_EE4typeEOS2_DpOS3_>: 11070: e92d4810 push {r4, fp, lr} 11074: e28db008 add fp, sp, #8 11078: e24dd014 sub sp, sp, #20 1107c: e50b0018 str r0, [fp, #-24] ; 0xffffffe8 11080: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 11084: ebfffed3 bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 11088: e1a03000 mov r3, r0 1108c: e1a01003 mov r1, r3 11090: e1a00004 mov r0, r4 11094: eb000015 bl 110f0 <_ZSt13__invoke_implIvZ4mainEUlvE_JEET_St14__invoke_otherOT0_DpOT1_> 11098: e1a00000 nop ; (mov r0, r0) 1109c: e24bd008 sub sp, fp, #8 110a0: e8bd8810 pop {r4, fp, pc} 000110a4 <_ZSt3getILj0EJZ4mainEUlvE_EERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS5_>: 110a4: e92d4800 push {fp, lr} 110a8: e28db004 add fp, sp, #4 110ac: e24dd008 sub sp, sp, #8 110b0: e50b0008 str r0, [fp, #-8] 110b4: e51b0008 ldr r0, [fp, #-8] 110b8: eb000019 bl 11124 <_ZSt12__get_helperILj0EZ4mainEUlvE_JEERT0_RSt11_Tuple_implIXT_EJS1_DpT1_EE> 110bc: e1a03000 mov r3, r0 110c0: e1a00003 mov r0, r3 110c4: e24bd004 sub sp, fp, #4 110c8: e8bd8800 pop {fp, pc} 000110cc <_ZSt7forwardIOZ4mainEUlvE_EOT_RNSt16remove_referenceIS2_E4typeE>: 110cc: e52db004 push {fp} ; (str fp, [sp, #-4]!) 110d0: e28db000 add fp, sp, #0 110d4: e24dd00c sub sp, sp, #12 110d8: e50b0008 str r0, [fp, #-8] 110dc: e51b3008 ldr r3, [fp, #-8] 110e0: e1a00003 mov r0, r3 110e4: e28bd000 add sp, fp, #0 110e8: e49db004 pop {fp} ; (ldr fp, [sp], #4) 110ec: e12fff1e bx lr 000110f0 <_ZSt13__invoke_implIvZ4mainEUlvE_JEET_St14__invoke_otherOT0_DpOT1_>: 110f0: e92d4800 push {fp, lr} 110f4: e28db004 add fp, sp, #4 110f8: e24dd008 sub sp, sp, #8 110fc: e54b0008 strb r0, [fp, #-8] 11100: e50b100c str r1, [fp, #-12] 11104: e51b000c ldr r0, [fp, #-12] 11108: ebfffeb2 bl 10bd8 <_ZSt7forwardIZ4mainEUlvE_EOT_RNSt16remove_referenceIS1_E4typeE> 1110c: e1a03000 mov r3, r0 11110: e1a00003 mov r0, r3 11114: ebfffe63 bl 10aa8 <_ZZ4mainENKUlvE_clEv> 11118: e1a00000 nop ; (mov r0, r0) 1111c: e24bd004 sub sp, fp, #4 11120: e8bd8800 pop {fp, pc} 00011124 <_ZSt12__get_helperILj0EZ4mainEUlvE_JEERT0_RSt11_Tuple_implIXT_EJS1_DpT1_EE>: 11124: e92d4800 push {fp, lr} 11128: e28db004 add fp, sp, #4 1112c: e24dd008 sub sp, sp, #8 11130: e50b0008 str r0, [fp, #-8] 11134: e51b0008 ldr r0, [fp, #-8] 11138: ebffff49 bl 10e64 <_ZNSt11_Tuple_implILj0EJZ4mainEUlvE_EE7_M_headERS1_> 1113c: e1a03000 mov r3, r0 11140: e1a00003 mov r0, r3 11144: e24bd004 sub sp, fp, #4 11148: e8bd8800 pop {fp, pc} 0001114c <_GLOBAL__sub_I_main>: 1114c: e92d4800 push {fp, lr} 11150: e28db004 add fp, sp, #4 11154: e59f1008 ldr r1, [pc, #8] ; 11164 <_GLOBAL__sub_I_main+0x18> 11158: e3a00001 mov r0, #1 1115c: ebffff6f bl 10f20 <_Z41__static_initialization_and_destruction_0ii> 11160: e8bd8800 pop {fp, pc} 11164: 0000ffff .word 0x0000ffff 00011168 <_ZNSt6thread2idC1Ev>: 11168: e52db004 push {fp} ; (str fp, [sp, #-4]!) 1116c: e28db000 add fp, sp, #0 11170: e24dd00c sub sp, sp, #12 11174: e50b0008 str r0, [fp, #-8] 11178: e51b3008 ldr r3, [fp, #-8] 1117c: e3a02000 mov r2, #0 11180: e5832000 str r2, [r3] 11184: e51b3008 ldr r3, [fp, #-8] 11188: e1a00003 mov r0, r3 1118c: e28bd000 add sp, fp, #0 11190: e49db004 pop {fp} ; (ldr fp, [sp], #4) 11194: e12fff1e bx lr 00011198 <_ZNSt6threadD1Ev>: 11198: e92d4800 push {fp, lr} 1119c: e28db004 add fp, sp, #4 111a0: e24dd008 sub sp, sp, #8 111a4: e50b0008 str r0, [fp, #-8] 111a8: e51b0008 ldr r0, [fp, #-8] 111ac: eb000007 bl 111d0 <_ZNKSt6thread8joinableEv> 111b0: e1a03000 mov r3, r0 111b4: e3530000 cmp r3, #0 111b8: 0a000000 beq 111c0 <_ZNSt6threadD1Ev+0x28> 111bc: ebfffdd3 bl 10910 <_ZSt9terminatev@plt> 111c0: e51b3008 ldr r3, [fp, #-8] 111c4: e1a00003 mov r0, r3 111c8: e24bd004 sub sp, fp, #4 111cc: e8bd8800 pop {fp, pc} 000111d0 <_ZNKSt6thread8joinableEv>: 111d0: e92d4800 push {fp, lr} 111d4: e28db004 add fp, sp, #4 111d8: e24dd010 sub sp, sp, #16 111dc: e50b0010 str r0, [fp, #-16] 111e0: e24b3008 sub r3, fp, #8 111e4: e1a00003 mov r0, r3 111e8: ebffffde bl 11168 <_ZNSt6thread2idC1Ev> 111ec: e51b3010 ldr r3, [fp, #-16] 111f0: e51b1008 ldr r1, [fp, #-8] 111f4: e5930000 ldr r0, [r3] 111f8: eb000005 bl 11214 <_ZSteqNSt6thread2idES0_> 111fc: e1a03000 mov r3, r0 11200: e2233001 eor r3, r3, #1 11204: e20330ff and r3, r3, #255 ; 0xff 11208: e1a00003 mov r0, r3 1120c: e24bd004 sub sp, fp, #4 11210: e8bd8800 pop {fp, pc} 00011214 <_ZSteqNSt6thread2idES0_>: 11214: e52db004 push {fp} ; (str fp, [sp, #-4]!) 11218: e28db000 add fp, sp, #0 1121c: e24dd00c sub sp, sp, #12 11220: e50b0008 str r0, [fp, #-8] 11224: e50b100c str r1, [fp, #-12] 11228: e51b2008 ldr r2, [fp, #-8] 1122c: e51b300c ldr r3, [fp, #-12] 11230: e1520003 cmp r2, r3 11234: 03a03001 moveq r3, #1 11238: 13a03000 movne r3, #0 1123c: e20330ff and r3, r3, #255 ; 0xff 11240: e1a00003 mov r0, r3 11244: e28bd000 add sp, fp, #0 11248: e49db004 pop {fp} ; (ldr fp, [sp], #4) 1124c: e12fff1e bx lr 00011250 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EED1Ev>: 11250: e92d4810 push {r4, fp, lr} 11254: e28db008 add fp, sp, #8 11258: e24dd014 sub sp, sp, #20 1125c: e50b0018 str r0, [fp, #-24] ; 0xffffffe8 11260: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8 11264: e1a00003 mov r0, r3 11268: eb00002f bl 1132c <_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EE6_M_ptrEv> 1126c: e50b0010 str r0, [fp, #-16] 11270: e51b3010 ldr r3, [fp, #-16] 11274: e5933000 ldr r3, [r3] 11278: e3530000 cmp r3, #0 1127c: 0a000009 beq 112a8 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EED1Ev+0x58> 11280: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 11284: eb000033 bl 11358 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EE11get_deleterEv> 11288: e1a04000 mov r4, r0 1128c: e51b0010 ldr r0, [fp, #-16] 11290: eb00003b bl 11384 <_ZSt4moveIRPNSt6thread6_StateEEONSt16remove_referenceIT_E4typeEOS5_> 11294: e1a03000 mov r3, r0 11298: e5933000 ldr r3, [r3] 1129c: e1a01003 mov r1, r3 112a0: e1a00004 mov r0, r4 112a4: eb00003f bl 113a8 <_ZNKSt14default_deleteINSt6thread6_StateEEclEPS1_> 112a8: e51b3010 ldr r3, [fp, #-16] 112ac: e3a02000 mov r2, #0 112b0: e5832000 str r2, [r3] 112b4: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8 112b8: e1a00003 mov r0, r3 112bc: e24bd008 sub sp, fp, #8 112c0: e8bd8810 pop {r4, fp, pc} 000112c4 <_ZNSt6thread6_StateC1Ev>: 112c4: e52db004 push {fp} ; (str fp, [sp, #-4]!) 112c8: e28db000 add fp, sp, #0 112cc: e24dd00c sub sp, sp, #12 112d0: e50b0008 str r0, [fp, #-8] 112d4: e59f2018 ldr r2, [pc, #24] ; 112f4 <_ZNSt6thread6_StateC1Ev+0x30> 112d8: e51b3008 ldr r3, [fp, #-8] 112dc: e5832000 str r2, [r3] 112e0: e51b3008 ldr r3, [fp, #-8] 112e4: e1a00003 mov r0, r3 112e8: e28bd000 add sp, fp, #0 112ec: e49db004 pop {fp} ; (ldr fp, [sp], #4) 112f0: e12fff1e bx lr 112f4: 00021eb8 .word 0x00021eb8 000112f8 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EEC1IS3_vEEPS1_>: 112f8: e92d4800 push {fp, lr} 112fc: e28db004 add fp, sp, #4 11300: e24dd008 sub sp, sp, #8 11304: e50b0008 str r0, [fp, #-8] 11308: e50b100c str r1, [fp, #-12] 1130c: e51b3008 ldr r3, [fp, #-8] 11310: e51b100c ldr r1, [fp, #-12] 11314: e1a00003 mov r0, r3 11318: eb000032 bl 113e8 <_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EEC1EPS1_> 1131c: e51b3008 ldr r3, [fp, #-8] 11320: e1a00003 mov r0, r3 11324: e24bd004 sub sp, fp, #4 11328: e8bd8800 pop {fp, pc} 0001132c <_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EE6_M_ptrEv>: 1132c: e92d4800 push {fp, lr} 11330: e28db004 add fp, sp, #4 11334: e24dd008 sub sp, sp, #8 11338: e50b0008 str r0, [fp, #-8] 1133c: e51b3008 ldr r3, [fp, #-8] 11340: e1a00003 mov r0, r3 11344: eb000038 bl 1142c <_ZSt3getILj0EJPNSt6thread6_StateESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_> 11348: e1a03000 mov r3, r0 1134c: e1a00003 mov r0, r3 11350: e24bd004 sub sp, fp, #4 11354: e8bd8800 pop {fp, pc} 00011358 <_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EE11get_deleterEv>: 11358: e92d4800 push {fp, lr} 1135c: e28db004 add fp, sp, #4 11360: e24dd008 sub sp, sp, #8 11364: e50b0008 str r0, [fp, #-8] 11368: e51b3008 ldr r3, [fp, #-8] 1136c: e1a00003 mov r0, r3 11370: eb000038 bl 11458 <_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EE10_M_deleterEv> 11374: e1a03000 mov r3, r0 11378: e1a00003 mov r0, r3 1137c: e24bd004 sub sp, fp, #4 11380: e8bd8800 pop {fp, pc} 00011384 <_ZSt4moveIRPNSt6thread6_StateEEONSt16remove_referenceIT_E4typeEOS5_>: 11384: e52db004 push {fp} ; (str fp, [sp, #-4]!) 11388: e28db000 add fp, sp, #0 1138c: e24dd00c sub sp, sp, #12 11390: e50b0008 str r0, [fp, #-8] 11394: e51b3008 ldr r3, [fp, #-8] 11398: e1a00003 mov r0, r3 1139c: e28bd000 add sp, fp, #0 113a0: e49db004 pop {fp} ; (ldr fp, [sp], #4) 113a4: e12fff1e bx lr 000113a8 <_ZNKSt14default_deleteINSt6thread6_StateEEclEPS1_>: 113a8: e92d4800 push {fp, lr} 113ac: e28db004 add fp, sp, #4 113b0: e24dd008 sub sp, sp, #8 113b4: e50b0008 str r0, [fp, #-8] 113b8: e50b100c str r1, [fp, #-12] 113bc: e51b300c ldr r3, [fp, #-12] 113c0: e3530000 cmp r3, #0 113c4: 0a000004 beq 113dc <_ZNKSt14default_deleteINSt6thread6_StateEEclEPS1_+0x34> 113c8: e5932000 ldr r2, [r3] 113cc: e2822004 add r2, r2, #4 113d0: e5922000 ldr r2, [r2] 113d4: e1a00003 mov r0, r3 113d8: e12fff32 blx r2 113dc: e1a00000 nop ; (mov r0, r0) 113e0: e24bd004 sub sp, fp, #4 113e4: e8bd8800 pop {fp, pc} 000113e8 <_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EEC1EPS1_>: 113e8: e92d4800 push {fp, lr} 113ec: e28db004 add fp, sp, #4 113f0: e24dd008 sub sp, sp, #8 113f4: e50b0008 str r0, [fp, #-8] 113f8: e50b100c str r1, [fp, #-12] 113fc: e51b3008 ldr r3, [fp, #-8] 11400: e1a00003 mov r0, r3 11404: eb00001e bl 11484 <_ZNSt5tupleIJPNSt6thread6_StateESt14default_deleteIS1_EEEC1IS2_S4_Lb1EEEv> 11408: e51b0008 ldr r0, [fp, #-8] 1140c: ebffffc6 bl 1132c <_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EE6_M_ptrEv> 11410: e1a02000 mov r2, r0 11414: e51b300c ldr r3, [fp, #-12] 11418: e5823000 str r3, [r2] 1141c: e51b3008 ldr r3, [fp, #-8] 11420: e1a00003 mov r0, r3 11424: e24bd004 sub sp, fp, #4 11428: e8bd8800 pop {fp, pc} 0001142c <_ZSt3getILj0EJPNSt6thread6_StateESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_>: 1142c: e92d4800 push {fp, lr} 11430: e28db004 add fp, sp, #4 11434: e24dd008 sub sp, sp, #8 11438: e50b0008 str r0, [fp, #-8] 1143c: e51b3008 ldr r3, [fp, #-8] 11440: e1a00003 mov r0, r3 11444: eb000019 bl 114b0 <_ZSt12__get_helperILj0EPNSt6thread6_StateEJSt14default_deleteIS1_EEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE> 11448: e1a03000 mov r3, r0 1144c: e1a00003 mov r0, r3 11450: e24bd004 sub sp, fp, #4 11454: e8bd8800 pop {fp, pc} 00011458 <_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EE10_M_deleterEv>: 11458: e92d4800 push {fp, lr} 1145c: e28db004 add fp, sp, #4 11460: e24dd008 sub sp, sp, #8 11464: e50b0008 str r0, [fp, #-8] 11468: e51b3008 ldr r3, [fp, #-8] 1146c: e1a00003 mov r0, r3 11470: eb000018 bl 114d8 <_ZSt3getILj1EJPNSt6thread6_StateESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_> 11474: e1a03000 mov r3, r0 11478: e1a00003 mov r0, r3 1147c: e24bd004 sub sp, fp, #4 11480: e8bd8800 pop {fp, pc} 00011484 <_ZNSt5tupleIJPNSt6thread6_StateESt14default_deleteIS1_EEEC1IS2_S4_Lb1EEEv>: 11484: e92d4800 push {fp, lr} 11488: e28db004 add fp, sp, #4 1148c: e24dd008 sub sp, sp, #8 11490: e50b0008 str r0, [fp, #-8] 11494: e51b3008 ldr r3, [fp, #-8] 11498: e1a00003 mov r0, r3 1149c: eb000017 bl 11500 <_ZNSt11_Tuple_implILj0EJPNSt6thread6_StateESt14default_deleteIS1_EEEC1Ev> 114a0: e51b3008 ldr r3, [fp, #-8] 114a4: e1a00003 mov r0, r3 114a8: e24bd004 sub sp, fp, #4 114ac: e8bd8800 pop {fp, pc} 000114b0 <_ZSt12__get_helperILj0EPNSt6thread6_StateEJSt14default_deleteIS1_EEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE>: 114b0: e92d4800 push {fp, lr} 114b4: e28db004 add fp, sp, #4 114b8: e24dd008 sub sp, sp, #8 114bc: e50b0008 str r0, [fp, #-8] 114c0: e51b0008 ldr r0, [fp, #-8] 114c4: eb00001a bl 11534 <_ZNSt11_Tuple_implILj0EJPNSt6thread6_StateESt14default_deleteIS1_EEE7_M_headERS5_> 114c8: e1a03000 mov r3, r0 114cc: e1a00003 mov r0, r3 114d0: e24bd004 sub sp, fp, #4 114d4: e8bd8800 pop {fp, pc} 000114d8 <_ZSt3getILj1EJPNSt6thread6_StateESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_>: 114d8: e92d4800 push {fp, lr} 114dc: e28db004 add fp, sp, #4 114e0: e24dd008 sub sp, sp, #8 114e4: e50b0008 str r0, [fp, #-8] 114e8: e51b0008 ldr r0, [fp, #-8] 114ec: eb00001b bl 11560 <_ZSt12__get_helperILj1ESt14default_deleteINSt6thread6_StateEEJEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE> 114f0: e1a03000 mov r3, r0 114f4: e1a00003 mov r0, r3 114f8: e24bd004 sub sp, fp, #4 114fc: e8bd8800 pop {fp, pc} 00011500 <_ZNSt11_Tuple_implILj0EJPNSt6thread6_StateESt14default_deleteIS1_EEEC1Ev>: 11500: e92d4800 push {fp, lr} 11504: e28db004 add fp, sp, #4 11508: e24dd008 sub sp, sp, #8 1150c: e50b0008 str r0, [fp, #-8] 11510: e51b0008 ldr r0, [fp, #-8] 11514: eb00001b bl 11588 <_ZNSt11_Tuple_implILj1EJSt14default_deleteINSt6thread6_StateEEEEC1Ev> 11518: e51b3008 ldr r3, [fp, #-8] 1151c: e1a00003 mov r0, r3 11520: eb000022 bl 115b0 <_ZNSt10_Head_baseILj0EPNSt6thread6_StateELb0EEC1Ev> 11524: e51b3008 ldr r3, [fp, #-8] 11528: e1a00003 mov r0, r3 1152c: e24bd004 sub sp, fp, #4 11530: e8bd8800 pop {fp, pc} 00011534 <_ZNSt11_Tuple_implILj0EJPNSt6thread6_StateESt14default_deleteIS1_EEE7_M_headERS5_>: 11534: e92d4800 push {fp, lr} 11538: e28db004 add fp, sp, #4 1153c: e24dd008 sub sp, sp, #8 11540: e50b0008 str r0, [fp, #-8] 11544: e51b3008 ldr r3, [fp, #-8] 11548: e1a00003 mov r0, r3 1154c: eb000023 bl 115e0 <_ZNSt10_Head_baseILj0EPNSt6thread6_StateELb0EE7_M_headERS3_> 11550: e1a03000 mov r3, r0 11554: e1a00003 mov r0, r3 11558: e24bd004 sub sp, fp, #4 1155c: e8bd8800 pop {fp, pc} 00011560 <_ZSt12__get_helperILj1ESt14default_deleteINSt6thread6_StateEEJEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE>: 11560: e92d4800 push {fp, lr} 11564: e28db004 add fp, sp, #4 11568: e24dd008 sub sp, sp, #8 1156c: e50b0008 str r0, [fp, #-8] 11570: e51b0008 ldr r0, [fp, #-8] 11574: eb000022 bl 11604 <_ZNSt11_Tuple_implILj1EJSt14default_deleteINSt6thread6_StateEEEE7_M_headERS4_> 11578: e1a03000 mov r3, r0 1157c: e1a00003 mov r0, r3 11580: e24bd004 sub sp, fp, #4 11584: e8bd8800 pop {fp, pc} 00011588 <_ZNSt11_Tuple_implILj1EJSt14default_deleteINSt6thread6_StateEEEEC1Ev>: 11588: e92d4800 push {fp, lr} 1158c: e28db004 add fp, sp, #4 11590: e24dd008 sub sp, sp, #8 11594: e50b0008 str r0, [fp, #-8] 11598: e51b0008 ldr r0, [fp, #-8] 1159c: eb000022 bl 1162c <_ZNSt10_Head_baseILj1ESt14default_deleteINSt6thread6_StateEELb1EEC1Ev> 115a0: e51b3008 ldr r3, [fp, #-8] 115a4: e1a00003 mov r0, r3 115a8: e24bd004 sub sp, fp, #4 115ac: e8bd8800 pop {fp, pc} 000115b0 <_ZNSt10_Head_baseILj0EPNSt6thread6_StateELb0EEC1Ev>: 115b0: e52db004 push {fp} ; (str fp, [sp, #-4]!) 115b4: e28db000 add fp, sp, #0 115b8: e24dd00c sub sp, sp, #12 115bc: e50b0008 str r0, [fp, #-8] 115c0: e51b3008 ldr r3, [fp, #-8] 115c4: e3a02000 mov r2, #0 115c8: e5832000 str r2, [r3] 115cc: e51b3008 ldr r3, [fp, #-8] 115d0: e1a00003 mov r0, r3 115d4: e28bd000 add sp, fp, #0 115d8: e49db004 pop {fp} ; (ldr fp, [sp], #4) 115dc: e12fff1e bx lr 000115e0 <_ZNSt10_Head_baseILj0EPNSt6thread6_StateELb0EE7_M_headERS3_>: 115e0: e52db004 push {fp} ; (str fp, [sp, #-4]!) 115e4: e28db000 add fp, sp, #0 115e8: e24dd00c sub sp, sp, #12 115ec: e50b0008 str r0, [fp, #-8] 115f0: e51b3008 ldr r3, [fp, #-8] 115f4: e1a00003 mov r0, r3 115f8: e28bd000 add sp, fp, #0 115fc: e49db004 pop {fp} ; (ldr fp, [sp], #4) 11600: e12fff1e bx lr 00011604 <_ZNSt11_Tuple_implILj1EJSt14default_deleteINSt6thread6_StateEEEE7_M_headERS4_>: 11604: e92d4800 push {fp, lr} 11608: e28db004 add fp, sp, #4 1160c: e24dd008 sub sp, sp, #8 11610: e50b0008 str r0, [fp, #-8] 11614: e51b0008 ldr r0, [fp, #-8] 11618: eb00000c bl 11650 <_ZNSt10_Head_baseILj1ESt14default_deleteINSt6thread6_StateEELb1EE7_M_headERS4_> 1161c: e1a03000 mov r3, r0 11620: e1a00003 mov r0, r3 11624: e24bd004 sub sp, fp, #4 11628: e8bd8800 pop {fp, pc} 0001162c <_ZNSt10_Head_baseILj1ESt14default_deleteINSt6thread6_StateEELb1EEC1Ev>: 1162c: e52db004 push {fp} ; (str fp, [sp, #-4]!) 11630: e28db000 add fp, sp, #0 11634: e24dd00c sub sp, sp, #12 11638: e50b0008 str r0, [fp, #-8] 1163c: e51b3008 ldr r3, [fp, #-8] 11640: e1a00003 mov r0, r3 11644: e28bd000 add sp, fp, #0 11648: e49db004 pop {fp} ; (ldr fp, [sp], #4) 1164c: e12fff1e bx lr 00011650 <_ZNSt10_Head_baseILj1ESt14default_deleteINSt6thread6_StateEELb1EE7_M_headERS4_>: 11650: e52db004 push {fp} ; (str fp, [sp, #-4]!) 11654: e28db000 add fp, sp, #0 11658: e24dd00c sub sp, sp, #12 1165c: e50b0008 str r0, [fp, #-8] 11660: e51b3008 ldr r3, [fp, #-8] 11664: e1a00003 mov r0, r3 11668: e28bd000 add sp, fp, #0 1166c: e49db004 pop {fp} ; (ldr fp, [sp], #4) 11670: e12fff1e bx lr 00011674 <__libc_csu_init>: 11674: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr} 11678: e59f604c ldr r6, [pc, #76] ; 116cc <__libc_csu_init+0x58> 1167c: e59f504c ldr r5, [pc, #76] ; 116d0 <__libc_csu_init+0x5c> 11680: e08f6006 add r6, pc, r6 11684: e08f5005 add r5, pc, r5 11688: e0466005 sub r6, r6, r5 1168c: e1a07000 mov r7, r0 11690: e1a08001 mov r8, r1 11694: e1a09002 mov r9, r2 11698: ebfffc8e bl 108d8 <_init> 1169c: e1b06146 asrs r6, r6, #2 116a0: 08bd87f0 popeq {r4, r5, r6, r7, r8, r9, sl, pc} 116a4: e3a04000 mov r4, #0 116a8: e1a02009 mov r2, r9 116ac: e1a01008 mov r1, r8 116b0: e1a00007 mov r0, r7 116b4: e4953004 ldr r3, [r5], #4 116b8: e2844001 add r4, r4, #1 116bc: e12fff33 blx r3 116c0: e1560004 cmp r6, r4 116c4: 1afffff7 bne 116a8 <__libc_csu_init+0x34> 116c8: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc} 116cc: 0001081c .word 0x0001081c 116d0: 00010810 .word 0x00010810 000116d4 <__libc_csu_fini>: 116d4: e12fff1e bx lr Disassembly of section .fini: 000116d8 <_fini>: 116d8: e92d4008 push {r3, lr} 116dc: e8bd8008 pop {r3, pc}