Other Linker Flags
链接静态库优化
Other Linker Flags (OTHER_LDFLAGS)
作用效果及作用时机探究
一、准备
文件目录结构
. ├── OCStaticLib │ ├── OCTest.h │ ├── OCTest.m │ ├── OCTest.o │ ├── build.sh │ ├── libOCTest │ └── libOCTest.a ├── build.sh └── test.m
OCTest.m
作为演示的静态库, 里面只提供了一个方法
- (void)test:(_Nullable id)example { NSLog(@"__TestExample"); }
test.m
代码导入了
OCTest.h
, 但是并没有使用其任何功能(特意注释了代码来强调)#import <Foundation/Foundation.h> #import "OCTest.h" int main() { // OCTest *test = [OCTest new]; // [test test:nil]; NSLog(@"testApp ------"); return 0; }
外层的
build.sh
用来快速实现libOCTest.a
链接, 并生成一个test
的可执行文件# 链接OCTest到test.m中生成.o文件 clang -x objective-c \ -target x86_64-apple-macos11.1 \ -fobjc-arc \ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk \ -I./OCStaticLib \ -c test.m \ -o test.o # 将.o生成执行文件 clang -target x86_64-apple-macos11.1 \ -fobjc-arc \ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk \ -L./OCStaticLib \ -lOCTest \ test.o -o test
二、执行脚本
默认可能没有可执行脚本的权限, 需要先为其设置权限
chmod +x ./build.sh
然后在执行脚本即可
三、运行可执行文件
利用脚本快速生成可执行文件后, 在终端进入
lldb
环境运行可执行文件来验证是否操作成功❯ lldb (lldb) file test Current executable set to '/Users/shenyj/Documents/CodeForTest/lib/staticOCLib/test' (x86_64). (lldb) r Process 5606 launched: '/Users/shenyj/Documents/CodeForTest/lib/staticOCLib/test' (x86_64) 2021-01-26 10:08:08.752770+0800 test[5606:120141] testApp ------ Process 5606 exited with status = 0 (0x00000000) (lldb) q
目前可以保证整个操作顺利进行
四、利用objdump
查看可执行文件__TEXT
段
执行
objdump
命令查看生成的可执行文件test
❯ objdump --macho -d test
输出
__TEXT
段test: (__TEXT,__text) section _main: 100003f50: 55 pushq %rbp 100003f51: 48 89 e5 movq %rsp, %rbp 100003f54: 48 83 ec 10 subq $16, %rsp 100003f58: 48 8d 05 a9 00 00 00 leaq 169(%rip), %rax ## Objc cfstring ref: @"testApp ------" 100003f5f: c7 45 fc 00 00 00 00 movl $0, -4(%rbp) 100003f66: 48 89 c7 movq %rax, %rdi 100003f69: b0 00 movb $0, %al 100003f6b: e8 08 00 00 00 callq 0x100003f78 ## symbol stub for: _NSLog 100003f70: 31 c0 xorl %eax, %eax 100003f72: 48 83 c4 10 addq $16, %rsp 100003f76: 5d popq %rbp 100003f77: c3 retq
只看到一个
_main
函数的信息, 对这个结果先有个印象此时会默认执行
noall_load
, 没有使用的静态库不会被链接到可执行文件中 并没有OCTest
这个静态库的方法
五、对比验证
将
test.m
中注释掉的代码打开, 也就是打开OCTest
这个类库的代码调用重复
步骤二
~>步骤四
的操作输出
__TEXT
段test: (__TEXT,__text) section -[OCTest test:]: 100003e80: 55 pushq %rbp 100003e81: 48 89 e5 movq %rsp, %rbp 100003e84: 48 83 ec 20 subq $32, %rsp 100003e88: 48 89 7d f8 movq %rdi, -8(%rbp) 100003e8c: 48 89 75 f0 movq %rsi, -16(%rbp) 100003e90: 48 c7 45 e8 00 00 00 00 movq $0, -24(%rbp) 100003e98: 48 8d 7d e8 leaq -24(%rbp), %rdi 100003e9c: 48 89 d6 movq %rdx, %rsi 100003e9f: e8 a4 00 00 00 callq 0x100003f48 ## symbol stub for: _objc_storeStrong 100003ea4: 48 8d 05 65 01 00 00 leaq 357(%rip), %rax ## Objc cfstring ref: @"__TestExample" 100003eab: 48 89 c7 movq %rax, %rdi 100003eae: b0 00 movb $0, %al 100003eb0: e8 87 00 00 00 callq 0x100003f3c ## symbol stub for: _NSLog 100003eb5: 31 c9 xorl %ecx, %ecx 100003eb7: 89 ce movl %ecx, %esi 100003eb9: 48 8d 7d e8 leaq -24(%rbp), %rdi 100003ebd: e8 86 00 00 00 callq 0x100003f48 ## symbol stub for: _objc_storeStrong 100003ec2: 48 83 c4 20 addq $32, %rsp 100003ec6: 5d popq %rbp 100003ec7: c3 retq 100003ec8: 90 nop 100003ec9: 90 nop 100003eca: 90 nop 100003ecb: 90 nop 100003ecc: 90 nop 100003ecd: 90 nop 100003ece: 90 nop 100003ecf: 90 nop _main: 100003ed0: 55 pushq %rbp 100003ed1: 48 89 e5 movq %rsp, %rbp 100003ed4: 48 83 ec 10 subq $16, %rsp 100003ed8: c7 45 fc 00 00 00 00 movl $0, -4(%rbp) 100003edf: 48 8b 05 ea 41 00 00 movq 16874(%rip), %rax ## Objc class ref: OCTest 100003ee6: 48 89 c7 movq %rax, %rdi 100003ee9: e8 54 00 00 00 callq 0x100003f42 ## symbol stub for: _objc_opt_new 100003eee: 31 c9 xorl %ecx, %ecx 100003ef0: 89 ca movl %ecx, %edx 100003ef2: 48 89 45 f0 movq %rax, -16(%rbp) 100003ef6: 48 8b 45 f0 movq -16(%rbp), %rax 100003efa: 48 8b 35 c7 41 00 00 movq 16839(%rip), %rsi ## Objc selector ref: test: 100003f01: 48 89 c7 movq %rax, %rdi 100003f04: ff 15 f6 00 00 00 callq *246(%rip) ## Objc message: +[OCTest test:] 100003f0a: 48 8d 05 1f 01 00 00 leaq 287(%rip), %rax ## Objc cfstring ref: @"testApp ------" 100003f11: 48 89 c7 movq %rax, %rdi 100003f14: b0 00 movb $0, %al 100003f16: e8 21 00 00 00 callq 0x100003f3c ## symbol stub for: _NSLog 100003f1b: 31 c9 xorl %ecx, %ecx 100003f1d: 89 ce movl %ecx, %esi 100003f1f: c7 45 fc 00 00 00 00 movl $0, -4(%rbp) 100003f26: 48 8d 55 f0 leaq -16(%rbp), %rdx 100003f2a: 48 89 d7 movq %rdx, %rdi 100003f2d: e8 16 00 00 00 callq 0x100003f48 ## symbol stub for: _objc_storeStrong 100003f32: 8b 45 fc movl -4(%rbp), %eax 100003f35: 48 83 c4 10 addq $16, %rsp 100003f39: 5d popq %rbp 100003f3a: c3 retq
通过对比发现, 在引入类库并使用其代码后, 编译链接生成的可执行文件代码变多了
链接的过程中, 会将所有的.o
合并到一起 在链接静态库时, 链接器默认参数noall_load
所以没有被使用的静态库不会被链接到可执行文件中
链接器为我们提供的参数
-all_load
: Loads all members of static archive libraries.-ObjC
: Loads all members of static archive libraries that implement an Objective-C class or category.-force_load
: path_to_archive Loads all members of the specified static archive library. Note:-all_load
: forces all members of all archives to be loaded. This option allows you to target a specific archive.-noall_load
: This is the default. This option is obsolete.这4种参数只作用于静态库,
ld
(链接器)在链接静态库时做的代码剥离-noall_load
是默认参数
如果我们希望将未使用的静态库链接到可执行文件中, 可以通过
-all_load
参数告诉编译器不要做优化
验证-all_load
参数
在脚本中增加
-Xlinker -all_load
参数SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk # 链接OCTest到test.m中生成.o文件 clang -x objective-c \ -target x86_64-apple-macos11.1 \ -fobjc-arc \ -isysroot $SYSROOT \ -I./OCStaticLib \ -c test.m \ -o test.o # 将.o生成执行文件 clang -target x86_64-apple-macos11.1 \ -fobjc-arc \ -isysroot $SYSROOT \ -Xlinker -all_load \ -L./OCStaticLib \ -lOCTest \ test.o -o test
通过增加了
-Xlinker -all_load
参数, 那么即便没有使用libOCTest.a
这个静态库, 也会被链接到可执行文件中
生成可执行文件后再通过objdump
来看一下执行文件, 不做任何代码优化剥离后的内容因为使用了
-all_load
,信息较多, 通过终端输出不便于查找, 这里输出到一个txt
文本中查看test: (__TEXT,__text) section -[OCTest test:]: 100001220: 55 pushq %rbp 100001221: 48 89 e5 movq %rsp, %rbp 100001224: 48 83 ec 20 subq $32, %rsp 100001228: 48 89 7d f8 movq %rdi, -8(%rbp) 10000122c: 48 89 75 f0 movq %rsi, -16(%rbp) 100001230: 48 c7 45 e8 00 00 00 00 movq $0, -24(%rbp) 100001238: 48 8d 7d e8 leaq -24(%rbp), %rdi 10000123c: 48 89 d6 movq %rdx, %rsi 10000123f: e8 9e 20 00 00 callq 0x1000032e2 ## symbol stub for: _objc_storeStrong 100001244: 48 8d 05 cd 2d 00 00 leaq 11725(%rip), %rax ## Objc cfstring ref: @"__TestExample" 10000124b: 48 89 c7 movq %rax, %rdi 10000124e: b0 00 movb $0, %al 100001250: e8 1b 20 00 00 callq 0x100003270 ## symbol stub for: _NSLog 100001255: 31 c9 xorl %ecx, %ecx 100001257: 89 ce movl %ecx, %esi 100001259: 48 8d 7d e8 leaq -24(%rbp), %rdi 10000125d: e8 80 20 00 00 callq 0x1000032e2 ## symbol stub for: _objc_storeStrong 100001262: 48 83 c4 20 addq $32, %rsp 100001266: 5d popq %rbp 100001267: c3 retq 100001268: 90 nop 100001269: 90 nop 10000126a: 90 nop 10000126b: 90 nop 10000126c: 90 nop 10000126d: 90 nop 10000126e: 90 nop 10000126f: 90 nop _main: 100001270: 55 pushq %rbp 100001271: 48 89 e5 movq %rsp, %rbp 100001274: 48 83 ec 10 subq $16, %rsp 100001278: 48 8d 05 b9 2d 00 00 leaq 11705(%rip), %rax ## Objc cfstring ref: @"testApp ------" 10000127f: c7 45 fc 00 00 00 00 movl $0, -4(%rbp) 100001286: 48 89 c7 movq %rax, %rdi 100001289: b0 00 movb $0, %al 10000128b: e8 e0 1f 00 00 callq 0x100003270 ## symbol stub for: _NSLog 100001290: 31 c0 xorl %eax, %eax 100001292: 48 83 c4 10 addq $16, %rsp 100001296: 5d popq %rbp 100001297: c3 retq 100001298: 90 nop 100001299: 90 nop 10000129a: 90 nop 10000129b: 90 nop 10000129c: 90 nop 10000129d: 90 nop 10000129e: 90 nop 10000129f: 90 nop ___multc3: 1000012a0: 48 81 ec a8 00 00 00 subq $168, %rsp 1000012a7: db ac 24 e0 00 00 00 fldt 224(%rsp) 1000012ae: db ac 24 d0 00 00 00 fldt 208(%rsp) 1000012b5: db ac 24 c0 00 00 00 fldt 192(%rsp) 1000012bc: db ac 24 b0 00 00 00 fldt 176(%rsp) 1000012c3: d9 c0 fld %st(0) 1000012c5: d8 cb fmul %st(3), %st 1000012c7: d9 c2 fld %st(2) 1000012c9: d8 cd fmul %st(5), %st 1000012cb: d9 c5 fld %st(5) 1000012cd: db 7c 24 98 fstpt -104(%rsp) 1000012d1: d9 cd fxch %st(5) 1000012d3: d8 ca fmul %st(2), %st 1000012d5: d9 c4 fld %st(4) 1000012d7: db 7c 24 8c fstpt -116(%rsp) 1000012db: d9 cc fxch %st(4) 1000012dd: d8 cb fmul %st(3), %st 1000012df: d9 c5 fld %st(5) 1000012e1: db 7c 24 a4 fstpt -92(%rsp) 1000012e5: d9 cd fxch %st(5) 1000012e7: d8 e9 fsubr %st(1), %st 1000012e9: d9 c4 fld %st(4) 1000012eb: db bc 24 9c 00 00 00 fstpt 156(%rsp) 1000012f2: d9 c5 fld %st(5) 1000012f4: db bc 24 90 00 00 00 fstpt 144(%rsp) 1000012fb: d9 cd fxch %st(5) 1000012fd: de c4 faddp %st, %st(4) 1000012ff: d9 cc fxch %st(4) 100001301: db e8 fucomi %st(0), %st 100001303: 7b 5a jnp 0x10000135f 100001305: d9 cb fxch %st(3) 100001307: db e8 fucomi %st(0), %st 100001309: 7b 5f jnp 0x10000136a 10000130b: d9 cc fxch %st(4) 10000130d: db 7c 24 78 fstpt 120(%rsp) 100001311: d9 cb fxch %st(3) 100001313: db 7c 24 6c fstpt 108(%rsp) 100001317: d9 c9 fxch %st(1) 100001319: db bc 24 84 00 00 00 fstpt 132(%rsp) 100001320: d9 c1 fld %st(1) 100001322: d9 e1 fabs 100001324: d9 05 8a 24 00 00 flds 9354(%rip) 10000132a: d9 c9 fxch %st(1) 10000132c: db e9 fucomi %st(1), %st 10000132e: dd d9 fstp %st(1) 100001330: d9 c1 fld %st(1) 100001332: d9 e1 fabs 100001334: 73 4f jae 0x100001385 100001336: 31 c0 xorl %eax, %eax 100001338: d9 05 76 24 00 00 flds 9334(%rip) 10000133e: d9 c9 fxch %st(1) 100001340: db e9 fucomi %st(1), %st 100001342: dd d9 fstp %st(1) 100001344: 73 3f jae 0x100001385 100001346: dd d8 fstp %st(0) 100001348: dd d8 fstp %st(0) 10000134a: db 6c 24 98 fldt -104(%rsp) 10000134e: db 6c 24 8c fldt -116(%rsp) 100001352: d9 c9 fxch %st(1) 100001354: d9 cb fxch %st(3) 100001356: d9 ca fxch %st(2) 100001358: d9 c9 fxch %st(1) 10000135a: e9 b5 00 00 00 jmp 0x100001414 10000135f: dd da fstp %st(2) 100001361: dd d8 fstp %st(0) 100001363: dd da fstp %st(2) 100001365: e9 a5 01 00 00 jmp 0x10000150f 10000136a: dd da fstp %st(2) 10000136c: dd d8 fstp %st(0) 10000136e: dd da fstp %st(2) 100001370: d9 ee fldz 100001372: d9 ee fldz 100001374: d9 ee fldz 100001376: d9 ee fldz 100001378: d9 ee fldz 10000137a: d9 cd fxch %st(5) 10000137c: d9 ce fxch %st(6) 10000137e: d9 cd fxch %st(5) 100001380: e9 94 01 00 00 jmp 0x100001519 100001385: d9 05 29 24 00 00 flds 9257(%rip) 10000138b: d9 ca fxch %st(2) 10000138d: df ea fucompi %st(2), %st 10000138f: d9 e8 fld1 100001391: d9 ee fldz 100001393: d9 c0 fld %st(0) 100001395: db c2 fcmovnb %st(2), %st 100001397: d9 ce fxch %st(6) 100001399: db 7c 24 60 fstpt 96(%rsp) 10000139d: d9 cd fxch %st(5) 10000139f: d9 e1 fabs 1000013a1: f6 44 24 69 80 testb $-128, 105(%rsp) 1000013a6: d9 c0 fld %st(0) 1000013a8: d9 e0 fchs 1000013aa: d9 c9 fxch %st(1) 1000013ac: db c9 fcmovne %st(1), %st 1000013ae: dd d9 fstp %st(1) 1000013b0: d9 ca fxch %st(2) 1000013b2: df eb fucompi %st(3), %st 1000013b4: dd da fstp %st(2) 1000013b6: d9 c3 fld %st(3) 1000013b8: db c2 fcmovnb %st(2), %st 1000013ba: dd da fstp %st(2) 1000013bc: d9 ca fxch %st(2) 1000013be: db 7c 24 50 fstpt 80(%rsp) 1000013c2: d9 e1 fabs 1000013c4: f6 44 24 59 80 testb $-128, 89(%rsp) 1000013c9: d9 c0 fld %st(0) 1000013cb: d9 e0 fchs 1000013cd: d9 c9 fxch %st(1) 1000013cf: db c9 fcmovne %st(1), %st 1000013d1: dd d9 fstp %st(1) 1000013d3: db 6c 24 8c fldt -116(%rsp) 1000013d7: d9 c0 fld %st(0) 1000013d9: db 7c 24 30 fstpt 48(%rsp) 1000013dd: f6 44 24 39 80 testb $-128, 57(%rsp) 1000013e2: d9 c3 fld %st(3) 1000013e4: d9 e0 fchs 1000013e6: d9 c4 fld %st(4) 1000013e8: db c9 fcmovne %st(1), %st 1000013ea: d9 ca fxch %st(2) 1000013ec: db e8 fucomi %st(0), %st 1000013ee: da da fcmovu %st(2), %st 1000013f0: dd da fstp %st(2) 1000013f2: db 6c 24 98 fldt -104(%rsp) 1000013f6: d9 c0 fld %st(0) 1000013f8: db 7c 24 40 fstpt 64(%rsp) 1000013fc: f6 44 24 49 80 testb $-128, 73(%rsp) 100001401: d9 cd fxch %st(5) 100001403: db c9 fcmovne %st(1), %st 100001405: dd d9 fstp %st(1) 100001407: d9 cc fxch %st(4) 100001409: db e8 fucomi %st(0), %st 10000140b: da dc fcmovu %st(4), %st 10000140d: dd dc fstp %st(4) 10000140f: b8 01 00 00 00 movl $1, %eax 100001414: d9 c0 fld %st(0) 100001416: d9 e1 fabs 100001418: d9 c4 fld %st(4) 10000141a: d9 e1 fabs 10000141c: d9 05 92 23 00 00 flds 9106(%rip) 100001422: d9 c9 fxch %st(1) 100001424: db e9 fucomi %st(1), %st 100001426: dd d9 fstp %st(1) 100001428: 73 23 jae 0x10000144d 10000142a: d9 05 84 23 00 00 flds 9092(%rip) 100001430: d9 ca fxch %st(2) 100001432: db ea fucomi %st(2), %st 100001434: dd da fstp %st(2) 100001436: 73 15 jae 0x10000144d 100001438: dd d9 fstp %st(1) 10000143a: dd d8 fstp %st(0) 10000143c: 85 c0 testl %eax, %eax 10000143e: 0f 84 e9 00 00 00 je 0x10000152d 100001444: d9 cb fxch %st(3) 100001446: d9 c9 fxch %st(1) 100001448: e9 a4 00 00 00 jmp 0x1000014f1 10000144d: d9 05 61 23 00 00 flds 9057(%rip) 100001453: d9 c0 fld %st(0) 100001455: db 7c 24 98 fstpt -104(%rsp) 100001459: d9 ca fxch %st(2) 10000145b: df ea fucompi %st(2), %st 10000145d: dd d9 fstp %st(1) 10000145f: d9 e8 fld1 100001461: d9 c0 fld %st(0) 100001463: db 7c 24 a4 fstpt -92(%rsp) 100001467: d9 c9 fxch %st(1) 100001469: db 7c 24 8c fstpt -116(%rsp) 10000146d: d9 ee fldz 10000146f: d9 c0 fld %st(0) 100001471: db c2 fcmovnb %st(2), %st 100001473: dd da fstp %st(2) 100001475: d9 ca fxch %st(2) 100001477: db 7c 24 e0 fstpt -32(%rsp) 10000147b: d9 e1 fabs 10000147d: f6 44 24 e9 80 testb $-128, -23(%rsp) 100001482: d9 c0 fld %st(0) 100001484: d9 e0 fchs 100001486: d9 c9 fxch %st(1) 100001488: db c9 fcmovne %st(1), %st 10000148a: dd d9 fstp %st(1) 10000148c: db 6c 24 98 fldt -104(%rsp) 100001490: db 6c 24 8c fldt -116(%rsp) 100001494: df e9 fucompi %st(1), %st 100001496: dd d8 fstp %st(0) 100001498: d9 c1 fld %st(1) 10000149a: db 6c 24 a4 fldt -92(%rsp) 10000149e: d9 c9 fxch %st(1) 1000014a0: db c1 fcmovnb %st(1), %st 1000014a2: dd d9 fstp %st(1) 1000014a4: d9 cd fxch %st(5) 1000014a6: db 7c 24 d0 fstpt -48(%rsp) 1000014aa: d9 cc fxch %st(4) 1000014ac: d9 e1 fabs 1000014ae: f6 44 24 d9 80 testb $-128, -39(%rsp) 1000014b3: d9 c0 fld %st(0) 1000014b5: d9 e0 fchs 1000014b7: d9 c9 fxch %st(1) 1000014b9: db c9 fcmovne %st(1), %st 1000014bb: dd d9 fstp %st(1) 1000014bd: d9 c3 fld %st(3) 1000014bf: db 7c 24 b0 fstpt -80(%rsp) 1000014c3: f6 44 24 b9 80 testb $-128, -71(%rsp) 1000014c8: d9 c1 fld %st(1) 1000014ca: d9 e0 fchs 1000014cc: d9 c2 fld %st(2) 1000014ce: db c9 fcmovne %st(1), %st 1000014d0: d9 cd fxch %st(5) 1000014d2: db e8 fucomi %st(0), %st 1000014d4: da dd fcmovu %st(5), %st 1000014d6: dd dd fstp %st(5) 1000014d8: d9 c3 fld %st(3) 1000014da: db 7c 24 c0 fstpt -64(%rsp) 1000014de: f6 44 24 c9 80 testb $-128, -55(%rsp) 1000014e3: d9 ca fxch %st(2) 1000014e5: db ca fcmovne %st(2), %st 1000014e7: dd da fstp %st(2) 1000014e9: d9 ca fxch %st(2) 1000014eb: db e8 fucomi %st(0), %st 1000014ed: da d9 fcmovu %st(1), %st 1000014ef: dd d9 fstp %st(1) 1000014f1: d9 c3 fld %st(3) 1000014f3: d8 cb fmul %st(3), %st 1000014f5: d9 c2 fld %st(2) 1000014f7: d8 ca fmul %st(2), %st 1000014f9: de e9 fsubrp %st, %st(1) 1000014fb: d9 05 b3 22 00 00 flds 8883(%rip) 100001501: dc c9 fmul %st, %st(1) 100001503: d9 cb fxch %st(3) 100001505: de cc fmulp %st, %st(4) 100001507: d9 cc fxch %st(4) 100001509: de c9 fmulp %st, %st(1) 10000150b: de c2 faddp %st, %st(2) 10000150d: de c9 fmulp %st, %st(1) 10000150f: d9 ee fldz 100001511: d9 ee fldz 100001513: d9 ee fldz 100001515: d9 ee fldz 100001517: d9 ee fldz 100001519: dd dc fstp %st(4) 10000151b: dd da fstp %st(2) 10000151d: dd d8 fstp %st(0) 10000151f: dd d8 fstp %st(0) 100001521: dd d8 fstp %st(0) 100001523: d9 c9 fxch %st(1) 100001525: 48 81 c4 a8 00 00 00 addq $168, %rsp 10000152c: c3 retq 10000152d: db 6c 24 78 fldt 120(%rsp) 100001531: d9 e1 fabs 100001533: db 7c 24 98 fstpt -104(%rsp) 100001537: db 6c 24 a4 fldt -92(%rsp) 10000153b: d9 e1 fabs 10000153d: db 7c 24 8c fstpt -116(%rsp) 100001541: db ac 24 9c 00 00 00 fldt 156(%rsp) 100001548: d9 e1 fabs 10000154a: db ac 24 90 00 00 00 fldt 144(%rsp) 100001551: d9 e1 fabs 100001553: d9 05 5b 22 00 00 flds 8795(%rip) 100001559: d9 c9 fxch %st(1) 10000155b: df e9 fucompi %st(1), %st 10000155d: dd d8 fstp %st(0) 10000155f: db ac 24 84 00 00 00 fldt 132(%rsp) 100001566: d9 ee fldz 100001568: d9 c9 fxch %st(1) 10000156a: d9 ce fxch %st(6) 10000156c: d9 c9 fxch %st(1) 10000156e: d9 cd fxch %st(5) 100001570: d9 c9 fxch %st(1) 100001572: d9 cc fxch %st(4) 100001574: d9 ca fxch %st(2) 100001576: 73 5c jae 0x1000015d4 100001578: dd dd fstp %st(5) 10000157a: d9 05 34 22 00 00 flds 8756(%rip) 100001580: d9 cd fxch %st(5) 100001582: df ed fucompi %st(5), %st 100001584: dd dc fstp %st(4) 100001586: d9 ee fldz 100001588: d9 ee fldz 10000158a: d9 c9 fxch %st(1) 10000158c: d9 cd fxch %st(5) 10000158e: d9 c9 fxch %st(1) 100001590: 73 42 jae 0x1000015d4 100001592: dd dd fstp %st(5) 100001594: dd dc fstp %st(4) 100001596: d9 05 18 22 00 00 flds 8728(%rip) 10000159c: db 6c 24 98 fldt -104(%rsp) 1000015a0: df e9 fucompi %st(1), %st 1000015a2: dd d8 fstp %st(0) 1000015a4: d9 ee fldz 1000015a6: d9 ee fldz 1000015a8: d9 c9 fxch %st(1) 1000015aa: d9 cd fxch %st(5) 1000015ac: d9 c9 fxch %st(1) 1000015ae: 73 24 jae 0x1000015d4 1000015b0: dd dd fstp %st(5) 1000015b2: dd dc fstp %st(4) 1000015b4: d9 05 fa 21 00 00 flds 8698(%rip) 1000015ba: db 6c 24 8c fldt -116(%rsp) 1000015be: df e9 fucompi %st(1), %st 1000015c0: dd d8 fstp %st(0) 1000015c2: db 6c 24 6c fldt 108(%rsp) 1000015c6: d9 ee fldz 1000015c8: d9 c9 fxch %st(1) 1000015ca: d9 cd fxch %st(5) 1000015cc: d9 c9 fxch %st(1) 1000015ce: 0f 82 45 ff ff ff jb 0x100001519 1000015d4: dd dd fstp %st(5) 1000015d6: dd dc fstp %st(4) 1000015d8: dd dc fstp %st(4) 1000015da: d9 c2 fld %st(2) 1000015dc: db 7c 24 f0 fstpt -16(%rsp) 1000015e0: f6 44 24 f9 80 testb $-128, -7(%rsp) 1000015e5: d9 ee fldz 1000015e7: d9 c0 fld %st(0) 1000015e9: d9 e0 fchs 1000015eb: d9 c1 fld %st(1) 1000015ed: db c9 fcmovne %st(1), %st 1000015ef: d9 cd fxch %st(5) 1000015f1: db e8 fucomi %st(0), %st 1000015f3: da dd fcmovu %st(5), %st 1000015f5: dd dd fstp %st(5) 1000015f7: d9 c5 fld %st(5) 1000015f9: db 3c 24 fstpt (%rsp) 1000015fc: f6 44 24 09 80 testb $-128, 9(%rsp) 100001601: d9 c1 fld %st(1) 100001603: db c9 fcmovne %st(1), %st 100001605: d9 ce fxch %st(6) 100001607: db e8 fucomi %st(0), %st 100001609: da de fcmovu %st(6), %st 10000160b: dd de fstp %st(6) 10000160d: d9 c2 fld %st(2) 10000160f: db 7c 24 10 fstpt 16(%rsp) 100001613: f6 44 24 19 80 testb $-128, 25(%rsp) 100001618: d9 c1 fld %st(1) 10000161a: db c9 fcmovne %st(1), %st 10000161c: d9 cb fxch %st(3) 10000161e: db e8 fucomi %st(0), %st 100001620: da db fcmovu %st(3), %st 100001622: dd db fstp %st(3) 100001624: d9 c3 fld %st(3) 100001626: db 7c 24 20 fstpt 32(%rsp) 10000162a: f6 44 24 29 80 testb $-128, 41(%rsp) 10000162f: d9 c9 fxch %st(1) 100001631: db c9 fcmovne %st(1), %st 100001633: dd d9 fstp %st(1) 100001635: d9 ca fxch %st(2) 100001637: db e8 fucomi %st(0), %st 100001639: da da fcmovu %st(2), %st 10000163b: dd da fstp %st(2) 10000163d: d9 cb fxch %st(3) 10000163f: e9 ad fe ff ff jmp 0x1000014f1 100001644: 90 nop 100001645: 90 nop 100001646: 90 nop 100001647: 90 nop 100001648: 90 nop 100001649: 90 nop 10000164a: 90 nop 10000164b: 90 nop 10000164c: 90 nop 10000164d: 90 nop 10000164e: 90 nop 10000164f: 90 nop ___bswapdi2: 100001650: 48 89 f8 movq %rdi, %rax 100001653: 48 0f c8 bswapq %rax 100001656: c3 retq 100001657: 90 nop 100001658: 90 nop 100001659: 90 nop 10000165a: 90 nop 10000165b: 90 nop 10000165c: 90 nop 10000165d: 90 nop 10000165e: 90 nop 10000165f: 90 nop ___bswapsi2: 100001660: 89 f8 movl %edi, %eax 100001662: 0f c8 bswapl %eax 100001664: c3 retq 100001665: 90 nop 100001666: 90 nop 100001667: 90 nop 100001668: 90 nop 100001669: 90 nop 10000166a: 90 nop 10000166b: 90 nop 10000166c: 90 nop 10000166d: 90 nop 10000166e: 90 nop 10000166f: 90 nop ___divtc3: 100001670: 53 pushq %rbx 100001671: 48 81 ec e0 00 00 00 subq $224, %rsp 100001678: db ac 24 20 01 00 00 fldt 288(%rsp) 10000167f: db ac 24 10 01 00 00 fldt 272(%rsp) 100001686: db ac 24 00 01 00 00 fldt 256(%rsp) 10000168d: db 7c 24 30 fstpt 48(%rsp) 100001691: db ac 24 f0 00 00 00 fldt 240(%rsp) 100001698: db 7c 24 3c fstpt 60(%rsp) 10000169c: d9 c0 fld %st(0) 10000169e: db 7c 24 24 fstpt 36(%rsp) 1000016a2: d9 e1 fabs 1000016a4: d9 c1 fld %st(1) 1000016a6: db 7c 24 54 fstpt 84(%rsp) 1000016aa: d9 c9 fxch %st(1) 1000016ac: d9 e1 fabs 1000016ae: db 7c 24 10 fstpt 16(%rsp) 1000016b2: db 3c 24 fstpt (%rsp) 1000016b5: e8 ec 1b 00 00 callq 0x1000032a6 ## symbol stub for: _fmaxl 1000016ba: db 3c 24 fstpt (%rsp) 1000016bd: e8 08 1c 00 00 callq 0x1000032ca ## symbol stub for: _logbl 1000016c2: d9 c0 fld %st(0) 1000016c4: d9 e1 fabs 1000016c6: d9 05 e8 20 00 00 flds 8424(%rip) 1000016cc: d9 c1 fld %st(1) 1000016ce: db bc 24 c8 00 00 00 fstpt 200(%rsp) 1000016d5: d9 c9 fxch %st(1) 1000016d7: df e9 fucompi %st(1), %st 1000016d9: dd d8 fstp %st(0) 1000016db: d9 c0 fld %st(0) 1000016dd: db bc 24 d4 00 00 00 fstpt 212(%rsp) 1000016e4: 74 2c je 0x100001712 1000016e6: db 4c 24 60 fisttpl 96(%rsp) 1000016ea: 31 db xorl %ebx, %ebx 1000016ec: 2b 5c 24 60 subl 96(%rsp), %ebx 1000016f0: db 6c 24 24 fldt 36(%rsp) 1000016f4: db 3c 24 fstpt (%rsp) 1000016f7: 89 df movl %ebx, %edi 1000016f9: e8 1a 1c 00 00 callq 0x100003318 ## symbol stub for: _scalbnl 1000016fe: db 7c 24 24 fstpt 36(%rsp) 100001702: db 6c 24 54 fldt 84(%rsp) 100001706: db 3c 24 fstpt (%rsp) 100001709: 89 df movl %ebx, %edi 10000170b: e8 08 1c 00 00 callq 0x100003318 ## symbol stub for: _scalbnl 100001710: eb 08 jmp 0x10000171a 100001712: dd d8 fstp %st(0) 100001714: 31 db xorl %ebx, %ebx 100001716: db 6c 24 54 fldt 84(%rsp) 10000171a: d9 c0 fld %st(0) 10000171c: db 7c 24 54 fstpt 84(%rsp) 100001720: db 6c 24 24 fldt 36(%rsp) 100001724: d9 c0 fld %st(0) 100001726: db 7c 24 24 fstpt 36(%rsp) 10000172a: d9 c0 fld %st(0) 10000172c: d8 c9 fmul %st(1), %st 10000172e: d9 c2 fld %st(2) 100001730: d8 cb fmul %st(3), %st 100001732: de c1 faddp %st, %st(1) 100001734: d9 c0 fld %st(0) 100001736: db 7c 24 64 fstpt 100(%rsp) 10000173a: db 6c 24 3c fldt 60(%rsp) 10000173e: de ca fmulp %st, %st(2) 100001740: db 6c 24 30 fldt 48(%rsp) 100001744: de cb fmulp %st, %st(3) 100001746: d9 ca fxch %st(2) 100001748: de c1 faddp %st, %st(1) 10000174a: de f1 fdivp %st, %st(1) 10000174c: db 3c 24 fstpt (%rsp) 10000174f: 89 df movl %ebx, %edi 100001751: e8 c2 1b 00 00 callq 0x100003318 ## symbol stub for: _scalbnl 100001756: db 7c 24 48 fstpt 72(%rsp) 10000175a: db 6c 24 24 fldt 36(%rsp) 10000175e: db 6c 24 30 fldt 48(%rsp) 100001762: de c9 fmulp %st, %st(1) 100001764: db 6c 24 54 fldt 84(%rsp) 100001768: db 6c 24 3c fldt 60(%rsp) 10000176c: de c9 fmulp %st, %st(1) 10000176e: de e9 fsubrp %st, %st(1) 100001770: db 6c 24 64 fldt 100(%rsp) 100001774: de f9 fdivrp %st, %st(1) 100001776: db 3c 24 fstpt (%rsp) 100001779: 89 df movl %ebx, %edi 10000177b: e8 98 1b 00 00 callq 0x100003318 ## symbol stub for: _scalbnl 100001780: db 6c 24 48 fldt 72(%rsp) 100001784: db e8 fucomi %st(0), %st 100001786: 0f 8b 20 02 00 00 jnp 0x1000019ac 10000178c: d9 c9 fxch %st(1) 10000178e: db e8 fucomi %st(0), %st 100001790: 0f 8b c3 01 00 00 jnp 0x100001959 100001796: dd d9 fstp %st(1) 100001798: d9 ee fldz 10000179a: db 6c 24 64 fldt 100(%rsp) 10000179e: df e9 fucompi %st(1), %st 1000017a0: dd d8 fstp %st(0) 1000017a2: 75 1a jne 0x1000017be 1000017a4: 7a 18 jp 0x1000017be 1000017a6: db 6c 24 3c fldt 60(%rsp) 1000017aa: df e8 fucompi %st(0), %st 1000017ac: 0f 8b b5 01 00 00 jnp 0x100001967 1000017b2: db 6c 24 30 fldt 48(%rsp) 1000017b6: df e8 fucompi %st(0), %st 1000017b8: 0f 8b a9 01 00 00 jnp 0x100001967 1000017be: db 6c 24 3c fldt 60(%rsp) 1000017c2: d9 e1 fabs 1000017c4: d9 05 ea 1f 00 00 flds 8170(%rip) 1000017ca: d9 c9 fxch %st(1) 1000017cc: db e9 fucomi %st(1), %st 1000017ce: 0f 93 c0 setae %al 1000017d1: db 6c 24 30 fldt 48(%rsp) 1000017d5: d9 e1 fabs 1000017d7: db ea fucomi %st(2), %st 1000017d9: 0f 93 c1 setae %cl 1000017dc: db 6c 24 54 fldt 84(%rsp) 1000017e0: d9 c0 fld %st(0) 1000017e2: d9 e1 fabs 1000017e4: db ec fucomi %st(4), %st 1000017e6: dd dc fstp %st(4) 1000017e8: db 6c 24 24 fldt 36(%rsp) 1000017ec: d9 e1 fabs 1000017ee: 0f 84 95 00 00 00 je 0x100001889 1000017f4: d9 05 ba 1f 00 00 flds 8122(%rip) 1000017fa: d9 c9 fxch %st(1) 1000017fc: db e9 fucomi %st(1), %st 1000017fe: dd d9 fstp %st(1) 100001800: 0f 84 83 00 00 00 je 0x100001889 100001806: 08 c8 orb %cl, %al 100001808: 74 7f je 0x100001889 10000180a: dd dd fstp %st(5) 10000180c: dd db fstp %st(3) 10000180e: dd db fstp %st(3) 100001810: d9 05 9e 1f 00 00 flds 8094(%rip) 100001816: d9 c9 fxch %st(1) 100001818: df e9 fucompi %st(1), %st 10000181a: d9 e8 fld1 10000181c: d9 ee fldz 10000181e: d9 c0 fld %st(0) 100001820: db c2 fcmovnb %st(2), %st 100001822: db 6c 24 3c fldt 60(%rsp) 100001826: db bc 24 a0 00 00 00 fstpt 160(%rsp) 10000182d: d9 e1 fabs 10000182f: f6 84 24 a9 00 00 00 80 testb $-128, 169(%rsp) 100001837: d9 c0 fld %st(0) 100001839: d9 e0 fchs 10000183b: d9 c9 fxch %st(1) 10000183d: db c9 fcmovne %st(1), %st 10000183f: dd d9 fstp %st(1) 100001841: d9 cd fxch %st(5) 100001843: df eb fucompi %st(3), %st 100001845: db c1 fcmovnb %st(1), %st 100001847: dd d9 fstp %st(1) 100001849: db 6c 24 30 fldt 48(%rsp) 10000184d: db bc 24 90 00 00 00 fstpt 144(%rsp) 100001854: d9 e1 fabs 100001856: f6 84 24 99 00 00 00 80 testb $-128, 153(%rsp) 10000185e: d9 c0 fld %st(0) 100001860: d9 e0 fchs 100001862: d9 c9 fxch %st(1) 100001864: db c9 fcmovne %st(1), %st 100001866: dd d9 fstp %st(1) 100001868: db 6c 24 24 fldt 36(%rsp) 10000186c: d9 c4 fld %st(4) 10000186e: d8 c9 fmul %st(1), %st 100001870: d9 c2 fld %st(2) 100001872: d8 cd fmul %st(5), %st 100001874: de c1 faddp %st, %st(1) 100001876: d9 ca fxch %st(2) 100001878: de c9 fmulp %st, %st(1) 10000187a: d9 cc fxch %st(4) 10000187c: de cb fmulp %st, %st(3) 10000187e: d9 cb fxch %st(3) 100001880: de e2 fsubp %st, %st(2) 100001882: dc ca fmul %st, %st(2) 100001884: e9 ce 00 00 00 jmp 0x100001957 100001889: d9 05 25 1f 00 00 flds 7973(%rip) 10000188f: d9 cb fxch %st(3) 100001891: df eb fucompi %st(3), %st 100001893: dd da fstp %st(2) 100001895: 0f 84 ff 00 00 00 je 0x10000199a 10000189b: d9 05 13 1f 00 00 flds 7955(%rip) 1000018a1: d9 cb fxch %st(3) 1000018a3: df eb fucompi %st(3), %st 1000018a5: dd da fstp %st(2) 1000018a7: 0f 84 f5 00 00 00 je 0x1000019a2 1000018ad: d9 ee fldz 1000018af: db ac 24 d4 00 00 00 fldt 212(%rsp) 1000018b6: df e9 fucompi %st(1), %st 1000018b8: dd d8 fstp %st(0) 1000018ba: 0f 86 e2 00 00 00 jbe 0x1000019a2 1000018c0: d9 05 ee 1e 00 00 flds 7918(%rip) 1000018c6: db ac 24 c8 00 00 00 fldt 200(%rsp) 1000018cd: df e9 fucompi %st(1), %st 1000018cf: dd d8 fstp %st(0) 1000018d1: db 6c 24 48 fldt 72(%rsp) 1000018d5: d9 cb fxch %st(3) 1000018d7: d9 ca fxch %st(2) 1000018d9: 0f 82 d3 00 00 00 jb 0x1000019b2 1000018df: dd dc fstp %st(4) 1000018e1: dd da fstp %st(2) 1000018e3: d9 05 cb 1e 00 00 flds 7883(%rip) 1000018e9: d9 ca fxch %st(2) 1000018eb: df ea fucompi %st(2), %st 1000018ed: d9 e8 fld1 1000018ef: d9 ee fldz 1000018f1: d9 c0 fld %st(0) 1000018f3: db c2 fcmovnb %st(2), %st 1000018f5: db 6c 24 24 fldt 36(%rsp) 1000018f9: db 7c 24 70 fstpt 112(%rsp) 1000018fd: d9 e1 fabs 1000018ff: f6 44 24 79 80 testb $-128, 121(%rsp) 100001904: d9 c0 fld %st(0) 100001906: d9 e0 fchs 100001908: d9 c9 fxch %st(1) 10000190a: db c9 fcmovne %st(1), %st 10000190c: dd d9 fstp %st(1) 10000190e: d9 cb fxch %st(3) 100001910: df ec fucompi %st(4), %st 100001912: dd db fstp %st(3) 100001914: d9 c2 fld %st(2) 100001916: db c1 fcmovnb %st(1), %st 100001918: dd d9 fstp %st(1) 10000191a: d9 cb fxch %st(3) 10000191c: db bc 24 80 00 00 00 fstpt 128(%rsp) 100001923: d9 ca fxch %st(2) 100001925: d9 e1 fabs 100001927: f6 84 24 89 00 00 00 80 testb $-128, 137(%rsp) 10000192f: d9 c0 fld %st(0) 100001931: d9 e0 fchs 100001933: d9 c9 fxch %st(1) 100001935: db c9 fcmovne %st(1), %st 100001937: dd d9 fstp %st(1) 100001939: db 6c 24 3c fldt 60(%rsp) 10000193d: d9 c3 fld %st(3) 10000193f: d8 c9 fmul %st(1), %st 100001941: db 6c 24 30 fldt 48(%rsp) 100001945: d9 c3 fld %st(3) 100001947: d8 c9 fmul %st(1), %st 100001949: de c2 faddp %st, %st(2) 10000194b: de cd fmulp %st, %st(5) 10000194d: d9 ca fxch %st(2) 10000194f: de c9 fmulp %st, %st(1) 100001951: de eb fsubrp %st, %st(3) 100001953: d8 c9 fmul %st(1), %st 100001955: d9 ca fxch %st(2) 100001957: de c9 fmulp %st, %st(1) 100001959: d9 ee fldz 10000195b: d9 ee fldz 10000195d: d9 ee fldz 10000195f: d9 cb fxch %st(3) 100001961: d9 cc fxch %st(4) 100001963: d9 cb fxch %st(3) 100001965: eb 4b jmp 0x1000019b2 100001967: dd d8 fstp %st(0) 100001969: db 6c 24 24 fldt 36(%rsp) 10000196d: db bc 24 b0 00 00 00 fstpt 176(%rsp) 100001974: f6 84 24 b9 00 00 00 80 testb $-128, 185(%rsp) 10000197c: d9 05 36 1e 00 00 flds 7734(%rip) 100001982: d9 05 2c 1e 00 00 flds 7724(%rip) 100001988: db c9 fcmovne %st(1), %st 10000198a: dd d9 fstp %st(1) 10000198c: db 6c 24 3c fldt 60(%rsp) 100001990: d8 c9 fmul %st(1), %st 100001992: db 6c 24 30 fldt 48(%rsp) 100001996: de ca fmulp %st, %st(2) 100001998: eb 12 jmp 0x1000019ac 10000199a: dd db fstp %st(3) 10000199c: dd d8 fstp %st(0) 10000199e: dd d8 fstp %st(0) 1000019a0: eb 04 jmp 0x1000019a6 1000019a2: dd da fstp %st(2) 1000019a4: dd d9 fstp %st(1) 1000019a6: dd d8 fstp %st(0) 1000019a8: db 6c 24 48 fldt 72(%rsp) 1000019ac: d9 ee fldz 1000019ae: d9 ee fldz 1000019b0: d9 ee fldz 1000019b2: dd da fstp %st(2) 1000019b4: dd d8 fstp %st(0) 1000019b6: dd d8 fstp %st(0) 1000019b8: 48 81 c4 e0 00 00 00 addq $224, %rsp 1000019bf: 5b popq %rbx 1000019c0: c3 retq 1000019c1: 90 nop 1000019c2: 90 nop 1000019c3: 90 nop 1000019c4: 90 nop 1000019c5: 90 nop 1000019c6: 90 nop 1000019c7: 90 nop 1000019c8: 90 nop 1000019c9: 90 nop 1000019ca: 90 nop 1000019cb: 90 nop 1000019cc: 90 nop 1000019cd: 90 nop 1000019ce: 90 nop 1000019cf: 90 nop ___extendhfsf2: 1000019d0: 89 f8 movl %edi, %eax 1000019d2: 25 00 80 00 00 andl $32768, %eax 1000019d7: 81 e7 ff 7f 00 00 andl $32767, %edi 1000019dd: 8d 8f 00 fc ff ff leal -1024(%rdi), %ecx 1000019e3: 0f b7 c9 movzwl %cx, %ecx 1000019e6: 81 f9 ff 77 00 00 cmpl $30719, %ecx 1000019ec: 77 13 ja 0x100001a01 1000019ee: c1 e7 0d shll $13, %edi 1000019f1: 81 c7 00 00 00 38 addl $939524096, %edi 1000019f7: c1 e0 10 shll $16, %eax 1000019fa: 09 f8 orl %edi, %eax 1000019fc: 66 0f 6e c0 movd %eax, %xmm0 100001a00: c3 retq 100001a01: 81 ff 00 7c 00 00 cmpl $31744, %edi 100001a07: 72 13 jb 0x100001a1c 100001a09: c1 e7 0d shll $13, %edi 100001a0c: 81 cf 00 00 80 7f orl $2139095040, %edi 100001a12: c1 e0 10 shll $16, %eax 100001a15: 09 f8 orl %edi, %eax 100001a17: 66 0f 6e c0 movd %eax, %xmm0 100001a1b: c3 retq 100001a1c: 66 85 ff testw %di, %di 100001a1f: 74 29 je 0x100001a4a 100001a21: 0f bd d7 bsrl %edi, %edx 100001a24: 83 f2 1f xorl $31, %edx 100001a27: 8d 4a f8 leal -8(%rdx), %ecx 100001a2a: d3 e7 shll %cl, %edi 100001a2c: 81 f7 00 00 80 00 xorl $8388608, %edi 100001a32: c1 e2 17 shll $23, %edx 100001a35: b9 00 00 00 43 movl $1124073472, %ecx 100001a3a: 29 d1 subl %edx, %ecx 100001a3c: 09 f9 orl %edi, %ecx 100001a3e: 89 cf movl %ecx, %edi 100001a40: c1 e0 10 shll $16, %eax 100001a43: 09 f8 orl %edi, %eax 100001a45: 66 0f 6e c0 movd %eax, %xmm0 100001a49: c3 retq 100001a4a: 31 ff xorl %edi, %edi 100001a4c: c1 e0 10 shll $16, %eax 100001a4f: 09 f8 orl %edi, %eax 100001a51: 66 0f 6e c0 movd %eax, %xmm0 100001a55: c3 retq 100001a56: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) ___gnu_h2f_ieee: 100001a60: e9 6b ff ff ff jmp ___extendhfsf2 100001a65: 90 nop 100001a66: 90 nop 100001a67: 90 nop 100001a68: 90 nop 100001a69: 90 nop 100001a6a: 90 nop 100001a6b: 90 nop 100001a6c: 90 nop 100001a6d: 90 nop 100001a6e: 90 nop 100001a6f: 90 nop ___ffssi2: 100001a70: 85 ff testl %edi, %edi 100001a72: 74 06 je 0x100001a7a 100001a74: 0f bc c7 bsfl %edi, %eax 100001a77: ff c0 incl %eax 100001a79: c3 retq 100001a7a: 31 c0 xorl %eax, %eax 100001a7c: c3 retq 100001a7d: 90 nop 100001a7e: 90 nop 100001a7f: 90 nop ___compilerrt_abort_impl: 100001a80: 50 pushq %rax 100001a81: 48 89 d0 movq %rdx, %rax 100001a84: 89 f2 movl %esi, %edx 100001a86: 48 89 fe movq %rdi, %rsi 100001a89: 48 8d 0d ed 19 00 00 leaq 6637(%rip), %rcx ## literal pool for: "libcompiler_rt abort" 100001a90: 48 89 c7 movq %rax, %rdi 100001a93: e8 de 17 00 00 callq 0x100003276 ## symbol stub for: ___assert_rtn 100001a98: 90 nop 100001a99: 90 nop 100001a9a: 90 nop 100001a9b: 90 nop 100001a9c: 90 nop 100001a9d: 90 nop 100001a9e: 90 nop 100001a9f: 90 nop ___mulodi4: 100001aa0: 49 89 d0 movq %rdx, %r8 100001aa3: 48 b8 00 00 00 00 00 00 00 80 movabsq $-9223372036854775808, %rax 100001aad: c7 02 00 00 00 00 movl $0, (%rdx) 100001ab3: 48 89 f1 movq %rsi, %rcx 100001ab6: 48 0f af cf imulq %rdi, %rcx 100001aba: 48 39 c7 cmpq %rax, %rdi 100001abd: 75 0a jne 0x100001ac9 100001abf: 48 83 fe 02 cmpq $2, %rsi 100001ac3: 73 6b jae 0x100001b30 100001ac5: 48 89 c8 movq %rcx, %rax 100001ac8: c3 retq 100001ac9: 48 39 c6 cmpq %rax, %rsi 100001acc: 75 08 jne 0x100001ad6 100001ace: 48 83 ff 02 cmpq $2, %rdi 100001ad2: 72 f1 jb 0x100001ac5 100001ad4: eb 5a jmp 0x100001b30 100001ad6: 49 89 f9 movq %rdi, %r9 100001ad9: 49 f7 d9 negq %r9 100001adc: 4c 0f 4c cf cmovlq %rdi, %r9 100001ae0: 49 89 f2 movq %rsi, %r10 100001ae3: 49 f7 da negq %r10 100001ae6: 4c 0f 4c d6 cmovlq %rsi, %r10 100001aea: 49 83 f9 02 cmpq $2, %r9 100001aee: 7c d5 jl 0x100001ac5 100001af0: 49 83 fa 02 cmpq $2, %r10 100001af4: 7c cf jl 0x100001ac5 100001af6: 48 c1 ff 3f sarq $63, %rdi 100001afa: 48 c1 fe 3f sarq $63, %rsi 100001afe: 48 39 f7 cmpq %rsi, %rdi 100001b01: 75 16 jne 0x100001b19 100001b03: 48 b8 ff ff ff ff ff ff ff 7f movabsq $9223372036854775807, %rax 100001b0d: 31 d2 xorl %edx, %edx 100001b0f: 49 f7 f2 divq %r10 100001b12: 49 39 c1 cmpq %rax, %r9 100001b15: 7e ae jle 0x100001ac5 100001b17: eb 17 jmp 0x100001b30 100001b19: 49 f7 da negq %r10 100001b1c: 48 b8 00 00 00 00 00 00 00 80 movabsq $-9223372036854775808, %rax 100001b26: 48 99 cqto 100001b28: 49 f7 fa idivq %r10 100001b2b: 49 39 c1 cmpq %rax, %r9 100001b2e: 7e 95 jle 0x100001ac5 100001b30: 41 c7 00 01 00 00 00 movl $1, (%r8) 100001b37: 48 89 c8 movq %rcx, %rax 100001b3a: c3 retq 100001b3b: 90 nop 100001b3c: 90 nop 100001b3d: 90 nop 100001b3e: 90 nop 100001b3f: 90 nop ___mulosi4: 100001b40: 49 89 d0 movq %rdx, %r8 100001b43: c7 02 00 00 00 00 movl $0, (%rdx) 100001b49: 89 f1 movl %esi, %ecx 100001b4b: 0f af cf imull %edi, %ecx 100001b4e: 81 ff 00 00 00 80 cmpl $2147483648, %edi 100001b54: 75 08 jne 0x100001b5e 100001b56: 83 fe 02 cmpl $2, %esi 100001b59: 73 5e jae 0x100001bb9 100001b5b: 89 c8 movl %ecx, %eax 100001b5d: c3 retq 100001b5e: 81 fe 00 00 00 80 cmpl $2147483648, %esi 100001b64: 75 07 jne 0x100001b6d 100001b66: 83 ff 02 cmpl $2, %edi 100001b69: 72 f0 jb 0x100001b5b 100001b6b: eb 4c jmp 0x100001bb9 100001b6d: 41 89 f9 movl %edi, %r9d 100001b70: 41 f7 d9 negl %r9d 100001b73: 44 0f 4c cf cmovll %edi, %r9d 100001b77: 41 89 f2 movl %esi, %r10d 100001b7a: 41 f7 da negl %r10d 100001b7d: 44 0f 4c d6 cmovll %esi, %r10d 100001b81: 41 83 f9 02 cmpl $2, %r9d 100001b85: 7c d4 jl 0x100001b5b 100001b87: 41 83 fa 02 cmpl $2, %r10d 100001b8b: 7c ce jl 0x100001b5b 100001b8d: c1 ff 1f sarl $31, %edi 100001b90: c1 fe 1f sarl $31, %esi 100001b93: 39 f7 cmpl %esi, %edi 100001b95: 75 11 jne 0x100001ba8 100001b97: b8 ff ff ff 7f movl $2147483647, %eax 100001b9c: 31 d2 xorl %edx, %edx 100001b9e: 41 f7 f2 divl %r10d 100001ba1: 41 39 c1 cmpl %eax, %r9d 100001ba4: 7e b5 jle 0x100001b5b 100001ba6: eb 11 jmp 0x100001bb9 100001ba8: 41 f7 da negl %r10d 100001bab: b8 00 00 00 80 movl $2147483648, %eax 100001bb0: 99 cltd 100001bb1: 41 f7 fa idivl %r10d 100001bb4: 41 39 c1 cmpl %eax, %r9d 100001bb7: 7e a2 jle 0x100001b5b 100001bb9: 41 c7 00 01 00 00 00 movl $1, (%r8) 100001bc0: 89 c8 movl %ecx, %eax 100001bc2: c3 retq 100001bc3: 90 nop 100001bc4: 90 nop 100001bc5: 90 nop 100001bc6: 90 nop 100001bc7: 90 nop 100001bc8: 90 nop 100001bc9: 90 nop 100001bca: 90 nop 100001bcb: 90 nop 100001bcc: 90 nop 100001bcd: 90 nop 100001bce: 90 nop 100001bcf: 90 nop ___muloti4: 100001bd0: 55 pushq %rbp 100001bd1: 41 57 pushq %r15 100001bd3: 41 56 pushq %r14 100001bd5: 41 55 pushq %r13 100001bd7: 41 54 pushq %r12 100001bd9: 53 pushq %rbx 100001bda: 50 pushq %rax 100001bdb: 4d 89 c7 movq %r8, %r15 100001bde: 48 89 d3 movq %rdx, %rbx 100001be1: 49 89 f4 movq %rsi, %r12 100001be4: 41 c7 00 00 00 00 00 movl $0, (%r8) 100001beb: 48 89 d6 movq %rdx, %rsi 100001bee: 49 0f af f4 imulq %r12, %rsi 100001bf2: 48 89 d0 movq %rdx, %rax 100001bf5: 48 f7 e7 mulq %rdi 100001bf8: 49 89 c6 movq %rax, %r14 100001bfb: 48 01 f2 addq %rsi, %rdx 100001bfe: 49 89 cd movq %rcx, %r13 100001c01: 4c 0f af ef imulq %rdi, %r13 100001c05: 49 01 d5 addq %rdx, %r13 100001c08: 48 b8 00 00 00 00 00 00 00 80 movabsq $-9223372036854775808, %rax 100001c12: 4c 89 e2 movq %r12, %rdx 100001c15: 48 31 c2 xorq %rax, %rdx 100001c18: 48 09 fa orq %rdi, %rdx 100001c1b: 75 13 jne 0x100001c30 100001c1d: 48 83 fb 02 cmpq $2, %rbx 100001c21: 48 83 d9 00 sbbq $0, %rcx 100001c25: 0f 83 b5 00 00 00 jae 0x100001ce0 100001c2b: e9 b7 00 00 00 jmp 0x100001ce7 100001c30: 48 89 fd movq %rdi, %rbp 100001c33: 48 31 c8 xorq %rcx, %rax 100001c36: 48 09 d8 orq %rbx, %rax 100001c39: 75 13 jne 0x100001c4e 100001c3b: 48 83 fd 02 cmpq $2, %rbp 100001c3f: 49 83 dc 00 sbbq $0, %r12 100001c43: 0f 83 97 00 00 00 jae 0x100001ce0 100001c49: e9 99 00 00 00 jmp 0x100001ce7 100001c4e: 4c 89 e0 movq %r12, %rax 100001c51: 48 c1 f8 3f sarq $63, %rax 100001c55: 49 31 c4 xorq %rax, %r12 100001c58: 48 31 c5 xorq %rax, %rbp 100001c5b: 48 29 c5 subq %rax, %rbp 100001c5e: 49 19 c4 sbbq %rax, %r12 100001c61: 48 89 ca movq %rcx, %rdx 100001c64: 48 c1 fa 3f sarq $63, %rdx 100001c68: 48 31 d1 xorq %rdx, %rcx 100001c6b: 48 31 d3 xorq %rdx, %rbx 100001c6e: 48 29 d3 subq %rdx, %rbx 100001c71: 48 19 d1 sbbq %rdx, %rcx 100001c74: 48 83 fd 02 cmpq $2, %rbp 100001c78: 4c 89 e6 movq %r12, %rsi 100001c7b: 48 83 de 00 sbbq $0, %rsi 100001c7f: 7c 66 jl 0x100001ce7 100001c81: 48 83 fb 02 cmpq $2, %rbx 100001c85: 48 89 ce movq %rcx, %rsi 100001c88: 48 83 de 00 sbbq $0, %rsi 100001c8c: 7c 59 jl 0x100001ce7 100001c8e: 48 31 d0 xorq %rdx, %rax 100001c91: 48 09 c0 orq %rax, %rax 100001c94: 75 23 jne 0x100001cb9 100001c96: 48 be ff ff ff ff ff ff ff 7f movabsq $9223372036854775807, %rsi 100001ca0: 48 c7 c7 ff ff ff ff movq $-1, %rdi 100001ca7: 48 89 da movq %rbx, %rdx 100001caa: e8 d9 15 00 00 callq 0x100003288 ## symbol stub for: ___udivti3 100001caf: 48 39 e8 cmpq %rbp, %rax 100001cb2: 4c 19 e2 sbbq %r12, %rdx 100001cb5: 7c 29 jl 0x100001ce0 100001cb7: eb 2e jmp 0x100001ce7 100001cb9: 31 c0 xorl %eax, %eax 100001cbb: 48 f7 db negq %rbx 100001cbe: 48 19 c8 sbbq %rcx, %rax 100001cc1: 48 be 00 00 00 00 00 00 00 80 movabsq $-9223372036854775808, %rsi 100001ccb: 31 ff xorl %edi, %edi 100001ccd: 48 89 da movq %rbx, %rdx 100001cd0: 48 89 c1 movq %rax, %rcx 100001cd3: e8 a4 15 00 00 callq 0x10000327c ## symbol stub for: ___divti3 100001cd8: 48 39 e8 cmpq %rbp, %rax 100001cdb: 4c 19 e2 sbbq %r12, %rdx 100001cde: 7d 07 jge 0x100001ce7 100001ce0: 41 c7 07 01 00 00 00 movl $1, (%r15) 100001ce7: 4c 89 f0 movq %r14, %rax 100001cea: 4c 89 ea movq %r13, %rdx 100001ced: 48 83 c4 08 addq $8, %rsp 100001cf1: 5b popq %rbx 100001cf2: 41 5c popq %r12 100001cf4: 41 5d popq %r13 100001cf6: 41 5e popq %r14 100001cf8: 41 5f popq %r15 100001cfa: 5d popq %rbp 100001cfb: c3 retq 100001cfc: 90 nop 100001cfd: 90 nop 100001cfe: 90 nop 100001cff: 90 nop ___isOSVersionAtLeast: 100001d00: 55 pushq %rbp 100001d01: 41 56 pushq %r14 100001d03: 53 pushq %rbx 100001d04: 41 89 d6 movl %edx, %r14d 100001d07: 89 f5 movl %esi, %ebp 100001d09: 89 fb movl %edi, %ebx 100001d0b: 48 83 3d 35 65 00 00 ff cmpq $-1, 25909(%rip) 100001d13: 75 3a jne 0x100001d4f 100001d15: 8b 0d 35 65 00 00 movl _GlobalMajor(%rip), %ecx 100001d1b: b8 01 00 00 00 movl $1, %eax 100001d20: 39 d9 cmpl %ebx, %ecx 100001d22: 7f 06 jg 0x100001d2a 100001d24: 39 d9 cmpl %ebx, %ecx 100001d26: 7d 07 jge 0x100001d2f 100001d28: 31 c0 xorl %eax, %eax 100001d2a: 5b popq %rbx 100001d2b: 41 5e popq %r14 100001d2d: 5d popq %rbp 100001d2e: c3 retq 100001d2f: 39 2d 1f 65 00 00 cmpl %ebp, _GlobalMinor(%rip) 100001d35: 7f f3 jg 0x100001d2a 100001d37: b8 00 00 00 00 movl $0, %eax 100001d3c: 7c ec jl 0x100001d2a 100001d3e: 31 c0 xorl %eax, %eax 100001d40: 44 39 35 11 65 00 00 cmpl %r14d, _GlobalSubminor(%rip) 100001d47: 0f 9d c0 setge %al 100001d4a: 5b popq %rbx 100001d4b: 41 5e popq %r14 100001d4d: 5d popq %rbp 100001d4e: c3 retq 100001d4f: 48 8d 3d f2 64 00 00 leaq _CompatibilityDispatchOnceCounter(%rip), %rdi 100001d56: 48 8d 15 23 00 00 00 leaq _compatibilityInitializeAvailabilityCheck(%rip), %rdx 100001d5d: 31 f6 xorl %esi, %esi 100001d5f: e8 30 15 00 00 callq 0x100003294 ## symbol stub for: _dispatch_once_f 100001d64: 8b 0d e6 64 00 00 movl _GlobalMajor(%rip), %ecx 100001d6a: b8 01 00 00 00 movl $1, %eax 100001d6f: 39 d9 cmpl %ebx, %ecx 100001d71: 7e b1 jle 0x100001d24 100001d73: eb b5 jmp 0x100001d2a 100001d75: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) 100001d7f: 90 nop _compatibilityInitializeAvailabilityCheck: 100001d80: bf 01 00 00 00 movl $1, %edi 100001d85: e9 06 03 00 00 jmp __initializeAvailabilityCheck 100001d8a: 66 0f 1f 44 00 00 nopw (%rax,%rax) ___isPlatformVersionAtLeast: 100001d90: 55 pushq %rbp 100001d91: 41 57 pushq %r15 100001d93: 41 56 pushq %r14 100001d95: 41 54 pushq %r12 100001d97: 53 pushq %rbx 100001d98: 48 83 ec 10 subq $16, %rsp 100001d9c: 41 89 ce movl %ecx, %r14d 100001d9f: 41 89 d4 movl %edx, %r12d 100001da2: 89 f3 movl %esi, %ebx 100001da4: 89 fd movl %edi, %ebp 100001da6: 48 8b 05 53 22 00 00 movq 8787(%rip), %rax ## literal pool symbol address: ___stack_chk_guard 100001dad: 48 8b 00 movq (%rax), %rax 100001db0: 48 89 44 24 08 movq %rax, 8(%rsp) 100001db5: 48 83 3d a3 64 00 00 ff cmpq $-1, 25763(%rip) 100001dbd: 75 35 jne 0x100001df4 100001dbf: 48 8b 05 a2 64 00 00 movq _AvailabilityVersionCheck(%rip), %rax 100001dc6: 48 85 c0 testq %rax, %rax 100001dc9: 74 4a je 0x100001e15 100001dcb: 89 2c 24 movl %ebp, (%rsp) 100001dce: c1 e3 10 shll $16, %ebx 100001dd1: 41 c1 e4 08 shll $8, %r12d 100001dd5: 41 0f b7 cc movzwl %r12w, %ecx 100001dd9: 09 d9 orl %ebx, %ecx 100001ddb: 41 0f b6 d6 movzbl %r14b, %edx 100001ddf: 09 ca orl %ecx, %edx 100001de1: 89 54 24 04 movl %edx, 4(%rsp) 100001de5: 48 89 e6 movq %rsp, %rsi 100001de8: bf 01 00 00 00 movl $1, %edi 100001ded: ff d0 callq *%rax 100001def: 41 89 c7 movl %eax, %r15d 100001df2: eb 54 jmp 0x100001e48 100001df4: 48 8d 3d 65 64 00 00 leaq _DispatchOnceCounter(%rip), %rdi 100001dfb: 48 8d 15 9e 00 00 00 leaq _initializeAvailabilityCheck(%rip), %rdx 100001e02: 31 f6 xorl %esi, %esi 100001e04: e8 8b 14 00 00 callq 0x100003294 ## symbol stub for: _dispatch_once_f 100001e09: 48 8b 05 58 64 00 00 movq _AvailabilityVersionCheck(%rip), %rax 100001e10: 48 85 c0 testq %rax, %rax 100001e13: 75 b6 jne 0x100001dcb 100001e15: 41 b7 01 movb $1, %r15b 100001e18: 83 fd 01 cmpl $1, %ebp 100001e1b: 75 2b jne 0x100001e48 100001e1d: 48 83 3d 23 64 00 00 ff cmpq $-1, 25635(%rip) 100001e25: 75 50 jne 0x100001e77 100001e27: 8b 05 23 64 00 00 movl _GlobalMajor(%rip), %eax 100001e2d: 39 d8 cmpl %ebx, %eax 100001e2f: 7f 17 jg 0x100001e48 100001e31: 39 d8 cmpl %ebx, %eax 100001e33: 7c 10 jl 0x100001e45 100001e35: 8b 05 19 64 00 00 movl _GlobalMinor(%rip), %eax 100001e3b: 44 39 e0 cmpl %r12d, %eax 100001e3e: 7f 08 jg 0x100001e48 100001e40: 44 39 e0 cmpl %r12d, %eax 100001e43: 7d 25 jge 0x100001e6a 100001e45: 45 31 ff xorl %r15d, %r15d 100001e48: 48 8b 05 b1 21 00 00 movq 8625(%rip), %rax ## literal pool symbol address: ___stack_chk_guard 100001e4f: 48 8b 00 movq (%rax), %rax 100001e52: 48 3b 44 24 08 cmpq 8(%rsp), %rax 100001e57: 75 3f jne 0x100001e98 100001e59: 41 0f b6 c7 movzbl %r15b, %eax 100001e5d: 48 83 c4 10 addq $16, %rsp 100001e61: 5b popq %rbx 100001e62: 41 5c popq %r12 100001e64: 41 5e popq %r14 100001e66: 41 5f popq %r15 100001e68: 5d popq %rbp 100001e69: c3 retq 100001e6a: 44 39 35 e7 63 00 00 cmpl %r14d, _GlobalSubminor(%rip) 100001e71: 41 0f 9d c7 setge %r15b 100001e75: eb d1 jmp 0x100001e48 100001e77: 48 8d 3d ca 63 00 00 leaq _CompatibilityDispatchOnceCounter(%rip), %rdi 100001e7e: 48 8d 15 fb fe ff ff leaq _compatibilityInitializeAvailabilityCheck(%rip), %rdx 100001e85: 31 f6 xorl %esi, %esi 100001e87: e8 08 14 00 00 callq 0x100003294 ## symbol stub for: _dispatch_once_f 100001e8c: 8b 05 be 63 00 00 movl _GlobalMajor(%rip), %eax 100001e92: 39 d8 cmpl %ebx, %eax 100001e94: 7e 9b jle 0x100001e31 100001e96: eb b0 jmp 0x100001e48 100001e98: e8 e5 13 00 00 callq 0x100003282 ## symbol stub for: ___stack_chk_fail 100001e9d: 0f 1f 00 nopl (%rax) _initializeAvailabilityCheck: 100001ea0: 31 ff xorl %edi, %edi 100001ea2: e9 e9 01 00 00 jmp __initializeAvailabilityCheck 100001ea7: 66 0f 1f 84 00 00 00 00 00 nopw (%rax,%rax) ___isPlatformOrVariantPlatformVersionAtLeast: 100001eb0: 55 pushq %rbp 100001eb1: 41 57 pushq %r15 100001eb3: 41 56 pushq %r14 100001eb5: 41 55 pushq %r13 100001eb7: 41 54 pushq %r12 100001eb9: 53 pushq %rbx 100001eba: 48 83 ec 18 subq $24, %rsp 100001ebe: 45 89 cf movl %r9d, %r15d 100001ec1: 45 89 c4 movl %r8d, %r12d 100001ec4: 41 89 d5 movl %edx, %r13d 100001ec7: 89 f3 movl %esi, %ebx 100001ec9: 89 fd movl %edi, %ebp 100001ecb: 48 8b 05 2e 21 00 00 movq 8494(%rip), %rax ## literal pool symbol address: ___stack_chk_guard 100001ed2: 48 8b 00 movq (%rax), %rax 100001ed5: 48 89 44 24 10 movq %rax, 16(%rsp) 100001eda: 48 83 3d 7e 63 00 00 ff cmpq $-1, 25470(%rip) 100001ee2: 0f 85 12 01 00 00 jne 0x100001ffa 100001ee8: 8b 7c 24 58 movl 88(%rsp), %edi 100001eec: 44 8b 74 24 50 movl 80(%rsp), %r14d 100001ef1: 48 8b 05 70 63 00 00 movq _AvailabilityVersionCheck(%rip), %rax 100001ef8: 48 85 c0 testq %rax, %rax 100001efb: 74 68 je 0x100001f65 100001efd: 89 2c 24 movl %ebp, (%rsp) 100001f00: c1 e3 10 shll $16, %ebx 100001f03: 41 c1 e5 08 shll $8, %r13d 100001f07: 41 0f b7 f5 movzwl %r13w, %esi 100001f0b: 09 de orl %ebx, %esi 100001f0d: 0f b6 d1 movzbl %cl, %edx 100001f10: 09 f2 orl %esi, %edx 100001f12: 89 54 24 04 movl %edx, 4(%rsp) 100001f16: 44 89 64 24 08 movl %r12d, 8(%rsp) 100001f1b: 41 c1 e7 10 shll $16, %r15d 100001f1f: 41 c1 e6 08 shll $8, %r14d 100001f23: 41 0f b7 ce movzwl %r14w, %ecx 100001f27: 44 09 f9 orl %r15d, %ecx 100001f2a: 40 0f b6 d7 movzbl %dil, %edx 100001f2e: 09 ca orl %ecx, %edx 100001f30: 89 54 24 0c movl %edx, 12(%rsp) 100001f34: 48 89 e6 movq %rsp, %rsi 100001f37: bf 02 00 00 00 movl $2, %edi 100001f3c: ff d0 callq *%rax 100001f3e: 48 8b 0d bb 20 00 00 movq 8379(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard 100001f45: 48 8b 09 movq (%rcx), %rcx 100001f48: 48 3b 4c 24 10 cmpq 16(%rsp), %rcx 100001f4d: 0f 85 24 01 00 00 jne 0x100002077 100001f53: 0f b6 c0 movzbl %al, %eax 100001f56: 48 83 c4 18 addq $24, %rsp 100001f5a: 5b popq %rbx 100001f5b: 41 5c popq %r12 100001f5d: 41 5d popq %r13 100001f5f: 41 5e popq %r14 100001f61: 41 5f popq %r15 100001f63: 5d popq %rbp 100001f64: c3 retq 100001f65: 83 fd 01 cmpl $1, %ebp 100001f68: 75 39 jne 0x100001fa3 100001f6a: 48 83 3d d6 62 00 00 ff cmpq $-1, 25302(%rip) 100001f72: 0f 85 a2 00 00 00 jne 0x10000201a 100001f78: 8b 15 d2 62 00 00 movl _GlobalMajor(%rip), %edx 100001f7e: b0 01 movb $1, %al 100001f80: 39 da cmpl %ebx, %edx 100001f82: 7f ba jg 0x100001f3e 100001f84: 39 da cmpl %ebx, %edx 100001f86: 7c 49 jl 0x100001fd1 100001f88: 8b 15 c6 62 00 00 movl _GlobalMinor(%rip), %edx 100001f8e: 44 39 ea cmpl %r13d, %edx 100001f91: 7f ab jg 0x100001f3e 100001f93: 44 39 ea cmpl %r13d, %edx 100001f96: 7c 39 jl 0x100001fd1 100001f98: 39 0d ba 62 00 00 cmpl %ecx, _GlobalSubminor(%rip) 100001f9e: 0f 9d c0 setge %al 100001fa1: eb 9b jmp 0x100001f3e 100001fa3: 41 83 fc 01 cmpl $1, %r12d 100001fa7: 0f 85 cf 00 00 00 jne 0x10000207c 100001fad: 48 83 3d 93 62 00 00 ff cmpq $-1, 25235(%rip) 100001fb5: 0f 85 8d 00 00 00 jne 0x100002048 100001fbb: 8b 0d 8f 62 00 00 movl _GlobalMajor(%rip), %ecx 100001fc1: b0 01 movb $1, %al 100001fc3: 44 39 f9 cmpl %r15d, %ecx 100001fc6: 0f 8f 72 ff ff ff jg 0x100001f3e 100001fcc: 44 39 f9 cmpl %r15d, %ecx 100001fcf: 7d 07 jge 0x100001fd8 100001fd1: 31 c0 xorl %eax, %eax 100001fd3: e9 66 ff ff ff jmp 0x100001f3e 100001fd8: 8b 0d 76 62 00 00 movl _GlobalMinor(%rip), %ecx 100001fde: 44 39 f1 cmpl %r14d, %ecx 100001fe1: 0f 8f 57 ff ff ff jg 0x100001f3e 100001fe7: 44 39 f1 cmpl %r14d, %ecx 100001fea: 7c e5 jl 0x100001fd1 100001fec: 39 3d 66 62 00 00 cmpl %edi, _GlobalSubminor(%rip) 100001ff2: 0f 9d c0 setge %al 100001ff5: e9 44 ff ff ff jmp 0x100001f3e 100001ffa: 48 8d 3d 5f 62 00 00 leaq _DispatchOnceCounter(%rip), %rdi 100002001: 48 8d 15 98 fe ff ff leaq _initializeAvailabilityCheck(%rip), %rdx 100002008: 31 f6 xorl %esi, %esi 10000200a: 41 89 ce movl %ecx, %r14d 10000200d: e8 82 12 00 00 callq 0x100003294 ## symbol stub for: _dispatch_once_f 100002012: 44 89 f1 movl %r14d, %ecx 100002015: e9 ce fe ff ff jmp 0x100001ee8 10000201a: 48 8d 3d 27 62 00 00 leaq _CompatibilityDispatchOnceCounter(%rip), %rdi 100002021: 48 8d 15 58 fd ff ff leaq _compatibilityInitializeAvailabilityCheck(%rip), %rdx 100002028: 31 f6 xorl %esi, %esi 10000202a: 89 cd movl %ecx, %ebp 10000202c: e8 63 12 00 00 callq 0x100003294 ## symbol stub for: _dispatch_once_f 100002031: 89 e9 movl %ebp, %ecx 100002033: 8b 15 17 62 00 00 movl _GlobalMajor(%rip), %edx 100002039: b0 01 movb $1, %al 10000203b: 39 da cmpl %ebx, %edx 10000203d: 0f 8f fb fe ff ff jg 0x100001f3e 100002043: e9 3c ff ff ff jmp 0x100001f84 100002048: 89 fb movl %edi, %ebx 10000204a: 48 8d 3d f7 61 00 00 leaq _CompatibilityDispatchOnceCounter(%rip), %rdi 100002051: 48 8d 15 28 fd ff ff leaq _compatibilityInitializeAvailabilityCheck(%rip), %rdx 100002058: 31 f6 xorl %esi, %esi 10000205a: e8 35 12 00 00 callq 0x100003294 ## symbol stub for: _dispatch_once_f 10000205f: 89 df movl %ebx, %edi 100002061: 8b 0d e9 61 00 00 movl _GlobalMajor(%rip), %ecx 100002067: b0 01 movb $1, %al 100002069: 44 39 f9 cmpl %r15d, %ecx 10000206c: 0f 8f cc fe ff ff jg 0x100001f3e 100002072: e9 55 ff ff ff jmp 0x100001fcc 100002077: e8 06 12 00 00 callq 0x100003282 ## symbol stub for: ___stack_chk_fail 10000207c: e8 8f 11 00 00 callq ___isPlatformOrVariantPlatformVersionAtLeast.cold.1 100002081: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) 10000208b: 0f 1f 44 00 00 nopl (%rax,%rax) __initializeAvailabilityCheck: 100002090: 55 pushq %rbp 100002091: 41 57 pushq %r15 100002093: 41 56 pushq %r14 100002095: 41 55 pushq %r13 100002097: 41 54 pushq %r12 100002099: 53 pushq %rbx 10000209a: 48 83 ec 68 subq $104, %rsp 10000209e: 89 fb movl %edi, %ebx 1000020a0: 48 8b 05 59 1f 00 00 movq 8025(%rip), %rax ## literal pool symbol address: ___stack_chk_guard 1000020a7: 48 8b 00 movq (%rax), %rax 1000020aa: 48 89 44 24 60 movq %rax, 96(%rsp) 1000020af: 48 83 3d b1 61 00 00 00 cmpq $0, 25009(%rip) 1000020b7: 74 08 je 0x1000020c1 1000020b9: 84 db testb %bl, %bl 1000020bb: 0f 84 df 02 00 00 je 0x1000023a0 1000020c1: 48 8d 35 ae 14 00 00 leaq 5294(%rip), %rsi ## literal pool for: "_availability_version_check" 1000020c8: 48 c7 c7 fe ff ff ff movq $-2, %rdi 1000020cf: e8 c6 11 00 00 callq 0x10000329a ## symbol stub for: _dlsym 1000020d4: 48 89 05 8d 61 00 00 movq %rax, _AvailabilityVersionCheck(%rip) 1000020db: 48 85 c0 testq %rax, %rax 1000020de: 74 08 je 0x1000020e8 1000020e0: 84 db testb %bl, %bl 1000020e2: 0f 84 b8 02 00 00 je 0x1000023a0 1000020e8: 48 8d 35 a3 14 00 00 leaq 5283(%rip), %rsi ## literal pool for: "kCFAllocatorNull" 1000020ef: 48 c7 c7 fe ff ff ff movq $-2, %rdi 1000020f6: e8 9f 11 00 00 callq 0x10000329a ## symbol stub for: _dlsym 1000020fb: 48 85 c0 testq %rax, %rax 1000020fe: 0f 84 9c 02 00 00 je 0x1000023a0 100002104: 48 8b 18 movq (%rax), %rbx 100002107: 48 8d 35 95 14 00 00 leaq 5269(%rip), %rsi ## literal pool for: "CFDataCreateWithBytesNoCopy" 10000210e: 48 c7 c7 fe ff ff ff movq $-2, %rdi 100002115: e8 80 11 00 00 callq 0x10000329a ## symbol stub for: _dlsym 10000211a: 48 85 c0 testq %rax, %rax 10000211d: 0f 84 7d 02 00 00 je 0x1000023a0 100002123: 49 89 c6 movq %rax, %r14 100002126: 48 8d 35 92 14 00 00 leaq 5266(%rip), %rsi ## literal pool for: "CFPropertyListCreateWithData" 10000212d: 48 c7 c7 fe ff ff ff movq $-2, %rdi 100002134: e8 61 11 00 00 callq 0x10000329a ## symbol stub for: _dlsym 100002139: 49 89 c7 movq %rax, %r15 10000213c: 48 8d 35 99 14 00 00 leaq 5273(%rip), %rsi ## literal pool for: "CFPropertyListCreateFromXMLData" 100002143: 48 c7 c7 fe ff ff ff movq $-2, %rdi 10000214a: e8 4b 11 00 00 callq 0x10000329a ## symbol stub for: _dlsym 10000214f: 49 89 c5 movq %rax, %r13 100002152: 4c 89 f8 movq %r15, %rax 100002155: 4c 09 e8 orq %r13, %rax 100002158: 0f 84 42 02 00 00 je 0x1000023a0 10000215e: 48 8d 35 97 14 00 00 leaq 5271(%rip), %rsi ## literal pool for: "CFStringCreateWithCStringNoCopy" 100002165: 48 c7 c7 fe ff ff ff movq $-2, %rdi 10000216c: e8 29 11 00 00 callq 0x10000329a ## symbol stub for: _dlsym 100002171: 48 85 c0 testq %rax, %rax 100002174: 0f 84 26 02 00 00 je 0x1000023a0 10000217a: 48 89 c5 movq %rax, %rbp 10000217d: 48 8d 35 98 14 00 00 leaq 5272(%rip), %rsi ## literal pool for: "CFDictionaryGetValue" 100002184: 48 c7 c7 fe ff ff ff movq $-2, %rdi 10000218b: e8 0a 11 00 00 callq 0x10000329a ## symbol stub for: _dlsym 100002190: 48 85 c0 testq %rax, %rax 100002193: 0f 84 07 02 00 00 je 0x1000023a0 100002199: 49 89 c4 movq %rax, %r12 10000219c: 48 8d 35 8e 14 00 00 leaq 5262(%rip), %rsi ## literal pool for: "CFGetTypeID" 1000021a3: 48 c7 c7 fe ff ff ff movq $-2, %rdi 1000021aa: e8 eb 10 00 00 callq 0x10000329a ## symbol stub for: _dlsym 1000021af: 48 89 44 24 38 movq %rax, 56(%rsp) 1000021b4: 48 85 c0 testq %rax, %rax 1000021b7: 0f 84 e3 01 00 00 je 0x1000023a0 1000021bd: 48 8d 35 79 14 00 00 leaq 5241(%rip), %rsi ## literal pool for: "CFStringGetTypeID" 1000021c4: 48 c7 c7 fe ff ff ff movq $-2, %rdi 1000021cb: e8 ca 10 00 00 callq 0x10000329a ## symbol stub for: _dlsym 1000021d0: 48 89 44 24 30 movq %rax, 48(%rsp) 1000021d5: 48 85 c0 testq %rax, %rax 1000021d8: 0f 84 c2 01 00 00 je 0x1000023a0 1000021de: 48 8d 35 6a 14 00 00 leaq 5226(%rip), %rsi ## literal pool for: "CFStringGetCString" 1000021e5: 48 c7 c7 fe ff ff ff movq $-2, %rdi 1000021ec: e8 a9 10 00 00 callq 0x10000329a ## symbol stub for: _dlsym 1000021f1: 48 89 44 24 28 movq %rax, 40(%rsp) 1000021f6: 48 85 c0 testq %rax, %rax 1000021f9: 0f 84 a1 01 00 00 je 0x1000023a0 1000021ff: 48 8d 35 5c 14 00 00 leaq 5212(%rip), %rsi ## literal pool for: "CFRelease" 100002206: 48 c7 c7 fe ff ff ff movq $-2, %rdi 10000220d: e8 88 10 00 00 callq 0x10000329a ## symbol stub for: _dlsym 100002212: 48 89 44 24 20 movq %rax, 32(%rsp) 100002217: 48 85 c0 testq %rax, %rax 10000221a: 0f 84 80 01 00 00 je 0x1000023a0 100002220: 48 8d 3d 45 14 00 00 leaq 5189(%rip), %rdi ## literal pool for: "/System/Library/CoreServices/SystemVersion.plist" 100002227: 48 8d 35 6f 14 00 00 leaq 5231(%rip), %rsi ## literal pool for: "r" 10000222e: e8 79 10 00 00 callq 0x1000032ac ## symbol stub for: _fopen 100002233: 48 85 c0 testq %rax, %rax 100002236: 0f 84 64 01 00 00 je 0x1000023a0 10000223c: 48 89 c7 movq %rax, %rdi 10000223f: 48 89 44 24 18 movq %rax, 24(%rsp) 100002244: 31 f6 xorl %esi, %esi 100002246: ba 02 00 00 00 movl $2, %edx 10000224b: e8 6e 10 00 00 callq 0x1000032be ## symbol stub for: _fseek 100002250: 48 8b 7c 24 18 movq 24(%rsp), %rdi 100002255: e8 6a 10 00 00 callq 0x1000032c4 ## symbol stub for: _ftell 10000225a: 31 ff xorl %edi, %edi 10000225c: 48 89 44 24 10 movq %rax, 16(%rsp) 100002261: 48 85 c0 testq %rax, %rax 100002264: 0f 88 27 01 00 00 js 0x100002391 10000226a: 48 8b 7c 24 18 movq 24(%rsp), %rdi 10000226f: e8 9e 10 00 00 callq 0x100003312 ## symbol stub for: _rewind 100002274: 48 8b 7c 24 10 movq 16(%rsp), %rdi 100002279: e8 52 10 00 00 callq 0x1000032d0 ## symbol stub for: _malloc 10000227e: 48 85 c0 testq %rax, %rax 100002281: 74 5b je 0x1000022de 100002283: be 01 00 00 00 movl $1, %esi 100002288: 48 89 c7 movq %rax, %rdi 10000228b: 48 89 44 24 08 movq %rax, 8(%rsp) 100002290: 48 8b 54 24 10 movq 16(%rsp), %rdx 100002295: 48 8b 4c 24 18 movq 24(%rsp), %rcx 10000229a: e8 13 10 00 00 callq 0x1000032b2 ## symbol stub for: _fread 10000229f: 48 3b 44 24 10 cmpq 16(%rsp), %rax 1000022a4: 0f 85 e2 00 00 00 jne 0x10000238c 1000022aa: 31 ff xorl %edi, %edi 1000022ac: 48 8b 74 24 08 movq 8(%rsp), %rsi 1000022b1: 48 8b 54 24 10 movq 16(%rsp), %rdx 1000022b6: 48 89 d9 movq %rbx, %rcx 1000022b9: 41 ff d6 callq *%r14 1000022bc: 48 85 c0 testq %rax, %rax 1000022bf: 0f 84 c7 00 00 00 je 0x10000238c 1000022c5: 49 89 c6 movq %rax, %r14 1000022c8: 31 ff xorl %edi, %edi 1000022ca: 48 89 c6 movq %rax, %rsi 1000022cd: 31 d2 xorl %edx, %edx 1000022cf: 31 c9 xorl %ecx, %ecx 1000022d1: 4d 85 ff testq %r15, %r15 1000022d4: 74 0f je 0x1000022e5 1000022d6: 45 31 c0 xorl %r8d, %r8d 1000022d9: 41 ff d7 callq *%r15 1000022dc: eb 0a jmp 0x1000022e8 1000022de: 31 ff xorl %edi, %edi 1000022e0: e9 ac 00 00 00 jmp 0x100002391 1000022e5: 41 ff d5 callq *%r13 1000022e8: 49 89 c7 movq %rax, %r15 1000022eb: 4c 8b 6c 24 20 movq 32(%rsp), %r13 1000022f0: 48 85 c0 testq %rax, %rax 1000022f3: 0f 84 8d 00 00 00 je 0x100002386 1000022f9: 48 8d 35 9f 13 00 00 leaq 5023(%rip), %rsi ## literal pool for: "ProductVersion" 100002300: 31 ff xorl %edi, %edi 100002302: ba 00 06 00 00 movl $1536, %edx 100002307: 48 89 d9 movq %rbx, %rcx 10000230a: ff d5 callq *%rbp 10000230c: 48 85 c0 testq %rax, %rax 10000230f: 74 6f je 0x100002380 100002311: 48 89 c5 movq %rax, %rbp 100002314: 4c 89 ff movq %r15, %rdi 100002317: 48 89 c6 movq %rax, %rsi 10000231a: 41 ff d4 callq *%r12 10000231d: 48 89 c3 movq %rax, %rbx 100002320: 48 89 ef movq %rbp, %rdi 100002323: 41 ff d5 callq *%r13 100002326: 48 85 db testq %rbx, %rbx 100002329: 74 55 je 0x100002380 10000232b: 48 89 df movq %rbx, %rdi 10000232e: ff 54 24 38 callq *56(%rsp) 100002332: 48 89 c5 movq %rax, %rbp 100002335: ff 54 24 30 callq *48(%rsp) 100002339: 48 39 c5 cmpq %rax, %rbp 10000233c: 75 42 jne 0x100002380 10000233e: 48 8d 74 24 40 leaq 64(%rsp), %rsi 100002343: ba 20 00 00 00 movl $32, %edx 100002348: 48 89 df movq %rbx, %rdi 10000234b: b9 00 01 00 08 movl $134217984, %ecx 100002350: ff 54 24 28 callq *40(%rsp) 100002354: 84 c0 testb %al, %al 100002356: 74 28 je 0x100002380 100002358: 48 8d 35 4f 13 00 00 leaq 4943(%rip), %rsi ## literal pool for: "%d.%d.%d" 10000235f: 48 8d 15 ea 5e 00 00 leaq _GlobalMajor(%rip), %rdx 100002366: 48 8d 0d e7 5e 00 00 leaq _GlobalMinor(%rip), %rcx 10000236d: 4c 8d 05 e4 5e 00 00 leaq _GlobalSubminor(%rip), %r8 100002374: 48 8d 7c 24 40 leaq 64(%rsp), %rdi 100002379: 31 c0 xorl %eax, %eax 10000237b: e8 9e 0f 00 00 callq 0x10000331e ## symbol stub for: _sscanf 100002380: 4c 89 ff movq %r15, %rdi 100002383: 41 ff d5 callq *%r13 100002386: 4c 89 f7 movq %r14, %rdi 100002389: 41 ff d5 callq *%r13 10000238c: 48 8b 7c 24 08 movq 8(%rsp), %rdi 100002391: e8 22 0f 00 00 callq 0x1000032b8 ## symbol stub for: _free 100002396: 48 8b 7c 24 18 movq 24(%rsp), %rdi 10000239b: e8 00 0f 00 00 callq 0x1000032a0 ## symbol stub for: _fclose 1000023a0: 48 8b 05 59 1c 00 00 movq 7257(%rip), %rax ## literal pool symbol address: ___stack_chk_guard 1000023a7: 48 8b 00 movq (%rax), %rax 1000023aa: 48 3b 44 24 60 cmpq 96(%rsp), %rax 1000023af: 75 0f jne 0x1000023c0 1000023b1: 48 83 c4 68 addq $104, %rsp 1000023b5: 5b popq %rbx 1000023b6: 41 5c popq %r12 1000023b8: 41 5d popq %r13 1000023ba: 41 5e popq %r14 1000023bc: 41 5f popq %r15 1000023be: 5d popq %rbp 1000023bf: c3 retq 1000023c0: e8 bd 0e 00 00 callq 0x100003282 ## symbol stub for: ___stack_chk_fail 1000023c5: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) 1000023cf: 90 nop ___truncdfhf2: 1000023d0: 66 48 0f 7e c0 movq %xmm0, %rax 1000023d5: 48 ba ff ff ff ff ff ff ff 7f movabsq $9223372036854775807, %rdx 1000023df: 48 21 c2 andq %rax, %rdx 1000023e2: 48 b9 00 00 00 00 00 00 f0 c0 movabsq $-4544132024016830464, %rcx 1000023ec: 48 01 d1 addq %rdx, %rcx 1000023ef: 48 be 00 00 00 00 00 00 10 bf movabsq $-4679240012837945344, %rsi 1000023f9: 48 01 d6 addq %rdx, %rsi 1000023fc: 48 39 f1 cmpq %rsi, %rcx 1000023ff: 73 3a jae 0x10000243b 100002401: 48 be 00 00 00 00 00 02 00 00 movabsq $2199023255552, %rsi 10000240b: 48 89 c2 movq %rax, %rdx 10000240e: 48 c1 ea 2a shrq $42, %rdx 100002412: 8d 8a 00 40 00 00 leal 16384(%rdx), %ecx 100002418: 48 bf ff ff ff ff ff 03 00 00 movabsq $4398046511103, %rdi 100002422: 48 21 c7 andq %rax, %rdi 100002425: 48 39 f7 cmpq %rsi, %rdi 100002428: 0f 86 a9 00 00 00 jbe 0x1000024d7 10000242e: 81 c2 01 40 00 00 addl $16385, %edx 100002434: 89 d1 movl %edx, %ecx 100002436: e9 a7 00 00 00 jmp 0x1000024e2 10000243b: 48 b9 01 00 00 00 00 00 f0 7f movabsq $9218868437227405313, %rcx 100002445: 48 39 ca cmpq %rcx, %rdx 100002448: 72 18 jb 0x100002462 10000244a: 48 89 c1 movq %rax, %rcx 10000244d: 48 c1 e9 2a shrq $42, %rcx 100002451: 81 e1 ff 01 00 00 andl $511, %ecx 100002457: 81 c9 00 7e 00 00 orl $32256, %ecx 10000245d: e9 80 00 00 00 jmp 0x1000024e2 100002462: 48 c1 ea 34 shrq $52, %rdx 100002466: 66 b9 00 7c movw $31744, %cx 10000246a: 81 fa 0e 04 00 00 cmpl $1038, %edx 100002470: 77 70 ja 0x1000024e2 100002472: 81 fa bd 03 00 00 cmpl $957, %edx 100002478: 73 04 jae 0x10000247e 10000247a: 31 c9 xorl %ecx, %ecx 10000247c: eb 64 jmp 0x1000024e2 10000247e: 48 b9 ff ff ff ff ff ff 0f 00 movabsq $4503599627370495, %rcx 100002488: 48 89 c6 movq %rax, %rsi 10000248b: 48 21 ce andq %rcx, %rsi 10000248e: 48 8d 7c 0e 01 leaq 1(%rsi,%rcx), %rdi 100002493: 49 b8 00 00 00 00 00 02 00 00 movabsq $2199023255552, %r8 10000249d: 8d 4a 4f leal 79(%rdx), %ecx 1000024a0: 48 89 fe movq %rdi, %rsi 1000024a3: 48 d3 e6 shlq %cl, %rsi 1000024a6: 45 31 c9 xorl %r9d, %r9d 1000024a9: 48 85 f6 testq %rsi, %rsi 1000024ac: 41 0f 95 c1 setne %r9b 1000024b0: b1 f1 movb $-15, %cl 1000024b2: 28 d1 subb %dl, %cl 1000024b4: 48 d3 ef shrq %cl, %rdi 1000024b7: 48 ba ff ff ff ff ff 03 00 00 movabsq $4398046511103, %rdx 1000024c1: 48 21 fa andq %rdi, %rdx 1000024c4: 48 89 f9 movq %rdi, %rcx 1000024c7: 48 c1 e9 2a shrq $42, %rcx 1000024cb: 4c 09 ca orq %r9, %rdx 1000024ce: 4c 39 c2 cmpq %r8, %rdx 1000024d1: 76 04 jbe 0x1000024d7 1000024d3: ff c1 incl %ecx 1000024d5: eb 0b jmp 0x1000024e2 1000024d7: 75 09 jne 0x1000024e2 1000024d9: 89 ca movl %ecx, %edx 1000024db: 83 e2 01 andl $1, %edx 1000024de: 01 ca addl %ecx, %edx 1000024e0: 89 d1 movl %edx, %ecx 1000024e2: 48 c1 e8 30 shrq $48, %rax 1000024e6: 25 00 80 00 00 andl $32768, %eax 1000024eb: 09 c1 orl %eax, %ecx 1000024ed: 0f b7 c1 movzwl %cx, %eax 1000024f0: c3 retq 1000024f1: 90 nop 1000024f2: 90 nop 1000024f3: 90 nop 1000024f4: 90 nop 1000024f5: 90 nop 1000024f6: 90 nop 1000024f7: 90 nop 1000024f8: 90 nop 1000024f9: 90 nop 1000024fa: 90 nop 1000024fb: 90 nop 1000024fc: 90 nop 1000024fd: 90 nop 1000024fe: 90 nop 1000024ff: 90 nop ___truncsfhf2: 100002500: 66 0f 7e c0 movd %xmm0, %eax 100002504: 89 c2 movl %eax, %edx 100002506: 81 e2 ff ff ff 7f andl $2147483647, %edx 10000250c: 8d 8a 00 00 80 c7 leal -947912704(%rdx), %ecx 100002512: 8d b2 00 00 80 b8 leal -1199570944(%rdx), %esi 100002518: 39 f1 cmpl %esi, %ecx 10000251a: 73 23 jae 0x10000253f 10000251c: 89 c1 movl %eax, %ecx 10000251e: c1 e9 0d shrl $13, %ecx 100002521: 0f b7 c9 movzwl %cx, %ecx 100002524: 89 c2 movl %eax, %edx 100002526: 81 e2 ff 1f 00 00 andl $8191, %edx 10000252c: 81 fa 01 10 00 00 cmpl $4097, %edx 100002532: 72 26 jb 0x10000255a 100002534: 81 c1 01 40 fe ff addl $4294852609, %ecx 10000253a: e9 93 00 00 00 jmp 0x1000025d2 10000253f: 81 fa 01 00 80 7f cmpl $2139095041, %edx 100002545: 72 2b jb 0x100002572 100002547: 89 c1 movl %eax, %ecx 100002549: c1 e9 0d shrl $13, %ecx 10000254c: 81 e1 ff 01 00 00 andl $511, %ecx 100002552: 81 c9 00 7e 00 00 orl $32256, %ecx 100002558: eb 78 jmp 0x1000025d2 10000255a: 81 c1 00 40 fe ff addl $4294852608, %ecx 100002560: 81 fa 00 10 00 00 cmpl $4096, %edx 100002566: 75 6a jne 0x1000025d2 100002568: 0f b7 d1 movzwl %cx, %edx 10000256b: 83 e1 01 andl $1, %ecx 10000256e: 01 d1 addl %edx, %ecx 100002570: eb 60 jmp 0x1000025d2 100002572: b9 00 7c 00 00 movl $31744, %ecx 100002577: 81 fa ff ff 7f 47 cmpl $1199570943, %edx 10000257d: 77 53 ja 0x1000025d2 10000257f: 31 c9 xorl %ecx, %ecx 100002581: 81 fa 00 00 00 2d cmpl $754974720, %edx 100002587: 72 49 jb 0x1000025d2 100002589: c1 ea 17 shrl $23, %edx 10000258c: 89 c6 movl %eax, %esi 10000258e: 81 e6 ff ff 7f 00 andl $8388607, %esi 100002594: 81 ce 00 00 80 00 orl $8388608, %esi 10000259a: 8d 4a af leal -81(%rdx), %ecx 10000259d: 89 f7 movl %esi, %edi 10000259f: d3 e7 shll %cl, %edi 1000025a1: 45 31 c0 xorl %r8d, %r8d 1000025a4: 85 ff testl %edi, %edi 1000025a6: 41 0f 95 c0 setne %r8b 1000025aa: b1 71 movb $113, %cl 1000025ac: 28 d1 subb %dl, %cl 1000025ae: d3 ee shrl %cl, %esi 1000025b0: 89 f1 movl %esi, %ecx 1000025b2: c1 e9 0d shrl $13, %ecx 1000025b5: 81 e6 ff 1f 00 00 andl $8191, %esi 1000025bb: 44 09 c6 orl %r8d, %esi 1000025be: 81 fe 01 10 00 00 cmpl $4097, %esi 1000025c4: 72 04 jb 0x1000025ca 1000025c6: ff c1 incl %ecx 1000025c8: eb 08 jmp 0x1000025d2 1000025ca: 81 fe 00 10 00 00 cmpl $4096, %esi 1000025d0: 74 96 je 0x100002568 1000025d2: c1 e8 10 shrl $16, %eax 1000025d5: 25 00 80 00 00 andl $32768, %eax 1000025da: 09 c8 orl %ecx, %eax 1000025dc: 0f b7 c0 movzwl %ax, %eax 1000025df: c3 retq ___gnu_f2h_ieee: 1000025e0: e9 1b ff ff ff jmp ___truncsfhf2 1000025e5: 90 nop 1000025e6: 90 nop 1000025e7: 90 nop 1000025e8: 90 nop 1000025e9: 90 nop 1000025ea: 90 nop 1000025eb: 90 nop 1000025ec: 90 nop 1000025ed: 90 nop 1000025ee: 90 nop 1000025ef: 90 nop ___emutls_get_address: 1000025f0: 41 57 pushq %r15 1000025f2: 41 56 pushq %r14 1000025f4: 41 55 pushq %r13 1000025f6: 41 54 pushq %r12 1000025f8: 53 pushq %rbx 1000025f9: 49 89 fe movq %rdi, %r14 1000025fc: 4c 8b 6f 10 movq 16(%rdi), %r13 100002600: 4d 85 ed testq %r13, %r13 100002603: 74 6c je 0x100002671 100002605: 48 8b 3d 6c 5c 00 00 movq _emutls_pthread_key(%rip), %rdi 10000260c: e8 d7 0c 00 00 callq 0x1000032e8 ## symbol stub for: _pthread_getspecific 100002611: 48 85 c0 testq %rax, %rax 100002614: 0f 84 b5 00 00 00 je 0x1000026cf 10000261a: 49 89 c7 movq %rax, %r15 10000261d: 4c 8b 60 08 movq 8(%rax), %r12 100002621: 4d 39 ec cmpq %r13, %r12 100002624: 0f 83 fa 00 00 00 jae 0x100002724 10000262a: 49 8d 5d 11 leaq 17(%r13), %rbx 10000262e: 48 83 e3 f0 andq $-16, %rbx 100002632: 48 8d 34 dd f0 ff ff ff leaq -16(,%rbx,8), %rsi 10000263a: 48 83 c6 10 addq $16, %rsi 10000263e: 4c 89 ff movq %r15, %rdi 100002641: e8 c6 0c 00 00 callq 0x10000330c ## symbol stub for: _realloc 100002646: 48 85 c0 testq %rax, %rax 100002649: 0f 84 4e 01 00 00 je 0x10000279d 10000264f: 49 89 c7 movq %rax, %r15 100002652: 48 83 c3 fe addq $-2, %rbx 100002656: 4a 8d 7c e0 10 leaq 16(%rax,%r12,8), %rdi 10000265b: 48 89 da movq %rbx, %rdx 10000265e: 4c 29 e2 subq %r12, %rdx 100002661: 48 c1 e2 03 shlq $3, %rdx 100002665: 31 f6 xorl %esi, %esi 100002667: e8 70 0c 00 00 callq 0x1000032dc ## symbol stub for: _memset 10000266c: e9 a0 00 00 00 jmp 0x100002711 100002671: 48 8d 3d 80 5b 00 00 leaq _emutls_init_once.once(%rip), %rdi 100002678: 48 8d 35 31 01 00 00 leaq _emutls_init(%rip), %rsi 10000267f: e8 7c 0c 00 00 callq 0x100003300 ## symbol stub for: _pthread_once 100002684: 48 8d 3d 7d 5b 00 00 leaq _emutls_mutex(%rip), %rdi 10000268b: e8 64 0c 00 00 callq 0x1000032f4 ## symbol stub for: _pthread_mutex_lock 100002690: 4d 8b 6e 10 movq 16(%r14), %r13 100002694: 4d 85 ed testq %r13, %r13 100002697: 75 15 jne 0x1000026ae 100002699: 4c 8b 2d d0 5b 00 00 movq _emutls_num_object(%rip), %r13 1000026a0: 49 ff c5 incq %r13 1000026a3: 4c 89 2d c6 5b 00 00 movq %r13, _emutls_num_object(%rip) 1000026aa: 4d 89 6e 10 movq %r13, 16(%r14) 1000026ae: 48 8d 3d 53 5b 00 00 leaq _emutls_mutex(%rip), %rdi 1000026b5: e8 40 0c 00 00 callq 0x1000032fa ## symbol stub for: _pthread_mutex_unlock 1000026ba: 48 8b 3d b7 5b 00 00 movq _emutls_pthread_key(%rip), %rdi 1000026c1: e8 22 0c 00 00 callq 0x1000032e8 ## symbol stub for: _pthread_getspecific 1000026c6: 48 85 c0 testq %rax, %rax 1000026c9: 0f 85 4b ff ff ff jne 0x10000261a 1000026cf: 49 8d 5d 11 leaq 17(%r13), %rbx 1000026d3: 48 83 e3 f0 andq $-16, %rbx 1000026d7: 4c 8d 24 dd f0 ff ff ff leaq -16(,%rbx,8), %r12 1000026df: 49 8d 7c 24 10 leaq 16(%r12), %rdi 1000026e4: e8 e7 0b 00 00 callq 0x1000032d0 ## symbol stub for: _malloc 1000026e9: 48 85 c0 testq %rax, %rax 1000026ec: 0f 84 ab 00 00 00 je 0x10000279d 1000026f2: 49 89 c7 movq %rax, %r15 1000026f5: 48 83 c3 fe addq $-2, %rbx 1000026f9: 48 89 c7 movq %rax, %rdi 1000026fc: 48 83 c7 10 addq $16, %rdi 100002700: 31 f6 xorl %esi, %esi 100002702: 4c 89 e2 movq %r12, %rdx 100002705: e8 d2 0b 00 00 callq 0x1000032dc ## symbol stub for: _memset 10000270a: 49 c7 07 00 00 00 00 movq $0, (%r15) 100002711: 49 89 5f 08 movq %rbx, 8(%r15) 100002715: 48 8b 3d 5c 5b 00 00 movq _emutls_pthread_key(%rip), %rdi 10000271c: 4c 89 fe movq %r15, %rsi 10000271f: e8 e2 0b 00 00 callq 0x100003306 ## symbol stub for: _pthread_setspecific 100002724: 4b 8b 5c ef 08 movq 8(%r15,%r13,8), %rbx 100002729: 48 85 db testq %rbx, %rbx 10000272c: 75 62 jne 0x100002790 10000272e: 49 8b 46 08 movq 8(%r14), %rax 100002732: 48 83 f8 08 cmpq $8, %rax 100002736: bb 08 00 00 00 movl $8, %ebx 10000273b: 48 0f 47 d8 cmovaq %rax, %rbx 10000273f: 48 8d 43 ff leaq -1(%rbx), %rax 100002743: 48 85 c3 testq %rax, %rbx 100002746: 75 55 jne 0x10000279d 100002748: 4d 8b 26 movq (%r14), %r12 10000274b: 4a 8d 7c 23 07 leaq 7(%rbx,%r12), %rdi 100002750: e8 7b 0b 00 00 callq 0x1000032d0 ## symbol stub for: _malloc 100002755: 48 85 c0 testq %rax, %rax 100002758: 74 43 je 0x10000279d 10000275a: 48 8d 4b 07 leaq 7(%rbx), %rcx 10000275e: 48 01 c1 addq %rax, %rcx 100002761: 48 f7 db negq %rbx 100002764: 48 21 cb andq %rcx, %rbx 100002767: 48 89 43 f8 movq %rax, -8(%rbx) 10000276b: 49 8b 76 18 movq 24(%r14), %rsi 10000276f: 48 89 df movq %rbx, %rdi 100002772: 48 85 f6 testq %rsi, %rsi 100002775: 74 0a je 0x100002781 100002777: 4c 89 e2 movq %r12, %rdx 10000277a: e8 57 0b 00 00 callq 0x1000032d6 ## symbol stub for: _memcpy 10000277f: eb 0a jmp 0x10000278b 100002781: 31 f6 xorl %esi, %esi 100002783: 4c 89 e2 movq %r12, %rdx 100002786: e8 51 0b 00 00 callq 0x1000032dc ## symbol stub for: _memset 10000278b: 4b 89 5c ef 08 movq %rbx, 8(%r15,%r13,8) 100002790: 48 89 d8 movq %rbx, %rax 100002793: 5b popq %rbx 100002794: 41 5c popq %r12 100002796: 41 5d popq %r13 100002798: 41 5e popq %r14 10000279a: 41 5f popq %r15 10000279c: c3 retq 10000279d: e8 ec 0a 00 00 callq 0x10000328e ## symbol stub for: _abort 1000027a2: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) 1000027ac: 0f 1f 40 00 nopl (%rax) _emutls_init: 1000027b0: 50 pushq %rax 1000027b1: 48 8d 3d c0 5a 00 00 leaq _emutls_pthread_key(%rip), %rdi 1000027b8: 48 8d 35 11 00 00 00 leaq _emutls_key_destructor(%rip), %rsi 1000027bf: e8 2a 0b 00 00 callq 0x1000032ee ## symbol stub for: _pthread_key_create 1000027c4: 85 c0 testl %eax, %eax 1000027c6: 75 02 jne 0x1000027ca 1000027c8: 58 popq %rax 1000027c9: c3 retq 1000027ca: e8 bf 0a 00 00 callq 0x10000328e ## symbol stub for: _abort 1000027cf: 90 nop _emutls_key_destructor: 1000027d0: 41 56 pushq %r14 1000027d2: 53 pushq %rbx 1000027d3: 50 pushq %rax 1000027d4: 49 89 fe movq %rdi, %r14 1000027d7: 48 8b 07 movq (%rdi), %rax 1000027da: 48 85 c0 testq %rax, %rax 1000027dd: 74 1c je 0x1000027fb 1000027df: 48 ff c8 decq %rax 1000027e2: 49 89 06 movq %rax, (%r14) 1000027e5: 48 8b 3d 8c 5a 00 00 movq _emutls_pthread_key(%rip), %rdi 1000027ec: 4c 89 f6 movq %r14, %rsi 1000027ef: 48 83 c4 08 addq $8, %rsp 1000027f3: 5b popq %rbx 1000027f4: 41 5e popq %r14 1000027f6: e9 0b 0b 00 00 jmp 0x100003306 ## symbol stub for: _pthread_setspecific 1000027fb: 49 8b 46 08 movq 8(%r14), %rax 1000027ff: 48 85 c0 testq %rax, %rax 100002802: 74 2d je 0x100002831 100002804: 31 db xorl %ebx, %ebx 100002806: eb 10 jmp 0x100002818 100002808: 0f 1f 84 00 00 00 00 00 nopl (%rax,%rax) 100002810: 48 ff c3 incq %rbx 100002813: 48 39 c3 cmpq %rax, %rbx 100002816: 73 19 jae 0x100002831 100002818: 49 8b 4c de 10 movq 16(%r14,%rbx,8), %rcx 10000281d: 48 85 c9 testq %rcx, %rcx 100002820: 74 ee je 0x100002810 100002822: 48 8b 79 f8 movq -8(%rcx), %rdi 100002826: e8 8d 0a 00 00 callq 0x1000032b8 ## symbol stub for: _free 10000282b: 49 8b 46 08 movq 8(%r14), %rax 10000282f: eb df jmp 0x100002810 100002831: 4c 89 f7 movq %r14, %rdi 100002834: 48 83 c4 08 addq $8, %rsp 100002838: 5b popq %rbx 100002839: 41 5e popq %r14 10000283b: e9 78 0a 00 00 jmp 0x1000032b8 ## symbol stub for: _free _atomic_flag_clear: 100002840: 31 c0 xorl %eax, %eax 100002842: 86 07 xchgb %al, (%rdi) 100002844: c3 retq 100002845: 90 nop 100002846: 90 nop 100002847: 90 nop 100002848: 90 nop 100002849: 90 nop 10000284a: 90 nop 10000284b: 90 nop 10000284c: 90 nop 10000284d: 90 nop 10000284e: 90 nop 10000284f: 90 nop _atomic_flag_clear_explicit: 100002850: 83 fe 03 cmpl $3, %esi 100002853: 74 0a je 0x10000285f 100002855: 83 fe 05 cmpl $5, %esi 100002858: 75 05 jne 0x10000285f 10000285a: 31 c0 xorl %eax, %eax 10000285c: 86 07 xchgb %al, (%rdi) 10000285e: c3 retq 10000285f: c6 07 00 movb $0, (%rdi) 100002862: c3 retq 100002863: 90 nop 100002864: 90 nop 100002865: 90 nop 100002866: 90 nop 100002867: 90 nop 100002868: 90 nop 100002869: 90 nop 10000286a: 90 nop 10000286b: 90 nop 10000286c: 90 nop 10000286d: 90 nop 10000286e: 90 nop 10000286f: 90 nop _atomic_flag_test_and_set: 100002870: b0 01 movb $1, %al 100002872: 86 07 xchgb %al, (%rdi) 100002874: 24 01 andb $1, %al 100002876: c3 retq 100002877: 90 nop 100002878: 90 nop 100002879: 90 nop 10000287a: 90 nop 10000287b: 90 nop 10000287c: 90 nop 10000287d: 90 nop 10000287e: 90 nop 10000287f: 90 nop _atomic_flag_test_and_set_explicit: 100002880: ff ce decl %esi 100002882: 83 fe 04 cmpl $4, %esi 100002885: 77 10 ja 0x100002897 100002887: 48 8d 05 12 00 00 00 leaq 18(%rip), %rax 10000288e: 48 63 0c b0 movslq (%rax,%rsi,4), %rcx 100002892: 48 01 c1 addq %rax, %rcx 100002895: ff e1 jmpq *%rcx 100002897: b0 01 movb $1, %al 100002899: 86 07 xchgb %al, (%rdi) 10000289b: 24 01 andb $1, %al 10000289d: c3 retq 10000289e: 66 90 nop 1000028a0: f7 ff ff ff .long 4294967287 @ KIND_JUMP_TABLE32 1000028a4: f7 ff ff ff .long 4294967287 @ KIND_JUMP_TABLE32 1000028a8: f7 ff ff ff .long 4294967287 @ KIND_JUMP_TABLE32 1000028ac: f7 ff ff ff .long 4294967287 @ KIND_JUMP_TABLE32 1000028b0: f7 ff ff ff .long 4294967287 @ KIND_JUMP_TABLE32 1000028b4: 90 nop 1000028b5: 90 nop 1000028b6: 90 nop 1000028b7: 90 nop 1000028b8: 90 nop 1000028b9: 90 nop 1000028ba: 90 nop 1000028bb: 90 nop 1000028bc: 90 nop 1000028bd: 90 nop 1000028be: 90 nop 1000028bf: 90 nop _atomic_signal_fence: 1000028c0: ff cf decl %edi 1000028c2: 83 ff 04 cmpl $4, %edi 1000028c5: 77 10 ja 0x1000028d7 1000028c7: 48 8d 05 0a 00 00 00 leaq 10(%rip), %rax 1000028ce: 48 63 0c b8 movslq (%rax,%rdi,4), %rcx 1000028d2: 48 01 c1 addq %rax, %rcx 1000028d5: ff e1 jmpq *%rcx 1000028d7: c3 retq 1000028d8: ff ff ff ff .long 4294967295 @ KIND_JUMP_TABLE32 1000028dc: ff ff ff ff .long 4294967295 @ KIND_JUMP_TABLE32 1000028e0: ff ff ff ff .long 4294967295 @ KIND_JUMP_TABLE32 1000028e4: ff ff ff ff .long 4294967295 @ KIND_JUMP_TABLE32 1000028e8: ff ff ff ff .long 4294967295 @ KIND_JUMP_TABLE32 1000028ec: 90 nop 1000028ed: 90 nop 1000028ee: 90 nop 1000028ef: 90 nop _atomic_thread_fence: 1000028f0: ff cf decl %edi 1000028f2: 83 ff 04 cmpl $4, %edi 1000028f5: 77 14 ja 0x10000290b 1000028f7: 48 8d 05 0e 00 00 00 leaq 14(%rip), %rax 1000028fe: 48 63 0c b8 movslq (%rax,%rdi,4), %rcx 100002902: 48 01 c1 addq %rax, %rcx 100002905: ff e1 jmpq *%rcx 100002907: c3 retq 100002908: 0f ae f0 mfence 10000290b: c3 retq 10000290c: fb ff ff ff .long 4294967291 @ KIND_JUMP_TABLE32 100002910: fb ff ff ff .long 4294967291 @ KIND_JUMP_TABLE32 100002914: fb ff ff ff .long 4294967291 @ KIND_JUMP_TABLE32 100002918: fb ff ff ff .long 4294967291 @ KIND_JUMP_TABLE32 10000291c: fc ff ff ff .long 4294967292 @ KIND_JUMP_TABLE32 ___chkstk_darwin_probe: 100002920: 51 pushq %rcx 100002921: 50 pushq %rax 100002922: 48 3d 00 10 00 00 cmpq $4096, %rax 100002928: 48 8d 4c 24 18 leaq 24(%rsp), %rcx 10000292d: 72 18 jb 0x100002947 10000292f: 48 81 e9 00 10 00 00 subq $4096, %rcx 100002936: 48 85 09 testq %rcx, (%rcx) 100002939: 48 2d 00 10 00 00 subq $4096, %rax 10000293f: 48 3d 00 10 00 00 cmpq $4096, %rax 100002945: 77 e8 ja 0x10000292f 100002947: 48 29 c1 subq %rax, %rcx 10000294a: 48 85 09 testq %rcx, (%rcx) 10000294d: 58 popq %rax 10000294e: 59 popq %rcx 10000294f: c3 retq ____chkstk_darwin: 100002950: e9 cb ff ff ff jmp ___chkstk_darwin_probe 100002955: 90 nop 100002956: 90 nop 100002957: 90 nop 100002958: 90 nop 100002959: 90 nop 10000295a: 90 nop 10000295b: 90 nop 10000295c: 90 nop 10000295d: 90 nop 10000295e: 90 nop 10000295f: 90 nop ___cpu_indicator_init: 100002960: 55 pushq %rbp 100002961: 41 57 pushq %r15 100002963: 41 56 pushq %r14 100002965: 41 55 pushq %r13 100002967: 41 54 pushq %r12 100002969: 53 pushq %rbx 10000296a: 50 pushq %rax 10000296b: 31 c0 xorl %eax, %eax 10000296d: 83 3d 0c 59 00 00 00 cmpl $0, 22796(%rip) 100002974: 0f 85 e7 05 00 00 jne 0x100002f61 10000297a: 31 c0 xorl %eax, %eax 10000297c: 48 89 de movq %rbx, %rsi 10000297f: 0f a2 cpuid 100002981: 48 87 f3 xchgq %rbx, %rsi 100002984: 85 c0 testl %eax, %eax 100002986: 0f 84 10 01 00 00 je 0x100002a9c 10000298c: 41 89 f1 movl %esi, %r9d 10000298f: 41 89 c2 movl %eax, %r10d 100002992: b8 01 00 00 00 movl $1, %eax 100002997: 48 89 de movq %rbx, %rsi 10000299a: 0f a2 cpuid 10000299c: 48 87 f3 xchgq %rbx, %rsi 10000299f: 41 89 c8 movl %ecx, %r8d 1000029a2: 41 89 c7 movl %eax, %r15d 1000029a5: 41 c1 ef 08 shrl $8, %r15d 1000029a9: 41 83 e7 0f andl $15, %r15d 1000029ad: 41 89 c3 movl %eax, %r11d 1000029b0: 41 c1 eb 04 shrl $4, %r11d 1000029b4: 41 83 e3 0f andl $15, %r11d 1000029b8: 41 83 ff 06 cmpl $6, %r15d 1000029bc: 89 74 24 04 movl %esi, 4(%rsp) 1000029c0: 74 13 je 0x1000029d5 1000029c2: 41 83 ff 0f cmpl $15, %r15d 1000029c6: 75 18 jne 0x1000029e0 1000029c8: 89 c1 movl %eax, %ecx 1000029ca: c1 e9 14 shrl $20, %ecx 1000029cd: 44 0f b6 f9 movzbl %cl, %r15d 1000029d1: 41 83 c7 0f addl $15, %r15d 1000029d5: c1 e8 0c shrl $12, %eax 1000029d8: 25 f0 00 00 00 andl $240, %eax 1000029dd: 41 09 c3 orl %eax, %r11d 1000029e0: 89 d0 movl %edx, %eax 1000029e2: c1 e8 0f shrl $15, %eax 1000029e5: 83 e0 01 andl $1, %eax 1000029e8: c1 ea 16 shrl $22, %edx 1000029eb: 41 89 d6 movl %edx, %r14d 1000029ee: 41 83 e6 02 andl $2, %r14d 1000029f2: 41 89 d4 movl %edx, %r12d 1000029f5: 41 83 e4 08 andl $8, %r12d 1000029f9: 83 e2 10 andl $16, %edx 1000029fc: 44 89 c3 movl %r8d, %ebx 1000029ff: c1 e3 05 shll $5, %ebx 100002a02: 83 e3 20 andl $32, %ebx 100002a05: 44 89 c5 movl %r8d, %ebp 100002a08: 83 e5 02 andl $2, %ebp 100002a0b: c1 e5 12 shll $18, %ebp 100002a0e: 09 dd orl %ebx, %ebp 100002a10: 44 89 c3 movl %r8d, %ebx 100002a13: c1 eb 03 shrl $3, %ebx 100002a16: 83 e3 40 andl $64, %ebx 100002a19: 09 eb orl %ebp, %ebx 100002a1b: 44 89 c7 movl %r8d, %edi 100002a1e: 81 e7 00 10 00 00 andl $4096, %edi 100002a24: 44 89 c6 movl %r8d, %esi 100002a27: c1 ee 0c shrl $12, %esi 100002a2a: 41 89 f5 movl %esi, %r13d 100002a2d: 41 81 e5 80 00 00 00 andl $128, %r13d 100002a34: 81 e6 00 01 00 00 andl $256, %esi 100002a3a: 44 89 c5 movl %r8d, %ebp 100002a3d: c1 ed 15 shrl $21, %ebp 100002a40: 83 e5 04 andl $4, %ebp 100002a43: 44 89 c1 movl %r8d, %ecx 100002a46: c1 e9 07 shrl $7, %ecx 100002a49: 81 e1 00 00 04 00 andl $262144, %ecx 100002a4f: 09 c1 orl %eax, %ecx 100002a51: 44 09 f1 orl %r14d, %ecx 100002a54: 44 09 e1 orl %r12d, %ecx 100002a57: 09 d1 orl %edx, %ecx 100002a59: 8d 3c bb leal (%rbx,%rdi,4), %edi 100002a5c: 44 09 ef orl %r13d, %edi 100002a5f: 09 f7 orl %esi, %edi 100002a61: 09 ef orl %ebp, %edi 100002a63: 09 cf orl %ecx, %edi 100002a65: 41 81 e0 00 00 00 18 andl $402653184, %r8d 100002a6c: 31 ed xorl %ebp, %ebp 100002a6e: 41 81 f8 00 00 00 18 cmpl $402653184, %r8d 100002a75: 75 39 jne 0x100002ab0 100002a77: 31 c9 xorl %ecx, %ecx 100002a79: 0f 01 d0 xgetbv 100002a7c: 83 e0 06 andl $6, %eax 100002a7f: 89 f9 movl %edi, %ecx 100002a81: 81 c9 00 02 00 00 orl $512, %ecx 100002a87: 83 f8 06 cmpl $6, %eax 100002a8a: 41 0f 94 c6 sete %r14b 100002a8e: 0f 44 f9 cmovel %ecx, %edi 100002a91: 41 83 fa 07 cmpl $7, %r10d 100002a95: 73 26 jae 0x100002abd 100002a97: e9 2e 01 00 00 jmp 0x100002bca 100002a9c: c7 05 da 57 00 00 03 00 00 00 movl $3, 22490(%rip) 100002aa6: b8 ff ff ff ff movl $4294967295, %eax 100002aab: e9 b1 04 00 00 jmp 0x100002f61 100002ab0: 45 31 f6 xorl %r14d, %r14d 100002ab3: 41 83 fa 07 cmpl $7, %r10d 100002ab7: 0f 82 0d 01 00 00 jb 0x100002bca 100002abd: b8 07 00 00 00 movl $7, %eax 100002ac2: 31 c9 xorl %ecx, %ecx 100002ac4: 48 89 de movq %rbx, %rsi 100002ac7: 0f a2 cpuid 100002ac9: 48 87 f3 xchgq %rbx, %rsi 100002acc: 41 89 d2 movl %edx, %r10d 100002acf: 89 f2 movl %esi, %edx 100002ad1: 83 e2 08 andl $8, %edx 100002ad4: c1 e2 0d shll $13, %edx 100002ad7: 09 fa orl %edi, %edx 100002ad9: 89 d0 movl %edx, %eax 100002adb: 0d 00 04 00 00 orl $1024, %eax 100002ae0: 40 f6 c6 20 testb $32, %sil 100002ae4: 0f 44 c2 cmovel %edx, %eax 100002ae7: 89 f7 movl %esi, %edi 100002ae9: c1 e7 09 shll $9, %edi 100002aec: 81 e7 00 00 02 00 andl $131072, %edi 100002af2: 89 f3 movl %esi, %ebx 100002af4: d1 eb shrl %ebx 100002af6: 89 dd movl %ebx, %ebp 100002af8: 81 e5 00 80 00 00 andl $32768, %ebp 100002afe: 09 fd orl %edi, %ebp 100002b00: 89 f7 movl %esi, %edi 100002b02: c1 e7 05 shll $5, %edi 100002b05: 81 e7 00 00 40 00 andl $4194304, %edi 100002b0b: 09 ef orl %ebp, %edi 100002b0d: 89 f5 movl %esi, %ebp 100002b0f: c1 e5 06 shll $6, %ebp 100002b12: 81 e5 00 00 00 08 andl $134217728, %ebp 100002b18: 09 fd orl %edi, %ebp 100002b1a: 81 e3 00 00 00 02 andl $33554432, %ebx 100002b20: 09 eb orl %ebp, %ebx 100002b22: 89 f7 movl %esi, %edi 100002b24: c1 ef 03 shrl $3, %edi 100002b27: 81 e7 00 00 00 01 andl $16777216, %edi 100002b2d: 09 df orl %ebx, %edi 100002b2f: 89 f5 movl %esi, %ebp 100002b31: c1 ed 05 shrl $5, %ebp 100002b34: 81 e5 00 00 80 00 andl $8388608, %ebp 100002b3a: 09 fd orl %edi, %ebp 100002b3c: 89 f3 movl %esi, %ebx 100002b3e: c1 eb 09 shrl $9, %ebx 100002b41: 81 e3 00 00 20 00 andl $2097152, %ebx 100002b47: 09 eb orl %ebp, %ebx 100002b49: 89 cf movl %ecx, %edi 100002b4b: c1 e9 08 shrl $8, %ecx 100002b4e: 83 e1 01 andl $1, %ecx 100002b51: 44 8d 61 02 leal 2(%rcx), %r12d 100002b55: f7 c7 00 04 00 00 testl $1024, %edi 100002b5b: 44 0f 44 e1 cmovel %ecx, %r12d 100002b5f: 45 84 f6 testb %r14b, %r14b 100002b62: 0f 44 c2 cmovel %edx, %eax 100002b65: 44 0f 44 e1 cmovel %ecx, %r12d 100002b69: 09 d8 orl %ebx, %eax 100002b6b: 89 c3 movl %eax, %ebx 100002b6d: 81 cb 00 00 10 00 orl $1048576, %ebx 100002b73: 85 f6 testl %esi, %esi 100002b75: 0f 49 d8 cmovnsl %eax, %ebx 100002b78: b8 07 00 00 00 movl $7, %eax 100002b7d: b9 01 00 00 00 movl $1, %ecx 100002b82: 48 89 de movq %rbx, %rsi 100002b85: 0f a2 cpuid 100002b87: 48 87 f3 xchgq %rbx, %rsi 100002b8a: 89 fd movl %edi, %ebp 100002b8c: c1 ed 09 shrl $9, %ebp 100002b8f: 89 f9 movl %edi, %ecx 100002b91: c1 e1 10 shll $16, %ecx 100002b94: 81 e1 00 00 00 40 andl $1073741824, %ecx 100002b9a: 41 c1 e2 1a shll $26, %r10d 100002b9e: 44 89 d2 movl %r10d, %edx 100002ba1: 81 e2 00 00 00 10 andl $268435456, %edx 100002ba7: 41 81 e2 00 00 00 20 andl $536870912, %r10d 100002bae: 83 e7 c2 andl $-62, %edi 100002bb1: c1 e7 19 shll $25, %edi 100002bb4: 09 cf orl %ecx, %edi 100002bb6: 09 d7 orl %edx, %edi 100002bb8: 44 09 d7 orl %r10d, %edi 100002bbb: 09 df orl %ebx, %edi 100002bbd: d1 e8 shrl %eax 100002bbf: 83 e0 10 andl $16, %eax 100002bc2: 83 e5 0c andl $12, %ebp 100002bc5: 09 c5 orl %eax, %ebp 100002bc7: 44 09 e5 orl %r12d, %ebp 100002bca: b8 00 00 00 80 movl $2147483648, %eax 100002bcf: 48 89 de movq %rbx, %rsi 100002bd2: 0f a2 cpuid 100002bd4: 48 87 f3 xchgq %rbx, %rsi 100002bd7: 3d 01 00 00 80 cmpl $2147483649, %eax 100002bdc: 73 75 jae 0x100002c53 100002bde: 89 3d a8 56 00 00 movl %edi, 22184(%rip) 100002be4: 89 2d a6 56 00 00 movl %ebp, ___cpu_features2(%rip) 100002bea: 41 81 f9 41 75 74 68 cmpl $1752462657, %r9d 100002bf1: 0f 84 a8 00 00 00 je 0x100002c9f 100002bf7: b8 03 00 00 00 movl $3, %eax 100002bfc: 41 81 f9 47 65 6e 75 cmpl $1970169159, %r9d 100002c03: 0f 85 3e 03 00 00 jne 0x100002f47 100002c09: b8 01 00 00 00 movl $1, %eax 100002c0e: 80 7c 24 04 00 cmpb $0, 4(%rsp) 100002c13: 0f 85 2e 03 00 00 jne 0x100002f47 100002c19: 41 83 ff 06 cmpl $6, %r15d 100002c1d: 0f 85 24 03 00 00 jne 0x100002f47 100002c23: 41 83 c3 f1 addl $-15, %r11d 100002c27: 41 81 fb 8f 00 00 00 cmpl $143, %r11d 100002c2e: 0f 87 13 03 00 00 ja 0x100002f47 100002c34: 48 8d 0d 61 03 00 00 leaq 865(%rip), %rcx 100002c3b: 4a 63 14 99 movslq (%rcx,%r11,4), %rdx 100002c3f: 48 01 ca addq %rcx, %rdx 100002c42: ff e2 jmpq *%rdx 100002c44: c7 05 36 56 00 00 06 00 00 00 movl $6, ___cpu_model(%rip) 100002c4e: e9 f4 02 00 00 jmp 0x100002f47 100002c53: b8 01 00 00 80 movl $2147483649, %eax 100002c58: 48 89 de movq %rbx, %rsi 100002c5b: 0f a2 cpuid 100002c5d: 48 87 f3 xchgq %rbx, %rsi 100002c60: 89 c8 movl %ecx, %eax 100002c62: 83 e0 40 andl $64, %eax 100002c65: c1 e0 05 shll $5, %eax 100002c68: 09 f8 orl %edi, %eax 100002c6a: 8d 14 8d 00 00 00 00 leal (,%rcx,4), %edx 100002c71: 81 e2 00 20 00 00 andl $8192, %edx 100002c77: c1 e9 04 shrl $4, %ecx 100002c7a: 81 e1 00 10 00 00 andl $4096, %ecx 100002c80: 09 d1 orl %edx, %ecx 100002c82: 09 c1 orl %eax, %ecx 100002c84: 89 cf movl %ecx, %edi 100002c86: 89 3d 00 56 00 00 movl %edi, 22016(%rip) 100002c8c: 89 2d fe 55 00 00 movl %ebp, ___cpu_features2(%rip) 100002c92: 41 81 f9 41 75 74 68 cmpl $1752462657, %r9d 100002c99: 0f 85 58 ff ff ff jne 0x100002bf7 100002c9f: b8 02 00 00 00 movl $2, %eax 100002ca4: 41 83 c7 f0 addl $-16, %r15d 100002ca8: 41 83 ff 07 cmpl $7, %r15d 100002cac: 0f 87 95 02 00 00 ja 0x100002f47 100002cb2: 48 8d 0d c3 02 00 00 leaq 707(%rip), %rcx 100002cb9: 4a 63 14 b9 movslq (%rcx,%r15,4), %rdx 100002cbd: 48 01 ca addq %rcx, %rdx 100002cc0: ff e2 jmpq *%rdx 100002cc2: c7 05 b8 55 00 00 04 00 00 00 movl $4, ___cpu_model(%rip) 100002ccc: 41 83 fb 08 cmpl $8, %r11d 100002cd0: 0f 84 d1 00 00 00 je 0x100002da7 100002cd6: 41 83 fb 04 cmpl $4, %r11d 100002cda: 0f 84 d6 00 00 00 je 0x100002db6 100002ce0: 41 83 fb 02 cmpl $2, %r11d 100002ce4: 0f 85 5d 02 00 00 jne 0x100002f47 100002cea: c7 05 94 55 00 00 04 00 00 00 movl $4, 21908(%rip) 100002cf4: e9 4e 02 00 00 jmp 0x100002f47 100002cf9: c7 05 81 55 00 00 05 00 00 00 movl $5, ___cpu_model(%rip) 100002d03: 44 89 d9 movl %r11d, %ecx 100002d06: 83 e1 e0 andl $-32, %ecx 100002d09: 83 f9 60 cmpl $96, %ecx 100002d0c: 75 61 jne 0x100002d6f 100002d0e: c7 05 70 55 00 00 0a 00 00 00 movl $10, 21872(%rip) 100002d18: e9 2a 02 00 00 jmp 0x100002f47 100002d1d: c7 05 5d 55 00 00 08 00 00 00 movl $8, ___cpu_model(%rip) 100002d27: e9 1b 02 00 00 jmp 0x100002f47 100002d2c: c7 05 4e 55 00 00 09 00 00 00 movl $9, ___cpu_model(%rip) 100002d36: e9 0c 02 00 00 jmp 0x100002f47 100002d3b: c7 05 3f 55 00 00 0a 00 00 00 movl $10, ___cpu_model(%rip) 100002d45: 41 83 fb 71 cmpl $113, %r11d 100002d49: 74 3e je 0x100002d89 100002d4b: 44 89 d9 movl %r11d, %ecx 100002d4e: 83 e1 f0 andl $-16, %ecx 100002d51: 83 f9 30 cmpl $48, %ecx 100002d54: 74 33 je 0x100002d89 100002d56: 41 83 fb 0f cmpl $15, %r11d 100002d5a: 0f 87 e7 01 00 00 ja 0x100002f47 100002d60: c7 05 1e 55 00 00 0b 00 00 00 movl $11, 21790(%rip) 100002d6a: e9 d8 01 00 00 jmp 0x100002f47 100002d6f: 44 89 d9 movl %r11d, %ecx 100002d72: 83 e1 f0 andl $-16, %ecx 100002d75: 83 f9 30 cmpl $48, %ecx 100002d78: 75 4b jne 0x100002dc5 100002d7a: c7 05 04 55 00 00 09 00 00 00 movl $9, 21764(%rip) 100002d84: e9 be 01 00 00 jmp 0x100002f47 100002d89: c7 05 f5 54 00 00 14 00 00 00 movl $20, 21749(%rip) 100002d93: e9 af 01 00 00 jmp 0x100002f47 100002d98: c7 05 e2 54 00 00 01 00 00 00 movl $1, ___cpu_model(%rip) 100002da2: e9 a0 01 00 00 jmp 0x100002f47 100002da7: c7 05 d7 54 00 00 06 00 00 00 movl $6, 21719(%rip) 100002db1: e9 91 01 00 00 jmp 0x100002f47 100002db6: c7 05 c8 54 00 00 05 00 00 00 movl $5, 21704(%rip) 100002dc0: e9 82 01 00 00 jmp 0x100002f47 100002dc5: 41 83 fb 02 cmpl $2, %r11d 100002dc9: 0f 84 9f 00 00 00 je 0x100002e6e 100002dcf: 83 f9 10 cmpl $16, %ecx 100002dd2: 0f 84 96 00 00 00 je 0x100002e6e 100002dd8: 41 83 fb 0f cmpl $15, %r11d 100002ddc: 0f 87 65 01 00 00 ja 0x100002f47 100002de2: c7 05 9c 54 00 00 07 00 00 00 movl $7, 21660(%rip) 100002dec: e9 56 01 00 00 jmp 0x100002f47 100002df1: c7 05 89 54 00 00 02 00 00 00 movl $2, ___cpu_model(%rip) 100002dfb: e9 47 01 00 00 jmp 0x100002f47 100002e00: 48 b9 03 00 00 00 01 00 00 00 movabsq $4294967299, %rcx 100002e0a: 48 89 0d 73 54 00 00 movq %rcx, 21619(%rip) 100002e11: e9 31 01 00 00 jmp 0x100002f47 100002e16: 48 b9 03 00 00 00 0d 00 00 00 movabsq $55834574851, %rcx 100002e20: 48 89 0d 5d 54 00 00 movq %rcx, 21597(%rip) 100002e27: e9 1b 01 00 00 jmp 0x100002f47 100002e2c: 48 b9 03 00 00 00 0e 00 00 00 movabsq $60129542147, %rcx 100002e36: 48 89 0d 47 54 00 00 movq %rcx, 21575(%rip) 100002e3d: e9 05 01 00 00 jmp 0x100002f47 100002e42: 48 b9 03 00 00 00 0f 00 00 00 movabsq $64424509443, %rcx 100002e4c: 48 89 0d 31 54 00 00 movq %rcx, 21553(%rip) 100002e53: e9 ef 00 00 00 jmp 0x100002f47 100002e58: 48 b9 03 00 00 00 02 00 00 00 movabsq $8589934595, %rcx 100002e62: 48 89 0d 1b 54 00 00 movq %rcx, 21531(%rip) 100002e69: e9 d9 00 00 00 jmp 0x100002f47 100002e6e: c7 05 10 54 00 00 08 00 00 00 movl $8, 21520(%rip) 100002e78: e9 ca 00 00 00 jmp 0x100002f47 100002e7d: 48 b9 03 00 00 00 12 00 00 00 movabsq $77309411331, %rcx 100002e87: 48 89 0d f6 53 00 00 movq %rcx, 21494(%rip) 100002e8e: e9 b4 00 00 00 jmp 0x100002f47 100002e93: 48 b9 03 00 00 00 03 00 00 00 movabsq $12884901891, %rcx 100002e9d: 48 89 0d e0 53 00 00 movq %rcx, 21472(%rip) 100002ea4: e9 9e 00 00 00 jmp 0x100002f47 100002ea9: 48 b9 03 00 00 00 0c 00 00 00 movabsq $51539607555, %rcx 100002eb3: 48 89 0d ca 53 00 00 movq %rcx, 21450(%rip) 100002eba: e9 88 00 00 00 jmp 0x100002f47 100002ebf: c7 05 bb 53 00 00 0c 00 00 00 movl $12, ___cpu_model(%rip) 100002ec9: eb 7c jmp 0x100002f47 100002ecb: 48 b9 03 00 00 00 13 00 00 00 movabsq $81604378627, %rcx 100002ed5: 48 89 0d a8 53 00 00 movq %rcx, 21416(%rip) 100002edc: eb 69 jmp 0x100002f47 100002ede: c7 05 9c 53 00 00 03 00 00 00 movl $3, ___cpu_model(%rip) 100002ee8: 40 f6 c5 04 testb $4, %bpl 100002eec: 75 4f jne 0x100002f3d 100002eee: c7 05 90 53 00 00 10 00 00 00 movl $16, 21392(%rip) 100002ef8: eb 4d jmp 0x100002f47 100002efa: c7 05 80 53 00 00 07 00 00 00 movl $7, ___cpu_model(%rip) 100002f04: eb 41 jmp 0x100002f47 100002f06: 48 b9 03 00 00 00 11 00 00 00 movabsq $73014444035, %rcx 100002f10: 48 89 0d 6d 53 00 00 movq %rcx, 21357(%rip) 100002f17: eb 2e jmp 0x100002f47 100002f19: c7 05 61 53 00 00 0e 00 00 00 movl $14, ___cpu_model(%rip) 100002f23: eb 22 jmp 0x100002f47 100002f25: c7 05 55 53 00 00 0d 00 00 00 movl $13, ___cpu_model(%rip) 100002f2f: eb 16 jmp 0x100002f47 100002f31: c7 05 49 53 00 00 0b 00 00 00 movl $11, ___cpu_model(%rip) 100002f3b: eb 0a jmp 0x100002f47 100002f3d: c7 05 41 53 00 00 15 00 00 00 movl $21, 21313(%rip) 100002f47: 89 05 33 53 00 00 movl %eax, ___cpu_model(%rip) 100002f4d: 83 3d 30 53 00 00 0f cmpl $15, 21296(%rip) 100002f54: 73 1a jae 0x100002f70 100002f56: 31 c0 xorl %eax, %eax 100002f58: 83 3d 29 53 00 00 16 cmpl $22, 21289(%rip) 100002f5f: 73 14 jae 0x100002f75 100002f61: 48 83 c4 08 addq $8, %rsp 100002f65: 5b popq %rbx 100002f66: 41 5c popq %r12 100002f68: 41 5d popq %r13 100002f6a: 41 5e popq %r14 100002f6c: 41 5f popq %r15 100002f6e: 5d popq %rbp 100002f6f: c3 retq 100002f70: e8 bb 02 00 00 callq ___cpu_indicator_init.cold.1 100002f75: e8 d6 02 00 00 callq ___cpu_indicator_init.cold.2 100002f7a: 66 90 nop 100002f7c: 46 fd ff ff .long 4294966598 @ KIND_JUMP_TABLE32 100002f80: cb ff ff ff .long 4294967243 @ KIND_JUMP_TABLE32 100002f84: cb ff ff ff .long 4294967243 @ KIND_JUMP_TABLE32 100002f88: cb ff ff ff .long 4294967243 @ KIND_JUMP_TABLE32 100002f8c: a1 fd ff ff .long 4294966689 @ KIND_JUMP_TABLE32 100002f90: 7d fd ff ff .long 4294966653 @ KIND_JUMP_TABLE32 100002f94: b0 fd ff ff .long 4294966704 @ KIND_JUMP_TABLE32 100002f98: bf fd ff ff .long 4294966719 @ KIND_JUMP_TABLE32 100002f9c: 55 fe ff ff .long 4294966869 @ KIND_JUMP_TABLE32 100002fa0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fa4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fa8: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fac: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fb0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fb4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fb8: 55 fe ff ff .long 4294966869 @ KIND_JUMP_TABLE32 100002fbc: 55 fe ff ff .long 4294966869 @ KIND_JUMP_TABLE32 100002fc0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fc4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fc8: 64 fe ff ff .long 4294966884 @ KIND_JUMP_TABLE32 100002fcc: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fd0: fc fd ff ff .long 4294966780 @ KIND_JUMP_TABLE32 100002fd4: 55 fe ff ff .long 4294966869 @ KIND_JUMP_TABLE32 100002fd8: 64 fe ff ff .long 4294966884 @ KIND_JUMP_TABLE32 100002fdc: 64 fe ff ff .long 4294966884 @ KIND_JUMP_TABLE32 100002fe0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fe4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fe8: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002fec: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002ff0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100002ff4: bc fe ff ff .long 4294966972 @ KIND_JUMP_TABLE32 100002ff8: fc fd ff ff .long 4294966780 @ KIND_JUMP_TABLE32 100002ffc: fc fd ff ff .long 4294966780 @ KIND_JUMP_TABLE32 100003000: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003004: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003008: f7 fe ff ff .long 4294967031 @ KIND_JUMP_TABLE32 10000300c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003010: bc fe ff ff .long 4294966972 @ KIND_JUMP_TABLE32 100003014: f7 fe ff ff .long 4294967031 @ KIND_JUMP_TABLE32 100003018: 64 fe ff ff .long 4294966884 @ KIND_JUMP_TABLE32 10000301c: bc fe ff ff .long 4294966972 @ KIND_JUMP_TABLE32 100003020: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003024: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003028: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 10000302c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003030: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003034: fc fd ff ff .long 4294966780 @ KIND_JUMP_TABLE32 100003038: fc fd ff ff .long 4294966780 @ KIND_JUMP_TABLE32 10000303c: a8 fc ff ff .long 4294966440 @ KIND_JUMP_TABLE32 100003040: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003044: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003048: 0d ff ff ff .long 4294967053 @ KIND_JUMP_TABLE32 10000304c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003050: 7a fe ff ff .long 4294966906 @ KIND_JUMP_TABLE32 100003054: 90 fe ff ff .long 4294966928 @ KIND_JUMP_TABLE32 100003058: 0d ff ff ff .long 4294967053 @ KIND_JUMP_TABLE32 10000305c: 7a fe ff ff .long 4294966906 @ KIND_JUMP_TABLE32 100003060: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003064: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003068: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 10000306c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003070: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003074: 7a fe ff ff .long 4294966906 @ KIND_JUMP_TABLE32 100003078: 7a fe ff ff .long 4294966906 @ KIND_JUMP_TABLE32 10000307c: 90 fe ff ff .long 4294966928 @ KIND_JUMP_TABLE32 100003080: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003084: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003088: a8 fc ff ff .long 4294966440 @ KIND_JUMP_TABLE32 10000308c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003090: a8 fc ff ff .long 4294966440 @ KIND_JUMP_TABLE32 100003094: a8 fc ff ff .long 4294966440 @ KIND_JUMP_TABLE32 100003098: a6 fe ff ff .long 4294966950 @ KIND_JUMP_TABLE32 10000309c: 90 fe ff ff .long 4294966928 @ KIND_JUMP_TABLE32 1000030a0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030a4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030a8: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030ac: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030b0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030b4: 42 ff ff ff .long 4294967106 @ KIND_JUMP_TABLE32 1000030b8: 90 fe ff ff .long 4294966928 @ KIND_JUMP_TABLE32 1000030bc: 5e ff ff ff .long 4294967134 @ KIND_JUMP_TABLE32 1000030c0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030c4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030c8: a8 fc ff ff .long 4294966440 @ KIND_JUMP_TABLE32 1000030cc: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030d0: 23 ff ff ff .long 4294967075 @ KIND_JUMP_TABLE32 1000030d4: a8 fc ff ff .long 4294966440 @ KIND_JUMP_TABLE32 1000030d8: a6 fe ff ff .long 4294966950 @ KIND_JUMP_TABLE32 1000030dc: 23 ff ff ff .long 4294967075 @ KIND_JUMP_TABLE32 1000030e0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030e4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030e8: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030ec: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030f0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030f4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000030f8: 6a ff ff ff .long 4294967146 @ KIND_JUMP_TABLE32 1000030fc: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003100: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003104: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003108: 2f ff ff ff .long 4294967087 @ KIND_JUMP_TABLE32 10000310c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003110: 2f ff ff ff .long 4294967087 @ KIND_JUMP_TABLE32 100003114: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003118: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 10000311c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003120: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003124: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003128: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 10000312c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003130: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003134: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003138: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 10000313c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003140: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003144: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003148: 89 ff ff ff .long 4294967177 @ KIND_JUMP_TABLE32 10000314c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003150: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003154: e1 fe ff ff .long 4294967009 @ KIND_JUMP_TABLE32 100003158: e1 fe ff ff .long 4294967009 @ KIND_JUMP_TABLE32 10000315c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003160: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003164: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003168: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 10000316c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003170: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003174: 95 ff ff ff .long 4294967189 @ KIND_JUMP_TABLE32 100003178: 7d ff ff ff .long 4294967165 @ KIND_JUMP_TABLE32 10000317c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003180: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003184: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003188: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 10000318c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003190: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003194: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 100003198: a6 fe ff ff .long 4294966950 @ KIND_JUMP_TABLE32 10000319c: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031a0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031a4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031a8: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031ac: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031b0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031b4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031b8: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031bc: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031c0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031c4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031c8: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031cc: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031d0: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031d4: ab ff ff ff .long 4294967211 @ KIND_JUMP_TABLE32 1000031d8: a6 fe ff ff .long 4294966950 @ KIND_JUMP_TABLE32 1000031dc: 0f 1f 40 00 nopl (%rax) ___fe_getround: 1000031e0: d9 7c 24 fe fnstcw -2(%rsp) 1000031e4: 0f b7 44 24 fe movzwl -2(%rsp), %eax 1000031e9: c1 e8 0a shrl $10, %eax 1000031ec: 83 e0 03 andl $3, %eax 1000031ef: c3 retq ___fe_raise_inexact: 1000031f0: c7 44 24 fc 00 00 40 40 movl $1077936128, -4(%rsp) 1000031f8: d9 e8 fld1 1000031fa: d8 74 24 fc fdivs -4(%rsp) 1000031fe: dd d8 fstp %st(0) 100003200: 31 c0 xorl %eax, %eax 100003202: c3 retq 100003203: 90 nop 100003204: 90 nop 100003205: 90 nop 100003206: 90 nop 100003207: 90 nop 100003208: 90 nop 100003209: 90 nop 10000320a: 90 nop 10000320b: 90 nop 10000320c: 90 nop 10000320d: 90 nop 10000320e: 90 nop 10000320f: 90 nop ___isPlatformOrVariantPlatformVersionAtLeast.cold.1: 100003210: 50 pushq %rax 100003211: 48 8d 3d 7a 02 00 00 leaq 634(%rip), %rdi ## literal pool for: "__isPlatformOrVariantPlatformVersionAtLeast" 100003218: 48 8d 35 9f 02 00 00 leaq 671(%rip), %rsi ## literal pool for: "/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/clang/clang-1200.0.32.29/compiler-rt/lib/builtins/os_version_check.c" 10000321f: 48 8d 0d 1b 03 00 00 leaq 795(%rip), %rcx ## literal pool for: "Platform2 == PLATFORM_MACOS && \"unexpected platform\"" 100003226: ba 32 01 00 00 movl $306, %edx 10000322b: e8 46 00 00 00 callq 0x100003276 ## symbol stub for: ___assert_rtn ___cpu_indicator_init.cold.1: 100003230: 50 pushq %rax 100003231: 48 8d 3d 7f 04 00 00 leaq 1151(%rip), %rdi ## literal pool for: "__cpu_indicator_init" 100003238: 48 8d 35 8d 04 00 00 leaq 1165(%rip), %rsi ## literal pool for: "/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/clang/clang-1200.0.32.29/compiler-rt/lib/builtins/cpu_model.c" 10000323f: 48 8d 0d 02 05 00 00 leaq 1282(%rip), %rcx ## literal pool for: "__cpu_model.__cpu_type < CPU_TYPE_MAX" 100003246: ba b9 02 00 00 movl $697, %edx 10000324b: e8 26 00 00 00 callq 0x100003276 ## symbol stub for: ___assert_rtn ___cpu_indicator_init.cold.2: 100003250: 50 pushq %rax 100003251: 48 8d 3d 5f 04 00 00 leaq 1119(%rip), %rdi ## literal pool for: "__cpu_indicator_init" 100003258: 48 8d 35 6d 04 00 00 leaq 1133(%rip), %rsi ## literal pool for: "/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/clang/clang-1200.0.32.29/compiler-rt/lib/builtins/cpu_model.c" 10000325f: 48 8d 0d 08 05 00 00 leaq 1288(%rip), %rcx ## literal pool for: "__cpu_model.__cpu_subtype < CPU_SUBTYPE_MAX" 100003266: ba ba 02 00 00 movl $698, %edx 10000326b: e8 06 00 00 00 callq 0x100003276 ## symbol stub for: ___assert_rtn
实际开发关联
例如在我们使用分类的情况下, 通过设置
-ObjC
就是告诉链接器不要剥离代码通过
xcconfig
来取代build settings
设置// 都不要剥离 OTHER_LDFLAGS=Xlinker -all_load
// OC相关的代码不要剥离, 其他的该剥离剥离 OTHER_LDFLAGS=Xlinker -Objc
// 指定哪些静态库不要剥离, 所以需要配置静态库路径 OTHER_LDFLAGS=Xlinker -force_load LGSTATIC_FRAMEWORK_PATH=${BUILD_DIR}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}/xxxStaticFramework.framework/xxxFramework
其中
Xlinker
的作用OTHER_LDFLAGS
通过clang
给ld
传递参数- 并不是给
clang
的参数,clang
没有这些参数(-ObjC
...), 通过Xlinker
告诉clang
传递给ld