GCC fails to build.
Tadeus Prastowo
tadeus.prastowo@unitn.it
Thu Jan 16 13:25:00 GMT 2020
Hello,
On Tue, Jan 14, 2020 at 11:53 PM DAVID STUMPH <DSTUMPH1144@smail.pcd.edu> 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@lists.ubuntu.com>
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
-------------- next part --------------
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}
-------------- next part --------------
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}
More information about the Gcc-help
mailing list