clarify the purpose of this project
[nyanglibc.git] / resolv / res_hconf.shared.s
blob3e865eb8bdb3f32aa2a837e28ebe642750611898
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .section __libc_freeres_ptrs, "aw", %nobits
7 .previous
8 .section .rodata.str1.8,"aMS",@progbits,1
9 .align 8
10 .LC0:
11 .string "%s: line %d: cannot specify more than %d trim domains"
12 .section .rodata.str1.1,"aMS",@progbits,1
13 .LC1:
14 .string "%s"
15 .section .rodata.str1.8
16 .align 8
17 .LC2:
18 .string "%s: line %d: list delimiter not followed by domain"
19 #NO_APP
20 .text
21 .p2align 4,,15
22 .type arg_trimdomain_list, @function
23 arg_trimdomain_list:
24 .LFB86:
25 pushq %r15
26 pushq %r14
27 pushq %r13
28 pushq %r12
29 movq %rdi, %r12
30 pushq %rbp
31 pushq %rbx
32 movq %rdx, %rdi
33 movl %esi, %r13d
34 movabsq $864708720641179648, %rbp
35 subq $24, %rsp
36 movzbl (%rdx), %edx
37 movq _res_hconf@GOTPCREL(%rip), %r14
38 .p2align 4,,10
39 .p2align 3
40 .L16:
41 testb %dl, %dl
42 je .L18
43 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
44 movsbq %dl, %rcx
45 movq %rdi, %rbx
46 movq %fs:(%rax), %rax
47 testb $32, 1(%rax,%rcx,2)
48 jne .L19
49 cmpb $35, %dl
50 setne %cl
51 cmpb $44, %dl
52 setne %dl
53 testb %dl, %cl
54 jne .L4
55 jmp .L19
56 .p2align 4,,10
57 .p2align 3
58 .L54:
59 cmpb $35, %cl
60 setne %sil
61 cmpb $44, %cl
62 setne %cl
63 testb %cl, %sil
64 je .L22
65 .L4:
66 addq $1, %rbx
67 movzbl (%rbx), %ecx
68 testb %cl, %cl
69 je .L22
70 movsbq %cl, %rsi
71 testb $32, 1(%rax,%rsi,2)
72 je .L54
73 .L22:
74 movq %rbx, %rsi
75 subq %rdi, %rsi
76 .L2:
77 movslq 24(%r14), %r15
78 cmpl $3, %r15d
79 jg .L55
80 .L6:
81 leal 1(%r15), %eax
82 movl %eax, 24(%r14)
83 call __GI___strndup
84 movq %rax, 32(%r14,%r15,8)
85 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
86 movq %fs:(%rax), %rsi
87 movsbq (%rbx), %rax
88 testb $32, 1(%rsi,%rax,2)
89 movq %rax, %rcx
90 je .L9
91 .p2align 4,,10
92 .p2align 3
93 .L10:
94 addq $1, %rbx
95 movsbq (%rbx), %rax
96 testb $32, 1(%rsi,%rax,2)
97 movq %rax, %rcx
98 jne .L10
99 .L9:
100 cmpb $59, %cl
101 movq %rbx, %rdi
102 ja .L11
103 btq %rcx, %rbp
104 jc .L56
105 .L11:
106 movzbl (%rdi), %edx
107 testb %dl, %dl
108 je .L24
109 cmpb $35, %dl
110 jne .L16
111 .L24:
112 addq $24, %rsp
113 movq %rdi, %rax
114 popq %rbx
115 popq %rbp
116 popq %r12
117 popq %r13
118 popq %r14
119 popq %r15
121 .p2align 4,,10
122 .p2align 3
123 .L56:
124 movsbq 1(%rbx), %rdx
125 addq $1, %rdi
126 testb $32, 1(%rsi,%rdx,2)
127 movq %rdx, %rax
128 je .L12
129 .p2align 4,,10
130 .p2align 3
131 .L13:
132 addq $1, %rdi
133 movsbq (%rdi), %rdx
134 testb $32, 1(%rsi,%rdx,2)
135 movq %rdx, %rax
136 jne .L13
137 .L12:
138 testb %al, %al
139 je .L23
140 cmpb $35, %al
141 jne .L11
142 .L23:
143 leaq .LC2(%rip), %rsi
144 leaq __GI__libc_intl_domainname(%rip), %rdi
145 movl $5, %edx
146 call __GI___dcgettext
147 leaq 8(%rsp), %rdi
148 movq %rax, %rsi
149 movl %r13d, %ecx
150 xorl %eax, %eax
151 movq %r12, %rdx
152 call __GI___asprintf
153 testl %eax, %eax
154 jns .L52
155 .L15:
156 xorl %eax, %eax
157 .L57:
158 addq $24, %rsp
159 popq %rbx
160 popq %rbp
161 popq %r12
162 popq %r13
163 popq %r14
164 popq %r15
166 .p2align 4,,10
167 .p2align 3
168 .L19:
169 movslq 24(%r14), %r15
170 xorl %esi, %esi
171 cmpl $3, %r15d
172 jle .L6
173 .L55:
174 leaq .LC0(%rip), %rsi
175 leaq __GI__libc_intl_domainname(%rip), %rdi
176 movl $5, %edx
177 call __GI___dcgettext
178 leaq 8(%rsp), %rdi
179 movq %rax, %rsi
180 movl $4, %r8d
181 xorl %eax, %eax
182 movl %r13d, %ecx
183 movq %r12, %rdx
184 call __GI___asprintf
185 testl %eax, %eax
186 js .L15
187 .L52:
188 movq 8(%rsp), %rdx
189 leaq .LC1(%rip), %rsi
190 xorl %edi, %edi
191 xorl %eax, %eax
192 call __fxprintf
193 movq 8(%rsp), %rdi
194 call free@PLT
195 xorl %eax, %eax
196 jmp .L57
197 .L18:
198 movq %rdi, %rbx
199 xorl %esi, %esi
200 jmp .L2
201 .LFE86:
202 .size arg_trimdomain_list, .-arg_trimdomain_list
203 .section .rodata.str1.1
204 .LC3:
205 .string "on"
206 .LC4:
207 .string "off"
208 .section .rodata.str1.8
209 .align 8
210 .LC5:
211 .string "%s: line %d: expected `on' or `off', found `%s'\n"
212 .text
213 .p2align 4,,15
214 .type arg_bool, @function
215 arg_bool:
216 .LFB87:
217 pushq %r13
218 pushq %r12
219 movl %esi, %r13d
220 pushq %rbp
221 pushq %rbx
222 leaq .LC3(%rip), %rsi
223 movq %rdx, %rbx
224 movq %rdi, %r12
225 movl $2, %edx
226 subq $24, %rsp
227 movq %rbx, %rdi
228 movl %ecx, %ebp
229 call __strncasecmp@PLT
230 testl %eax, %eax
231 je .L64
232 leaq .LC4(%rip), %rsi
233 movl $3, %edx
234 movq %rbx, %rdi
235 call __strncasecmp@PLT
236 testl %eax, %eax
237 jne .L61
238 movq _res_hconf@GOTPCREL(%rip), %rdx
239 notl %ebp
240 leaq 3(%rbx), %rax
241 andl %ebp, 64(%rdx)
242 .L58:
243 addq $24, %rsp
244 popq %rbx
245 popq %rbp
246 popq %r12
247 popq %r13
249 .p2align 4,,10
250 .p2align 3
251 .L64:
252 movq _res_hconf@GOTPCREL(%rip), %rdx
253 leaq 2(%rbx), %rax
254 orl %ebp, 64(%rdx)
255 addq $24, %rsp
256 popq %rbx
257 popq %rbp
258 popq %r12
259 popq %r13
261 .p2align 4,,10
262 .p2align 3
263 .L61:
264 leaq .LC5(%rip), %rsi
265 leaq __GI__libc_intl_domainname(%rip), %rdi
266 movl $5, %edx
267 call __GI___dcgettext
268 leaq 8(%rsp), %rdi
269 movq %rax, %rsi
270 movq %rbx, %r8
271 xorl %eax, %eax
272 movl %r13d, %ecx
273 movq %r12, %rdx
274 call __GI___asprintf
275 testl %eax, %eax
276 jns .L65
277 xorl %eax, %eax
278 jmp .L58
279 .p2align 4,,10
280 .p2align 3
281 .L65:
282 movq 8(%rsp), %rdx
283 leaq .LC1(%rip), %rsi
284 xorl %edi, %edi
285 xorl %eax, %eax
286 call __fxprintf
287 movq 8(%rsp), %rdi
288 call free@PLT
289 xorl %eax, %eax
290 jmp .L58
291 .LFE87:
292 .size arg_bool, .-arg_bool
293 .section .rodata.str1.1
294 .LC6:
295 .string "/etc/host.conf"
296 .LC7:
297 .string "RESOLV_HOST_CONF"
298 .LC8:
299 .string "rce"
300 .section .rodata.str1.8
301 .align 8
302 .LC9:
303 .string "%s: line %d: ignoring trailing garbage `%s'\n"
304 .section .rodata.str1.1
305 .LC10:
306 .string "RESOLV_MULTI"
307 .LC11:
308 .string "RESOLV_REORDER"
309 .LC12:
310 .string "RESOLV_ADD_TRIM_DOMAINS"
311 .LC13:
312 .string "RESOLV_OVERRIDE_TRIM_DOMAINS"
313 .section .rodata.str1.8
314 .align 8
315 .LC14:
316 .string "%s: line %d: bad command `%s'\n"
317 .text
318 .p2align 4,,15
319 .type do_init, @function
320 do_init:
321 .LFB89:
322 pushq %r15
323 pushq %r14
324 leaq .LC7(%rip), %rdi
325 pushq %r13
326 pushq %r12
327 pushq %rbp
328 pushq %rbx
329 pxor %xmm0, %xmm0
330 subq $312, %rsp
331 movq _res_hconf@GOTPCREL(%rip), %rax
332 movups %xmm0, (%rax)
333 movq $0, 64(%rax)
334 movups %xmm0, 16(%rax)
335 movups %xmm0, 32(%rax)
336 movups %xmm0, 48(%rax)
337 call __GI_getenv
338 testq %rax, %rax
339 movq %rax, %rsi
340 leaq .LC6(%rip), %rax
341 cmovne %rsi, %rax
342 leaq .LC8(%rip), %rsi
343 movq %rax, %rdi
344 movq %rax, 16(%rsp)
345 call _IO_new_fopen@PLT
346 testq %rax, %rax
347 movq %rax, 8(%rsp)
348 je .L68
349 orl $32768, (%rax)
350 leaq 40(%rsp), %rax
351 leaq 48(%rsp), %rbx
352 movl $0, 4(%rsp)
353 movq %rax, 24(%rsp)
354 .p2align 4,,10
355 .p2align 3
356 .L69:
357 movq 8(%rsp), %rdx
358 movl $256, %esi
359 movq %rbx, %rdi
360 call __GI___fgets_unlocked
361 testq %rax, %rax
362 je .L158
363 movl $10, %esi
364 movq %rbx, %rdi
365 addl $1, 4(%rsp)
366 call __strchrnul@PLT
367 movb $0, (%rax)
368 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
369 movq %rbx, %rbp
370 movsbq 48(%rsp), %rdx
371 movq %fs:(%rax), %r13
372 movq %rdx, %rax
373 testb $32, 1(%r13,%rdx,2)
374 je .L70
375 .p2align 4,,10
376 .p2align 3
377 .L71:
378 addq $1, %rbp
379 movsbq 0(%rbp), %rdx
380 testb $32, 1(%r13,%rdx,2)
381 movq %rdx, %rax
382 jne .L71
383 .L70:
384 testb %al, %al
385 je .L69
386 cmpb $35, %al
387 je .L69
388 movzbl 0(%rbp), %eax
389 testb %al, %al
390 je .L102
391 movsbq %al, %rdx
392 movq %rbp, %r12
393 testb $32, 1(%r13,%rdx,2)
394 jne .L103
395 cmpb $44, %al
396 setne %dl
397 cmpb $35, %al
398 setne %al
399 testb %al, %dl
400 jne .L77
401 jmp .L103
402 .p2align 4,,10
403 .p2align 3
404 .L159:
405 cmpb $35, %al
406 setne %dl
407 cmpb $44, %al
408 setne %al
409 testb %al, %dl
410 je .L104
411 .L77:
412 addq $1, %r12
413 movzbl (%r12), %eax
414 testb %al, %al
415 je .L104
416 movsbq %al, %rdx
417 testb $32, 1(%r13,%rdx,2)
418 je .L159
419 .L104:
420 movq %r12, %r15
421 subq %rbp, %r15
422 .L75:
423 leaq cmd(%rip), %r14
424 .L84:
425 movq %r15, %rdx
426 movq %r14, %rsi
427 movq %rbp, %rdi
428 call __strncasecmp@PLT
429 testl %eax, %eax
430 jne .L79
431 movq %r14, %rdx
432 .L80:
433 movl (%rdx), %ecx
434 addq $4, %rdx
435 leal -16843009(%rcx), %eax
436 notl %ecx
437 andl %ecx, %eax
438 andl $-2139062144, %eax
439 je .L80
440 movl %eax, %ecx
441 shrl $16, %ecx
442 testl $32896, %eax
443 cmove %ecx, %eax
444 leaq 2(%rdx), %rcx
445 movl %eax, %esi
446 cmove %rcx, %rdx
447 addb %al, %sil
448 sbbq $3, %rdx
449 subq %r14, %rdx
450 cmpq %r15, %rdx
451 je .L155
452 .L79:
453 leaq 64+cmd(%rip), %rax
454 addq $16, %r14
455 cmpq %r14, %rax
456 jne .L84
457 leaq .LC14(%rip), %rsi
458 movl $5, %edx
459 .L157:
460 leaq __GI__libc_intl_domainname(%rip), %rdi
461 call __GI___dcgettext
462 movl 4(%rsp), %ecx
463 movq 16(%rsp), %rdx
464 movq %rax, %rsi
465 movq 24(%rsp), %rdi
466 xorl %eax, %eax
467 movq %rbp, %r8
468 call __GI___asprintf
469 testl %eax, %eax
470 js .L69
471 movq 40(%rsp), %rdx
472 leaq .LC1(%rip), %rsi
473 xorl %edi, %edi
474 xorl %eax, %eax
475 call __fxprintf
476 movq 40(%rsp), %rdi
477 call free@PLT
478 jmp .L69
479 .p2align 4,,10
480 .p2align 3
481 .L82:
482 addq $1, %r12
483 .L155:
484 movsbq (%r12), %rax
485 testb $32, 1(%r13,%rax,2)
486 jne .L82
487 movzbl 11(%r14), %eax
488 cmpb $1, %al
489 je .L160
490 cmpb $2, %al
491 jne .L69
492 movl 12(%r14), %ecx
493 movl 4(%rsp), %esi
494 movq %r12, %rdx
495 movq 16(%rsp), %rdi
496 call arg_bool
497 movq %rax, %rbp
498 .L87:
499 testq %rbp, %rbp
500 je .L69
501 movzbl 0(%rbp), %eax
502 testb %al, %al
503 je .L69
504 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rdi
505 movsbq %al, %rdx
506 movq %fs:(%rdi), %rcx
507 testb $32, 1(%rcx,%rdx,2)
508 je .L89
509 .p2align 4,,10
510 .p2align 3
511 .L90:
512 addq $1, %rbp
513 movzbl 0(%rbp), %eax
514 testb %al, %al
515 je .L69
516 movsbq %al, %rdx
517 testb $32, 1(%rcx,%rdx,2)
518 jne .L90
519 .L89:
520 cmpb $35, %al
521 je .L69
522 movl $5, %edx
523 leaq .LC9(%rip), %rsi
524 jmp .L157
525 .p2align 4,,10
526 .p2align 3
527 .L158:
528 movq 8(%rsp), %rdi
529 call _IO_new_fclose@PLT
530 .L68:
531 leaq .LC10(%rip), %rdi
532 call __GI_getenv
533 testq %rax, %rax
534 je .L94
535 leaq .LC10(%rip), %rdi
536 movl $16, %ecx
537 movq %rax, %rdx
538 movl $1, %esi
539 call arg_bool
540 .L94:
541 leaq .LC11(%rip), %rdi
542 call __GI_getenv
543 testq %rax, %rax
544 je .L95
545 leaq .LC11(%rip), %rdi
546 movl $8, %ecx
547 movq %rax, %rdx
548 movl $1, %esi
549 call arg_bool
550 .L95:
551 leaq .LC12(%rip), %rdi
552 call __GI_getenv
553 testq %rax, %rax
554 je .L96
555 leaq .LC12(%rip), %rdi
556 movq %rax, %rdx
557 movl $1, %esi
558 call arg_trimdomain_list
559 .L96:
560 leaq .LC13(%rip), %rdi
561 call __GI_getenv
562 testq %rax, %rax
563 je .L97
564 movq _res_hconf@GOTPCREL(%rip), %rdi
565 movq %rax, %rdx
566 movl $1, %esi
567 movl $0, 24(%rdi)
568 leaq .LC13(%rip), %rdi
569 call arg_trimdomain_list
570 .L97:
571 movq _res_hconf@GOTPCREL(%rip), %rax
572 movl $1, (%rax)
573 addq $312, %rsp
574 popq %rbx
575 popq %rbp
576 popq %r12
577 popq %r13
578 popq %r14
579 popq %r15
581 .p2align 4,,10
582 .p2align 3
583 .L160:
584 movl 4(%rsp), %esi
585 movq 16(%rsp), %rdi
586 movq %r12, %rdx
587 call arg_trimdomain_list
588 movq %rax, %rbp
589 jmp .L87
590 .L103:
591 xorl %r15d, %r15d
592 jmp .L75
593 .L102:
594 movq %rbp, %r12
595 xorl %r15d, %r15d
596 jmp .L75
597 .LFE89:
598 .size do_init, .-do_init
599 .p2align 4,,15
600 .globl _res_hconf_init
601 .hidden _res_hconf_init
602 .type _res_hconf_init, @function
603 _res_hconf_init:
604 .LFB90:
605 movl __libc_pthread_functions_init(%rip), %edx
606 testl %edx, %edx
607 je .L162
608 movq 128+__libc_pthread_functions(%rip), %rax
609 leaq do_init(%rip), %rsi
610 leaq once.14232(%rip), %rdi
611 #APP
612 # 327 "res_hconf.c" 1
613 ror $2*8+1, %rax
614 xor %fs:48, %rax
615 # 0 "" 2
616 #NO_APP
617 jmp *%rax
618 .p2align 4,,10
619 .p2align 3
620 .L162:
621 movl once.14232(%rip), %eax
622 testl %eax, %eax
623 je .L168
624 rep ret
625 .p2align 4,,10
626 .p2align 3
627 .L168:
628 subq $8, %rsp
629 call do_init
630 orl $2, once.14232(%rip)
631 addq $8, %rsp
633 .LFE90:
634 .size _res_hconf_init, .-_res_hconf_init
635 .section .rodata.str1.1
636 .LC15:
637 .string "res_hconf.c"
638 .LC16:
639 .string "ifaddrs != NULL"
640 .text
641 .p2align 4,,15
642 .globl _res_hconf_reorder_addrs
643 .type _res_hconf_reorder_addrs, @function
644 _res_hconf_reorder_addrs:
645 .LFB91:
646 movq _res_hconf@GOTPCREL(%rip), %rax
647 testb $8, 64(%rax)
648 je .L200
649 cmpl $2, 16(%rdi)
650 je .L203
651 .L200:
652 rep ret
653 .p2align 4,,10
654 .p2align 3
655 .L203:
656 pushq %r15
657 pushq %r14
658 pushq %r13
659 pushq %r12
660 pushq %rbp
661 pushq %rbx
662 movq %rdi, %rbx
663 subq $40, %rsp
664 movl num_ifs.14249(%rip), %ebp
665 testl %ebp, %ebp
666 jle .L204
667 .L173:
668 movq 24(%rbx), %r9
669 movq (%r9), %r8
670 testq %r8, %r8
671 je .L169
672 movq ifaddrs(%rip), %rax
673 movq %r8, %rdi
674 movq %r9, %r10
675 leaq 4(%rax), %r11
676 .L188:
677 movl (%rdi), %esi
678 movq %r11, %rax
679 xorl %edx, %edx
680 .p2align 4,,10
681 .p2align 3
682 .L187:
683 movl (%rax), %ecx
684 xorl %esi, %ecx
685 testl %ecx, 4(%rax)
686 je .L205
687 addl $1, %edx
688 addq $12, %rax
689 cmpl %edx, %ebp
690 jg .L187
691 addq $8, %r10
692 movq (%r10), %rdi
693 testq %rdi, %rdi
694 jne .L188
695 .L169:
696 addq $40, %rsp
697 popq %rbx
698 popq %rbp
699 popq %r12
700 popq %r13
701 popq %r14
702 popq %r15
704 .p2align 4,,10
705 .p2align 3
706 .L205:
707 movq %r8, (%r10)
708 movq %rdi, (%r9)
709 jmp .L169
710 .p2align 4,,10
711 .p2align 3
712 .L204:
713 movq __libc_errno@gottpoff(%rip), %rax
714 xorl %edx, %edx
715 movl $524290, %esi
716 movl $2, %edi
717 movl %fs:(%rax), %r13d
718 call __GI___socket
719 testl %eax, %eax
720 movl %eax, %r14d
721 js .L169
722 #APP
723 # 396 "res_hconf.c" 1
724 movl %fs:24,%eax
725 # 0 "" 2
726 #NO_APP
727 testl %eax, %eax
728 jne .L175
729 movl $1, %edx
730 #APP
731 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
732 cmpxchgl %edx, lock.14251(%rip)
733 # 0 "" 2
734 #NO_APP
735 .L176:
736 movl num_ifs.14249(%rip), %ebp
737 testl %ebp, %ebp
738 jle .L206
739 .L177:
740 #APP
741 # 469 "res_hconf.c" 1
742 movl %fs:24,%eax
743 # 0 "" 2
744 #NO_APP
745 testl %eax, %eax
746 jne .L184
747 subl $1, lock.14251(%rip)
748 .L185:
749 movl %r14d, %edi
750 call __GI___close
751 testl %ebp, %ebp
752 je .L169
753 jmp .L173
754 .p2align 4,,10
755 .p2align 3
756 .L206:
757 leaq 20(%rsp), %rsi
758 leaq 24(%rsp), %rdi
759 movl %r14d, %edx
760 call __ifreq
761 movq 24(%rsp), %r15
762 testq %r15, %r15
763 je .L190
764 movslq 20(%rsp), %rax
765 leaq (%rax,%rax,2), %rdi
766 salq $2, %rdi
767 call malloc@PLT
768 testq %rax, %rax
769 movq %rax, ifaddrs(%rip)
770 je .L191
771 movl 20(%rsp), %edx
772 testl %edx, %edx
773 jle .L192
774 xorl %ebp, %ebp
775 xorl %r8d, %r8d
776 jmp .L183
777 .p2align 4,,10
778 .p2align 3
779 .L181:
780 addq $40, %r15
781 addl $1, %r8d
782 cmpl %r8d, 20(%rsp)
783 jle .L180
784 .L183:
785 movslq %ebp, %rdx
786 leaq (%rdx,%rdx,2), %rcx
787 salq $2, %rcx
788 cmpw $2, 16(%r15)
789 movq %rcx, %r12
790 jne .L181
791 movl 20(%r15), %edx
792 addq %rcx, %rax
793 movl $35099, %esi
794 movl $2, (%rax)
795 movl %r14d, %edi
796 movq %rcx, 8(%rsp)
797 movl %r8d, 4(%rsp)
798 movl %edx, 4(%rax)
799 xorl %eax, %eax
800 movq %r15, %rdx
801 call __GI___ioctl
802 testl %eax, %eax
803 movl 4(%rsp), %r8d
804 movq 8(%rsp), %rcx
805 movq ifaddrs(%rip), %rax
806 js .L181
807 movl 20(%r15), %edx
808 addl $1, %ebp
809 addq $12, %r12
810 movl %edx, 8(%rax,%rcx)
811 jmp .L181
812 .L192:
813 xorl %r12d, %r12d
814 xorl %ebp, %ebp
815 .L180:
816 movq %r12, %rsi
817 movq %rax, %rdi
818 call realloc@PLT
819 testq %rax, %rax
820 movq %rax, ifaddrs(%rip)
821 je .L207
822 .L179:
823 movq 24(%rsp), %rdi
824 call free@PLT
825 movl %ebp, %eax
826 .L178:
827 movq __libc_errno@gottpoff(%rip), %rsi
828 movl %r13d, %fs:(%rsi)
829 movl %eax, num_ifs.14249(%rip)
830 jmp .L177
831 .L175:
832 xorl %eax, %eax
833 movl $1, %edx
834 lock cmpxchgl %edx, lock.14251(%rip)
835 je .L176
836 leaq lock.14251(%rip), %rdi
837 call __lll_lock_wait_private
838 jmp .L176
839 .L184:
840 xorl %eax, %eax
841 #APP
842 # 469 "res_hconf.c" 1
843 xchgl %eax, lock.14251(%rip)
844 # 0 "" 2
845 #NO_APP
846 cmpl $1, %eax
847 jle .L185
848 xorl %r10d, %r10d
849 movl $1, %edx
850 movl $129, %esi
851 leaq lock.14251(%rip), %rdi
852 movl $202, %eax
853 #APP
854 # 469 "res_hconf.c" 1
855 syscall
857 # 0 "" 2
858 #NO_APP
859 jmp .L185
860 .L190:
861 xorl %eax, %eax
862 xorl %ebp, %ebp
863 jmp .L178
864 .L191:
865 xorl %ebp, %ebp
866 jmp .L179
867 .L207:
868 leaq __PRETTY_FUNCTION__.14275(%rip), %rcx
869 leaq .LC15(%rip), %rsi
870 leaq .LC16(%rip), %rdi
871 movl $450, %edx
872 call __GI___assert_fail
873 .LFE91:
874 .size _res_hconf_reorder_addrs, .-_res_hconf_reorder_addrs
875 .p2align 4,,15
876 .globl _res_hconf_trim_domain
877 .type _res_hconf_trim_domain, @function
878 _res_hconf_trim_domain:
879 .LFB92:
880 pushq %r15
881 pushq %r14
882 pushq %r13
883 pushq %r12
884 pushq %rbp
885 pushq %rbx
886 subq $24, %rsp
887 movq %rdi, 8(%rsp)
888 call __GI_strlen
889 movq _res_hconf@GOTPCREL(%rip), %r13
890 movl 24(%r13), %r14d
891 testl %r14d, %r14d
892 jle .L208
893 movq %rax, %r12
894 xorl %ebx, %ebx
895 .p2align 4,,10
896 .p2align 3
897 .L211:
898 movq 32(%r13,%rbx,8), %r15
899 movq %r15, %rdi
900 call __GI_strlen
901 cmpq %rax, %r12
902 jbe .L210
903 movq %r12, %rbp
904 movq %r15, %rsi
905 subq %rax, %rbp
906 addq 8(%rsp), %rbp
907 movq %rbp, %rdi
908 call __GI___strcasecmp
909 testl %eax, %eax
910 je .L214
911 .L210:
912 addq $1, %rbx
913 cmpl %ebx, %r14d
914 jg .L211
915 .L208:
916 addq $24, %rsp
917 popq %rbx
918 popq %rbp
919 popq %r12
920 popq %r13
921 popq %r14
922 popq %r15
924 .p2align 4,,10
925 .p2align 3
926 .L214:
927 movb $0, 0(%rbp)
928 addq $24, %rsp
929 popq %rbx
930 popq %rbp
931 popq %r12
932 popq %r13
933 popq %r14
934 popq %r15
936 .LFE92:
937 .size _res_hconf_trim_domain, .-_res_hconf_trim_domain
938 .p2align 4,,15
939 .globl _res_hconf_trim_domains
940 .type _res_hconf_trim_domains, @function
941 _res_hconf_trim_domains:
942 .LFB93:
943 movq _res_hconf@GOTPCREL(%rip), %rax
944 movl 24(%rax), %eax
945 testl %eax, %eax
946 jne .L226
947 rep ret
948 .p2align 4,,10
949 .p2align 3
950 .L226:
951 pushq %rbp
952 pushq %rbx
953 movq %rdi, %rbp
954 subq $8, %rsp
955 movq (%rdi), %rdi
956 call _res_hconf_trim_domain@PLT
957 movq 8(%rbp), %rax
958 movq (%rax), %rdi
959 testq %rdi, %rdi
960 je .L215
961 movl $8, %ebx
962 .p2align 4,,10
963 .p2align 3
964 .L217:
965 call _res_hconf_trim_domain@PLT
966 movq 8(%rbp), %rax
967 movq (%rax,%rbx), %rdi
968 addq $8, %rbx
969 testq %rdi, %rdi
970 jne .L217
971 .L215:
972 addq $8, %rsp
973 popq %rbx
974 popq %rbp
976 .LFE93:
977 .size _res_hconf_trim_domains, .-_res_hconf_trim_domains
978 .section .rodata.str1.16,"aMS",@progbits,1
979 .align 16
980 .type __PRETTY_FUNCTION__.14275, @object
981 .size __PRETTY_FUNCTION__.14275, 25
982 __PRETTY_FUNCTION__.14275:
983 .string "_res_hconf_reorder_addrs"
984 .local lock.14251
985 .comm lock.14251,4,4
986 .data
987 .align 4
988 .type num_ifs.14249, @object
989 .size num_ifs.14249, 4
990 num_ifs.14249:
991 .long -1
992 .local once.14232
993 .comm once.14232,4,4
994 .section __libc_freeres_ptrs
995 #,"aw",@progbits
996 .align 8
997 .type ifaddrs, @object
998 .size ifaddrs, 8
999 ifaddrs:
1000 .zero 8
1001 .comm _res_hconf,72,32
1002 .section .rodata
1003 .align 32
1004 .type cmd, @object
1005 .size cmd, 64
1006 cmd:
1007 .string "order"
1008 .zero 5
1009 .byte 0
1010 .long 0
1011 .string "trim"
1012 .zero 6
1013 .byte 1
1014 .long 0
1015 .string "multi"
1016 .zero 5
1017 .byte 2
1018 .long 16
1019 .string "reorder"
1020 .zero 3
1021 .byte 2
1022 .long 8
1023 .hidden __lll_lock_wait_private
1024 .hidden __ifreq
1025 .hidden __libc_pthread_functions
1026 .hidden __libc_pthread_functions_init
1027 .hidden __fxprintf