Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 899273 Details for
Bug 937331
net-misc/iperf-3.17.1, bad immediate value for 8-bit offset, on ARM MUSL
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
.s file
libiperf_la-iperf_server_api.s (text/plain), 34.38 KB, created by
Marius Dinu
on 2024-08-06 08:54:17 UTC
(
hide
)
Description:
.s file
Filename:
MIME Type:
Creator:
Marius Dinu
Created:
2024-08-06 08:54:17 UTC
Size:
34.38 KB
patch
obsolete
> .cpu cortex-a17 > .arch armv7-a > .arch_extension virt > .arch_extension idiv > .arch_extension sec > .arch_extension mp > .fpu neon > .eabi_attribute 28, 1 > .eabi_attribute 20, 1 > .eabi_attribute 21, 1 > .eabi_attribute 23, 3 > .eabi_attribute 24, 1 > .eabi_attribute 25, 1 > .eabi_attribute 26, 2 > .eabi_attribute 30, 2 > .eabi_attribute 34, 1 > .eabi_attribute 18, 4 > .file "iperf_server_api.c" > .text > .align 2 > .syntax unified > .arm > .type server_stats_timer_proc, %function >server_stats_timer_proc: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > @ link register save eliminated. > ldr r2, [r0, #544] > cmp r2, #0 > bne .L1 > ldr r3, [r0, #528] > cmp r3, #0 > beq .L1 > bx r3 @ indirect register sibling call >.L1: > bx lr > .size server_stats_timer_proc, .-server_stats_timer_proc > .align 2 > .syntax unified > .arm > .type server_reporter_timer_proc, %function >server_reporter_timer_proc: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > @ link register save eliminated. > ldr r2, [r0, #544] > cmp r2, #0 > bne .L7 > ldr r3, [r0, #532] > cmp r3, #0 > beq .L7 > bx r3 @ indirect register sibling call >.L7: > bx lr > .size server_reporter_timer_proc, .-server_reporter_timer_proc > .align 2 > .global iperf_server_worker_run > .syntax unified > .arm > .type iperf_server_worker_run, %function >iperf_server_worker_run: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > mov ip, #4096 > strd r4, [sp, #-16]! > sub ip, sp, ip > str r6, [sp, #8] > str lr, [sp, #12] > str r0, [ip, #4080] > mov r4, r0 > ldr r5, [r4] > mov r1, #0 > mov r0, #1 > bl pthread_setcanceltype(PLT) > mov r1, #0 > mov r0, r1 > bl pthread_setcancelstate(PLT) > ldr r3, [r5, #544] > cmp r3, #0 > beq .L13 > b .L20 >.L24: > bl iperf_send_mt(PLT) > cmp r0, #0 > blt .L20 >.L16: > ldr r3, [r5, #544] > cmp r3, #0 > bne .L20 >.L13: > ldr r3, [r4, #8] > mov r0, r4 > cmp r3, #0 > bne .L20 > ldr r3, [r4, #28] > cmp r3, #0 > bne .L24 > mov r0, r4 > bl iperf_recv_mt(PLT) > cmp r0, #0 > bge .L16 >.L20: > ldrd r4, [sp] > ldr r6, [sp, #8] > add sp, sp, #12 > mov r0, #0 > ldr pc, [sp], #4 > .size iperf_server_worker_run, .-iperf_server_worker_run > .align 2 > .syntax unified > .arm > .type server_timer_proc, %function >server_timer_proc: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > ldr r3, [r0, #544] > mov r2, #0 > str r2, [r0, #540] > cmp r3, r2 > bxne lr > mov ip, #4096 > strd r4, [sp, #-16]! > sub ip, sp, ip > str r6, [sp, #8] > str lr, [sp, #12] > str r0, [ip, #4080] > ldr r4, [r0, #732] > mov r3, #1 > mov r5, r0 > str r3, [r0, #544] > cmp r4, r2 > beq .L27 >.L28: > ldr r3, [r4, #432] > ldr r0, [r4, #20] > str r3, [r5, #732] > bl close(PLT) > mov r0, r4 > bl iperf_free_stream(PLT) > ldr r4, [r5, #732] > cmp r4, #0 > bne .L28 >.L27: > ldr r0, [r5, #132] > bl close(PLT) > mvn r3, #0 > ldr r6, [sp, #8] > str r3, [r5, #132] > ldrd r4, [sp] > add sp, sp, #12 > ldr pc, [sp], #4 > .size server_timer_proc, .-server_timer_proc > .section .rodata.str1.4,"aMS",%progbits,1 > .align 2 >.LC0: > .ascii "%s\000" > .text > .align 2 > .syntax unified > .arm > .type server_omit_timer_proc, %function >server_omit_timer_proc: > @ args = 0, pretend = 0, frame = 8 > @ frame_needed = 0, uses_anonymous_args = 0 > mov ip, #4096 > strd r4, [sp, #-16]! > sub ip, sp, ip > str r6, [sp, #8] > str lr, [sp, #12] > str r0, [ip, #4072] > mov r3, #0 > sub sp, sp, #8 > mov r4, r0 > str r3, [r0, #504] > str r3, [r0, #536] > mov r5, r1 > bl iperf_reset_stats(PLT) > ldr r3, [r4, #188] > ldr r6, .L49 > cmp r3, #0 >.LPIC0: > add r6, pc, r6 > beq .L38 > ldr r3, [r4, #192] > cmp r3, #0 > beq .L48 >.L38: > ldr r1, [r4, #548] > cmp r1, #0 > beq .L39 > mov r0, r5 > bl tmr_reset(PLT) >.L39: > ldr r1, [r4, #552] > cmp r1, #0 > beq .L37 > mov r0, r5 > add sp, sp, #8 > ldrd r4, [sp] > ldr r6, [sp, #8] > ldr lr, [sp, #12] > @ sp needed > add sp, sp, #16 > b tmr_reset(PLT) >.L48: > vldr.64 d16, [r4, #520] > vcmp.f64 d16, #0 > vmrs APSR_nzcv, FPSCR > bne .L38 > ldr r3, .L49+4 > ldr r1, .L49+8 > mov r0, r4 > ldr r3, [r6, r3] >.LPIC1: > add r1, pc, r1 > mov r2, r3 > str r3, [sp, #4] > bl iperf_printf(PLT) > b .L38 >.L37: > add sp, sp, #8 > ldrd r4, [sp] > ldr r6, [sp, #8] > @ sp needed > add sp, sp, #12 > ldr pc, [sp], #4 >.L50: > .align 2 >.L49: > .word _GLOBAL_OFFSET_TABLE_-(.LPIC0+8) > .word report_omit_done(GOT) > .word .LC0-(.LPIC1+8) > .size server_omit_timer_proc, .-server_omit_timer_proc > .section .rodata.str1.4 > .align 2 >.LC1: > .ascii "cleanup_server in pthread_cancel - %s\000" > .align 2 >.LC2: > .ascii "cleanup_server in pthread_join - %s\000" > .align 2 >.LC3: > .ascii "Thread FD %d stopped\012\000" > .align 2 >.LC4: > .ascii "All threads stopped\012\000" > .text > .align 2 > .syntax unified > .arm > .type cleanup_server, %function >cleanup_server: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > mov ip, #4096 > strd r4, [sp, #-36]! > sub ip, sp, ip > strd r6, [sp, #8] > strd r8, [sp, #16] > strd r10, [sp, #24] > str lr, [sp, #32] > str r0, [ip, #4056] > ldr r3, .L102 > ldr r2, .L102+4 > ldr r4, [r0, #732] > sub sp, sp, #4 > mov r6, r0 >.LPIC2: > add r3, pc, r3 > ldr r7, [r3, r2] > cmp r4, #0 > ldr fp, [r7] > beq .L52 > ldr r10, .L102+8 > ldr r9, .L102+12 > ldr r8, .L102+16 >.LPIC3: > add r10, pc, r10 >.LPIC4: > add r9, pc, r9 >.LPIC5: > add r8, pc, r8 > b .L56 >.L53: > ldr r0, [r4, #4] > mov r1, #0 > bl pthread_join(PLT) > cmp r0, #0 > cmpne r0, #3 > mov r5, r0 > bne .L99 >.L54: > ldr r3, [r6, #208] > cmp r3, #2 > bhi .L100 > ldr r4, [r4, #432] > cmp r4, #0 > beq .L52 >.L56: > mov r3, #1 > ldr r0, [r4, #4] > str r3, [r4, #8] > bl pthread_cancel(PLT) > cmp r0, #0 > cmpne r0, #3 > mov r5, r0 > beq .L53 > mov r3, #151 > str r3, [r7] > bl __errno_location(PLT) > str r5, [r0] > ldr r0, [r7] > bl iperf_strerror(PLT) > mov r1, r10 > mov r2, r0 > mov r0, r6 > bl iperf_err(PLT) > b .L53 >.L100: > ldr r2, [r4, #20] > mov r1, r8 > mov r0, r6 > bl iperf_printf(PLT) > ldr r4, [r4, #432] > cmp r4, #0 > bne .L56 >.L52: > ldr r3, [r6, #208] > str fp, [r7] > cmp r3, #2 > bhi .L101 >.L57: > ldr r4, [r6, #732] > cmp r4, #0 > beq .L58 > mov r7, #1 > mvn r5, #0 >.L60: > ldr r0, [r4, #20] > lsr r3, r0, #5 > and r2, r0, #31 > cmp r0, #0 > mvn r2, r7, lsl r2 > add r3, r6, r3, lsl #2 > blt .L59 > ldr ip, [r3, #248] > ldr r1, [r3, #376] > and ip, ip, r2 > and r2, r2, r1 > str ip, [r3, #248] > str r2, [r3, #376] > bl close(PLT) > str r5, [r4, #20] >.L59: > ldr r4, [r4, #432] > cmp r4, #0 > bne .L60 >.L58: > ldr r0, [r6, #132] > cmp r0, #0 > blt .L61 > bl close(PLT) > mvn r3, #0 > str r3, [r6, #132] >.L61: > ldr r0, [r6, #140] > cmp r0, #0 > blt .L62 > bl close(PLT) > mvn r3, #0 > str r3, [r6, #140] >.L62: > ldr r0, [r6, #144] > cmp r0, #0 > blt .L63 > bl close(PLT) > mvn r3, #0 > str r3, [r6, #144] >.L63: > ldr r0, [r6, #548] > cmp r0, #0 > beq .L64 > bl tmr_cancel(PLT) > mov r3, #0 > str r3, [r6, #548] >.L64: > ldr r0, [r6, #552] > cmp r0, #0 > beq .L65 > bl tmr_cancel(PLT) > mov r3, #0 > str r3, [r6, #552] >.L65: > ldr r0, [r6, #536] > cmp r0, #0 > beq .L66 > bl tmr_cancel(PLT) > mov r3, #0 > str r3, [r6, #536] >.L66: > ldr r0, [r6, #112] > cmp r0, #0 > beq .L67 > bl free(PLT) > mov r3, #0 > str r3, [r6, #112] >.L67: > ldr r0, [r6, #540] > cmp r0, #0 > beq .L51 > bl tmr_cancel(PLT) > mov r3, #0 > str r3, [r6, #540] >.L51: > add sp, sp, #4 > ldrd r4, [sp] > ldrd r6, [sp, #8] > ldrd r8, [sp, #16] > ldrd r10, [sp, #24] > @ sp needed > add sp, sp, #32 > ldr pc, [sp], #4 >.L99: > mov r3, #152 > str r3, [r7] > bl __errno_location(PLT) > str r5, [r0] > ldr r0, [r7] > bl iperf_strerror(PLT) > mov r1, r9 > mov r2, r0 > mov r0, r6 > bl iperf_err(PLT) > b .L54 >.L101: > ldr r1, .L102+20 > mov r0, r6 >.LPIC6: > add r1, pc, r1 > bl iperf_printf(PLT) > b .L57 >.L103: > .align 2 >.L102: > .word _GLOBAL_OFFSET_TABLE_-(.LPIC2+8) > .word i_errno(GOT) > .word .LC1-(.LPIC3+8) > .word .LC2-(.LPIC4+8) > .word .LC3-(.LPIC5+8) > .word .LC4-(.LPIC6+8) > .size cleanup_server, .-cleanup_server > .section .rodata.str1.4 > .align 2 >.LC5: > .ascii "this system does not seem to support IPv6 - trying " > .ascii "IPv4\000" > .align 2 >.LC6: > .ascii "---------------------------------------------------" > .ascii "--------\012\000" > .align 2 >.LC7: > .ascii "Server listening on %d (test #%d)\012\000" > .text > .align 2 > .global iperf_server_listen > .syntax unified > .arm > .type iperf_server_listen, %function >iperf_server_listen: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > mov ip, #4096 > strd r4, [sp, #-24]! > sub ip, sp, ip > strd r6, [sp, #8] > str r8, [sp, #16] > str lr, [sp, #20] > str r0, [ip, #4064] > ldr r6, .L122 > ldr r8, .L122+4 > ldr r3, [r0, #736] > mov r4, r0 > sub sp, sp, #8 > mov r7, #2 >.LPIC8: > add r8, pc, r8 >.LPIC7: > add r6, pc, r6 > ldr r0, [r3] > b .L105 >.L120: > bl __errno_location(PLT) > ldr r3, [r0] > mov r0, r6 > cmp r3, #97 > bne .L107 > ldr r3, [r4, #736] > ldr r3, [r3] > cmp r3, #0 > cmpne r3, #10 > bne .L107 > bl warning(PLT) > ldr r3, [r4, #736] > mov r0, #2 > str r7, [r3] >.L105: > ldr ip, [r4, #76] > ldrd r2, [r4, #56] > mov r1, #1 > str ip, [sp] > bl netannounce(PLT) > cmp r0, #0 > mov r5, r0 > str r0, [r4, #140] > blt .L120 > ldr r3, [r4, #192] > cmp r3, #0 > bne .L109 > ldr r3, [r4, #676] > cmp r3, #2 > beq .L121 > ldr r3, [r4, #688] > add r3, r3, #1 > str r3, [r4, #688] >.L111: > ldr r5, .L122+8 > mov r0, r4 >.LPIC9: > add r5, pc, r5 > mov r1, r5 > bl iperf_printf(PLT) > ldr r1, .L122+12 > ldr r3, [r4, #688] > ldr r2, [r4, #76] > mov r0, r4 >.LPIC10: > add r1, pc, r1 > bl iperf_printf(PLT) > mov r1, r5 > mov r0, r4 > bl iperf_printf(PLT) > ldr r3, [r4, #220] > cmp r3, #0 > bne .L112 >.L119: > ldr r5, [r4, #140] >.L109: > mov r2, #128 > mov r1, #0 > add r0, r4, #248 > bl memset(PLT) > mov r2, #128 > mov r1, #0 > add r0, r4, #376 > bl memset(PLT) > lsr r3, r5, #5 > mov r0, #1 > and r1, r5, #31 > add r3, r4, r3, lsl #2 > ldr r2, [r3, #248] > orr r2, r2, r0, lsl r1 > mov r0, #0 > str r2, [r3, #248] > ldr r3, [r4, #244] > cmp r3, r5 > strlt r5, [r4, #244] > b .L104 >.L107: > ldr r3, .L122+16 > mov r2, #102 > mvn r0, #0 > ldr r3, [r8, r3] > str r2, [r3] >.L104: > add sp, sp, #8 > ldrd r4, [sp] > ldrd r6, [sp, #8] > ldr r8, [sp, #16] > @ sp needed > add sp, sp, #20 > ldr pc, [sp], #4 >.L121: > ldr r3, [r4, #204] > cmp r3, #0 > beq .L109 > b .L111 >.L112: > mov r0, r4 > bl iflush(PLT) > b .L119 >.L123: > .align 2 >.L122: > .word .LC5-(.LPIC7+8) > .word _GLOBAL_OFFSET_TABLE_-(.LPIC8+8) > .word .LC6-(.LPIC9+8) > .word .LC7-(.LPIC10+8) > .word i_errno(GOT) > .size iperf_server_listen, .-iperf_server_listen > .section .rodata.str1.4 > .align 2 >.LC8: > .ascii "failed to send ACCESS_DENIED to an unsolicited conn" > .ascii "ection request during active test\000" > .align 2 >.LC9: > .ascii "successfully sent ACCESS_DENIED to an unsolicited c" > .ascii "onnection request during active test\000" > .text > .align 2 > .global iperf_accept > .syntax unified > .arm > .type iperf_accept, %function >iperf_accept: > @ args = 0, pretend = 0, frame = 144 > @ frame_needed = 0, uses_anonymous_args = 0 > mov ip, #4096 > strd r4, [sp, #-20]! > sub ip, sp, ip > strd r6, [sp, #8] > str lr, [sp, #16] > str r0, [ip, #3920] > ldr r6, .L159 > sub sp, sp, #156 > mvn r1, #0 > mov r3, #128 > strb r1, [sp, #11] > mov r4, r0 > add r2, sp, #12 > ldr r0, [r0, #140] > add r1, sp, #24 > str r3, [sp, #12] > bl accept(PLT) > subs r5, r0, #0 >.LPIC12: > add r6, pc, r6 > blt .L152 > ldr r3, [r4, #132] > cmn r3, #1 > beq .L153 > mov r3, #1 > add r1, sp, #11 > mov r2, r3 > bl Nwrite(PLT) > cmp r0, #0 > ldr r3, [r4, #204] > blt .L154 > cmp r3, #0 > bne .L155 >.L140: > mov r0, r5 > bl close(PLT) >.L141: > mov r0, #0 >.L124: > add sp, sp, #156 > ldrd r4, [sp] > ldrd r6, [sp, #8] > @ sp needed > add sp, sp, #16 > ldr pc, [sp], #4 >.L154: > cmp r3, #0 > beq .L140 > ldr r0, .L159+4 >.LPIC13: > add r0, pc, r0 > bl puts(PLT) > b .L140 >.L153: > mov r7, #4 > mov r2, #1 > str r5, [r4, #132] > add r3, sp, #16 > mov r1, #6 > str r7, [sp] > str r2, [sp, #16] > bl setsockopt(PLT) > cmp r0, #0 > bne .L156 > ldr r3, [r4, #736] > ldr r3, [r3, #132] > cmp r3, #0 > str r3, [sp, #20] > bne .L157 >.L130: > ldr r0, [r4, #132] > mov r3, #1 > mov r2, #37 > add r1, r4, #692 > bl Nread(PLT) > cmp r0, #37 > bne .L158 > ldr r2, [r4, #132] > mov ip, #1 > lsr r3, r2, #5 > and r0, r2, #31 > add r3, r4, r3, lsl #2 > ldr r1, [r3, #248] > orr r1, r1, ip, lsl r0 > mov r0, r4 > str r1, [r3, #248] > ldr r3, [r4, #244] > mov r1, #9 > cmp r2, r3 > strgt r2, [r4, #244] > bl iperf_set_send_state(PLT) > cmp r0, #0 > bne .L126 > mov r0, r4 > bl iperf_exchange_parameters(PLT) > cmp r0, #0 > blt .L126 > ldr r1, [r4, #96] > cmn r1, #1 > bne .L134 >.L137: > ldr r3, [r4, #752] > cmp r3, #0 > beq .L141 > mov r0, r4 > blx r3 > b .L141 >.L157: > add r3, sp, #20 > mov r0, r5 > mov r2, #18 > mov r1, #6 > str r7, [sp] > bl setsockopt(PLT) > cmp r0, #0 > bge .L130 > ldr r3, .L159+8 > mov r2, #148 > ldr r3, [r6, r3] > str r2, [r3] >.L126: > mvn r0, #0 > b .L124 >.L134: > mov r0, r4 > bl iperf_setaffinity(PLT) > cmp r0, #0 > beq .L137 > b .L126 >.L155: > ldr r0, .L159+12 >.LPIC14: > add r0, pc, r0 > bl puts(PLT) > b .L140 >.L152: > ldr r3, .L159+8 > mov r2, #104 > ldr r3, [r6, r3] > str r2, [r3] > b .L126 >.L158: > ldr r3, .L159+8 > mov r2, #106 > ldr r3, [r6, r3] > str r2, [r3] > b .L126 >.L156: > ldr r3, .L159+8 > mov r2, #122 > ldr r3, [r6, r3] > str r2, [r3] > b .L126 >.L160: > .align 2 >.L159: > .word _GLOBAL_OFFSET_TABLE_-(.LPIC12+8) > .word .LC8-(.LPIC13+8) > .word i_errno(GOT) > .word .LC9-(.LPIC14+8) > .size iperf_accept, .-iperf_accept > .section .rodata.str1.4 > .align 2 >.LC10: > .ascii "the client has unexpectedly closed the connection\000" > .align 2 >.LC11: > .ascii "the client has terminated\000" > .text > .align 2 > .global iperf_handle_message_server > .syntax unified > .arm > .type iperf_handle_message_server, %function >iperf_handle_message_server: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > mov ip, #4096 > strd r4, [sp, #-16]! > sub ip, sp, ip > str r6, [sp, #8] > str lr, [sp, #12] > str r0, [ip, #4080] > ldr r5, .L191 > mov r3, #1 > add r1, r0, #44 > mov r4, r0 > mov r2, r3 > ldr r0, [r0, #132] > bl Nread(PLT) > cmp r0, #0 >.LPIC16: > add r5, pc, r5 > ble .L190 > ldrsb r3, [r4, #44] > ldr r2, .L191+4 > sub r3, r3, #1 >.LPIC17: > add r2, pc, r2 > cmp r3, #15 > bhi .L166 > ldrb r3, [r2, r3] > add pc, pc, r3, lsl #2 >.Lrtx167: > nop > .section .rodata >.L167: > .byte (.L164-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L169-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L168-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L166-.Lrtx167-4)/4 > .byte (.L164-.Lrtx167-4)/4 > .text > .p2align 2 >.L190: > bne .L163 > ldr r1, .L191+8 > mov r0, r4 >.LPIC15: > add r1, pc, r1 > bl iperf_err(PLT) > ldr r3, .L191+12 > mov r2, #109 > mov r1, #16 > ldr r3, [r5, r3] > strb r1, [r4, #44] > str r2, [r3] >.L164: > ldrd r4, [sp] > ldr r6, [sp, #8] > add sp, sp, #12 > mov r0, #0 > ldr pc, [sp], #4 >.L166: > ldr r3, .L191+12 > mov r2, #110 > ldr r3, [r5, r3] > str r2, [r3] >.L165: > ldrd r4, [sp] > ldr r6, [sp, #8] > add sp, sp, #12 > mvn r0, #0 > ldr pc, [sp], #4 >.L169: > mov r6, #1 > add r0, r4, #560 > str r6, [r4, #544] > bl cpu_util(PLT) > ldr r3, [r4, #528] > mov r0, r4 > blx r3 > ldr r5, [r4, #732] > cmp r5, #0 > beq .L170 >.L171: > ldr r0, [r5, #20] > lsr r3, r0, #5 > and r2, r0, #31 > mvn r2, r6, lsl r2 > add r3, r4, r3, lsl #2 > ldr r1, [r3, #248] > and r1, r1, r2 > str r1, [r3, #248] > ldr r1, [r3, #376] > and r2, r2, r1 > str r2, [r3, #376] > bl close(PLT) > ldr r5, [r5, #432] > cmp r5, #0 > bne .L171 >.L170: > ldr r3, [r4, #532] > mov r0, r4 > blx r3 > mov r1, #13 > mov r0, r4 > bl iperf_set_send_state(PLT) > cmp r0, #0 > bne .L165 > mov r0, r4 > bl iperf_exchange_results(PLT) > cmp r0, #0 > blt .L165 > mov r1, #14 > mov r0, r4 > bl iperf_set_send_state(PLT) > cmp r0, #0 > bne .L165 > ldr r3, [r4, #756] > cmp r3, #0 > beq .L164 > mov r0, r4 > blx r3 > b .L164 >.L168: > ldr r3, .L191+12 > mov r2, #119 > add r0, r4, #560 > ldr r3, [r5, r3] > str r2, [r3] > bl cpu_util(PLT) > mov r2, #14 > ldr r3, [r4, #532] > mov r0, r4 > strb r2, [r4, #44] > blx r3 > ldr r1, .L191+16 > mov r3, #12 > mov r0, r4 > strb r3, [r4, #44] >.LPIC18: > add r1, pc, r1 > bl iperf_err(PLT) > ldr r5, [r4, #732] > cmp r5, #0 > beq .L175 > mov r6, #1 >.L176: > ldr r0, [r5, #20] > lsr r3, r0, #5 > and r2, r0, #31 > mvn r2, r6, lsl r2 > add r3, r4, r3, lsl #2 > ldr r1, [r3, #248] > and r1, r1, r2 > str r1, [r3, #248] > ldr r1, [r3, #376] > and r2, r2, r1 > str r2, [r3, #376] > bl close(PLT) > ldr r5, [r5, #432] > cmp r5, #0 > bne .L176 >.L175: > mov r3, #16 > strb r3, [r4, #44] > b .L164 >.L163: > ldr r3, .L191+12 > mov r2, #112 > ldr r3, [r5, r3] > str r2, [r3] > b .L165 >.L192: > .align 2 >.L191: > .word _GLOBAL_OFFSET_TABLE_-(.LPIC16+8) > .word .L167-(.LPIC17+8) > .word .LC10-(.LPIC15+8) > .word i_errno(GOT) > .word .LC11-(.LPIC18+8) > .size iperf_handle_message_server, .-iperf_handle_message_server > .section .rodata.str1.4 > .align 2 >.LC12: > .ascii "version\000" > .align 2 >.LC13: > .ascii "system_info\000" > .align 2 >.LC14: > .ascii "%s\012\000" > .align 2 >.LC15: > .ascii "\000" > .align 2 >.LC16: > .ascii "Server restart (#%d) in idle state as no connection" > .ascii " request was received for %d sec\012\000" > .align 2 >.LC17: > .ascii "No connection request was received for %d sec in on" > .ascii "e-off mode; exiting.\012\000" > .align 2 >.LC18: > .ascii "Server restart (#%d) during active test due to idle" > .ascii " timeout for receiving data\000" > .align 2 >.LC19: > .ascii "TCP congestion control algorithm not supported\000" > .align 2 >.LC20: > .ascii "unknown\000" > .align 2 >.LC21: > .ascii "Congestion algorithm is %s\012\000" > .align 2 >.LC22: > .ascii "Client total requested throughput rate of %llu bps " > .ascii "exceeded %llu bps limit\000" > .align 2 >.LC23: > .ascii "Thread FD %d created\012\000" > .align 2 >.LC24: > .ascii "All threads created\012\000" > .text > .align 2 > .global iperf_run_server > .syntax unified > .arm > .type iperf_run_server, %function >iperf_run_server: > @ args = 0, pretend = 0, frame = 400 > @ frame_needed = 0, uses_anonymous_args = 0 > mov ip, #4096 > strd r4, [sp, #-36]! > sub ip, sp, ip > strd r6, [sp, #8] > strd r8, [sp, #16] > strd r10, [sp, #24] > str lr, [sp, #32] > str r0, [ip, #3640] > ldr r3, .L429+8 > sub sp, sp, #420 > mov r4, r0 >.LPIC19: > add r3, pc, r3 > str r3, [sp, #56] > ldr r3, [r0, #124] > cmp r3, #0 > beq .L198 > bl iperf_open_logfile(PLT) > cmp r0, #0 > blt .L197 >.L198: > ldr r1, [r4, #92] > cmn r1, #1 > bne .L401 >.L196: > ldr r3, [r4, #192] > cmp r3, #0 > bne .L402 >.L200: > ldr r3, [r4, #188] > cmp r3, #0 > bne .L403 >.L202: > mov r0, r4 > bl iperf_server_listen(PLT) > cmp r0, #0 > blt .L201 > add r3, sp, #88 > add r10, sp, #160 > mov r0, r3 > str r3, [sp, #32] > bl iperf_time_now(PLT) > ldr r3, [r4, #736] > mov r2, #15 > movw lr, #16960 > movt lr, 15 > strb r2, [r4, #44] > vmov.i32 d16, #0 @ di > str lr, [sp, #48] > ldr r1, [r3, #136] > ldr r2, [r3, #140] > mov r3, #0 > mov r0, r3 > mov fp, r3 > vstr.64 d16, [sp, #16] @ int > str r3, [sp, #44] > umlal r2, r0, r1, lr > str r3, [sp, #52] > str r3, [sp, #60] > str r2, [sp, #36] > add r2, r4, #248 > str r0, [sp, #40] > str r2, [sp, #28] > b .L288 >.L211: > bne .L213 > mov r0, r6 > add r5, sp, #96 > bl iperf_time_now(PLT) > ldr r1, [sp, #32] > mov r2, r5 > mov r0, r6 > bl iperf_time_diff(PLT) > cmp r0, #0 > beq .L404 >.L214: > add r1, r4, #640 >.L397: > dmb ish > ldrd r2, r3, [r4, #640] > dmb ish > ldr r0, [sp, #16] > cmp r0, r2 > ldr r0, [sp, #20] > sbcs r3, r0, r3 > bcc .L405 >.L294: > mov r0, r6 > bl iperf_time_now(PLT) > mov r0, r6 > bl tmr_run(PLT) >.L287: > ldrsb r3, [r4, #44] > cmp r3, #16 > beq .L406 >.L288: > ldr r8, [r4, #672] > cmp r8, #0 > bne .L265 > ldr r1, [sp, #28] > mov r2, #128 > mov r0, r10 > add r7, sp, #288 > bl memcpy(PLT) > add r6, sp, #80 > mov r2, #128 > add r1, r4, #376 > mov r0, r7 > bl memcpy(PLT) > mov r0, r6 > bl iperf_time_now(PLT) > mov r0, r6 > bl tmr_timeout(PLT) > ldrsb r3, [r4, #44] > mov r5, r0 > cmp r3, #15 > beq .L407 > ldr r3, [r4, #28] > cmp r3, #1 > beq .L206 > cmp r0, #0 > beq .L209 > vld1.64 {d6-d7}, [r0:64] > vmov lr, s13 @ int > vstr d6, [sp, #104] > vstr d7, [sp, #112] > vmov ip, s12 @ int > lsl r1, lr, #5 > lsl r3, ip, #5 > orr r1, r1, ip, lsr #27 > subs r3, r3, ip > sbc r1, r1, lr > lsl r1, r1, #9 > orr r1, r1, r3, lsr #23 > lsl r3, r3, #9 > adds r3, r3, ip > adc r1, r1, lr > lsl r2, r3, #6 > lsl r0, r1, #6 > subs r2, r2, r3 > orr r0, r0, r3, lsr #26 > sbc r0, r0, r1 > adds r1, r2, ip > vmov r2, r3, d7 @ v2di > adc r0, r0, lr > adds r1, r1, r2 > ldr r2, [sp, #48] > adc r0, r0, r3 > cmp r2, r1 > sbcs r3, r8, r0 > ldr r3, [sp, #36] > movlt r1, r2 > movlt r0, r8 > cmp r3, r1 > ldr r3, [sp, #40] > sbcs r0, r3, r0 > bcc .L209 >.L208: > add r5, sp, #104 >.L206: > str r5, [sp] > ldr r0, [r4, #244] > mov r2, r7 > mov r3, #0 > mov r1, r10 > add r0, r0, #1 > bl __select_time64(PLT) > subs r7, r0, #0 > bge .L211 > bl __errno_location(PLT) > ldr r3, [r0] > cmp r3, #4 > bne .L408 > add r1, r4, #640 > dmb ish > ldrd r2, r3, [r4, #640] > dmb ish > ldr r0, [sp, #16] > cmp r0, r2 > ldr r0, [sp, #20] > sbcs r3, r0, r3 > bcc .L226 >.L228: > cmp r5, #0 > beq .L287 > ldr r3, [r5] > ldr r2, [r5, #4] > orrs r3, r3, r2 > bne .L287 > ldr r3, [r5, #8] > ldr r2, [r5, #12] > orrs r3, r3, r2 > beq .L294 > ldrsb r3, [r4, #44] > cmp r3, #16 > bne .L288 >.L406: > ldr r2, [r4, #192] > cmp r2, #0 > beq .L291 > mov r0, r4 > bl iperf_json_finish(PLT) > cmp r0, #0 > blt .L204 >.L291: > mov r0, r4 > bl iflush(PLT) > mov r0, r4 > bl cleanup_server(PLT) > ldr r2, [r4, #96] > cmn r2, #1 > beq .L193 > mov r0, r4 > bl iperf_clearaffinity(PLT) > subs r3, r0, #0 > movne r3, #1 > rsb r8, r3, #0 > b .L193 >.L407: > cmp r0, #0 > bne .L206 > ldr r3, [r4, #736] > ldr r3, [r3, #128] > cmp r3, #0 > ble .L206 > vmov.i32 d16, #0 @ di > str r3, [sp, #104] > asr r3, r3, #31 > str r3, [sp, #108] > vstr.64 d16, [sp, #112] @ int > b .L208 >.L209: > ldr r3, [r4, #736] > mov r2, #0 > str r2, [sp, #108] > str r2, [sp, #116] > ldrd r2, [r3, #136] > str r2, [sp, #104] > str r3, [sp, #112] > b .L208 >.L213: > add r1, r4, #640 > dmb ish > ldrd r2, r3, [r4, #640] > dmb ish > ldr r0, [sp, #16] > cmp r0, r2 > ldr r0, [sp, #20] > sbcs r3, r0, r3 > bcs .L227 >.L226: > dmb ish > ldrd r2, r3, [r1] > strd r2, [sp, #16] > dmb ish > ldr r1, [sp, #32] > ldrd r2, [sp, #80] > cmp r7, #0 > strd r2, [r1] > ble .L228 >.L227: > ldr r3, [r4, #140] > lsr r2, r3, #5 > and r3, r3, #31 > add r2, sp, r2, lsl #2 > ldr r2, [r2, #160] > lsr r3, r2, r3 > tst r3, #1 > beq .L229 > ldrsb r3, [r4, #44] > cmp r3, #10 > beq .L230 > mov r0, r4 > bl iperf_accept(PLT) > cmp r0, #0 > blt .L267 > ldr r2, [r4, #140] > add r1, sp, #416 > ldr ip, [r4, #28] > ldr fp, [r4, #608] > mov r0, #1 > lsr r3, r2, #5 > and r2, r2, #31 > cmn ip, #1 > add r3, r1, r3, lsl #2 > streq fp, [sp, #44] > ldr r1, [r3, #-256] > bic r2, r1, r0, lsl r2 > str r2, [r3, #-256] > beq .L229 > cmp ip, #0 > movne r3, fp > moveq r3, ip > movne fp, #0 > str r3, [sp, #44] >.L229: > ldr r3, [r4, #132] > lsr r2, r3, #5 > and r3, r3, #31 > add r2, sp, r2, lsl #2 > ldr r2, [r2, #160] > lsr r3, r2, r3 > tst r3, #1 > bne .L292 >.L231: > ldrsb r3, [r4, #44] > cmp r3, #10 > bne .L228 >.L293: > ldr r0, [r4, #144] > lsr r3, r0, #5 > and r2, r0, #31 > add r3, sp, r3, lsl #2 > ldr r3, [r3, #160] > lsr r3, r3, r2 > tst r3, #1 > bne .L232 > ldr r2, [sp, #44] > ldr r3, [sp, #60] > sub r3, r3, r2 > clz r3, r3 > lsr r3, r3, #5 >.L233: > ldr r2, [sp, #52] > cmp r2, fp > movne r3, #0 > andeq r3, r3, #1 > cmp r3, #0 > beq .L228 > ldr r3, [r4, #40] > ldr r3, [r3] > cmp r3, #1 > bne .L409 > ldr r3, [r4, #176] > cmp r3, #0 > bne .L259 > ldr r2, [r4, #736] > ldr r3, [r2, #64] > cmp r3, #0 > beq .L410 >.L259: > ldr r0, [r4, #140] > mov ip, #1 > lsr r3, r0, #5 > and r1, r0, #31 > add r3, r4, r3, lsl #2 > ldr r2, [r3, #248] > bic r2, r2, ip, lsl r1 > str r2, [r3, #248] > bl close(PLT) > ldr r3, [r4, #736] > mov r1, #1 > ldr r0, [r3] > ldr r3, [r4, #76] > str r3, [sp] > mvn r3, #0 > str r3, [r4, #140] > ldr r2, [r4, #56] > ldr r3, [r4, #60] > bl netannounce(PLT) > cmp r0, #0 > blt .L411 > lsr r3, r0, #5 > str r0, [r4, #140] > and r1, r0, #31 > mov ip, #1 > add r3, r4, r3, lsl #2 > ldr r2, [r3, #248] > orr r2, r2, ip, lsl r1 > str r2, [r3, #248] > ldr r3, [r4, #244] > ldr r2, [r4, #736] > cmp r3, r0 > strlt r0, [r4, #244] > b .L258 >.L230: > ldr r3, [r4, #132] > lsr r2, r3, #5 > and r3, r3, #31 > add r2, sp, r2, lsl #2 > ldr r2, [r2, #160] > lsr r3, r2, r3 > tst r3, #1 > beq .L293 >.L292: > mov r0, r4 > bl iperf_handle_message_server(PLT) > cmp r0, #0 > blt .L267 > ldr r2, [r4, #132] > add r1, sp, #416 > mov r0, #1 > lsr r3, r2, #5 > and r2, r2, #31 > add r3, r1, r3, lsl #2 > ldr r1, [r3, #-256] > bic r2, r1, r0, lsl r2 > str r2, [r3, #-256] > b .L231 >.L404: > mov r0, r5 > bl iperf_time_in_usecs(PLT) > ldrsb r3, [r4, #44] > cmp r3, #15 > beq .L412 > ldr r3, [r4, #28] > cmp r3, #1 > beq .L214 > ldr r3, [sp, #36] > cmp r3, r0 > ldr r3, [sp, #40] > sbcs r1, r3, r1 > add r1, r4, #640 > bge .L397 > dmb ish > ldrd r2, r3, [r4, #640] > dmb ish > ldr r0, [sp, #16] > ldr ip, [sp, #20] > cmp r3, ip > cmpeq r2, r0 > bne .L397 > ldr r2, [r4, #684] > ldr r3, .L429+92 > mov r1, #144 > mov r0, r4 > add r2, r2, #1 > str r2, [r4, #684] > ldr r2, [sp, #56] > ldr r3, [r2, r3] > str r1, [r3] > bl iperf_get_verbose(PLT) > cmp r0, #0 > beq .L267 > ldr r1, .L429+12 > ldr r2, [r4, #684] > mov r0, r4 >.LPIC28: > add r1, pc, r1 > bl iperf_err(PLT) >.L267: > mov r0, r4 > bl cleanup_server(PLT) > b .L204 >.L232: > ldr r3, [r4, #40] > mov r0, r4 > ldr r3, [r3, #8] > blx r3 > subs r7, r0, #0 > blt .L267 > mov r1, r7 > mov r0, r4 > bl iperf_common_sockopts(PLT) > cmp r0, #0 > blt .L267 > mov r0, r7 > bl is_closed(PLT) > subs r3, r0, #0 > str r3, [sp, #64] > bne .L255 > ldr r3, [r4, #40] > ldr r3, [r3] > cmp r3, #1 > beq .L413 >.L237: > ldr r3, [sp, #52] > cmp r3, fp > beq .L251 > add r3, r3, #1 > str r3, [sp, #52] >.L252: > ldr r2, [sp, #64] > mov r1, r7 > mov r0, r4 > bl iperf_new_stream(PLT) > cmp r0, #0 > beq .L267 > ldr r3, [r4, #244] > cmp r3, r7 > ldr r3, [r4, #744] > strlt r7, [r4, #244] > cmp r3, #0 > beq .L255 > blx r3 >.L255: > ldr r2, [sp, #44] > ldr r3, [sp, #60] > sub r3, r3, r2 > clz r3, r3 > lsr r3, r3, #5 >.L235: > ldr r0, [r4, #144] > add r2, sp, #416 > mov lr, #1 > lsr r1, r0, #5 > and ip, r0, #31 > add r1, r2, r1, lsl #2 > ldr r2, [r1, #-256] > bic r2, r2, lr, lsl ip > str r2, [r1, #-256] > b .L233 >.L409: > lsr r3, r0, #5 > and r1, r0, #31 > mov ip, #1 > add r3, r4, r3, lsl #2 > ldr r2, [r3, #248] > bic r2, r2, ip, lsl r1 > str r2, [r3, #248] > bl close(PLT) > ldr r2, [r4, #736] >.L258: > ldr r7, [r4, #608] > ldr r3, [r2, #20] > ldr r9, [r2, #16] > mul r3, r7, r3 > asr r1, r7, #31 > mla r3, r1, r9, r3 > umull r9, r7, r9, r7 > add r7, r3, r7 > ldr r3, [r4, #28] > cmn r3, #1 > mvn r3, #0 > str r3, [r4, #144] > bne .L263 > adds r9, r9, r9 > adc r7, r7, r7 >.L263: > ldr r1, [r2, #24] > ldr r3, [r2, #28] > orrs r2, r1, r3 > movne r0, #1 > moveq r0, #0 > cmp r1, r9 > sbcs r3, r3, r7 > movcs r0, #0 > andcc r0, r0, #1 > cmp r0, #0 > bne .L414 > bl cpu_util(PLT) > mov r1, #1 > mov r0, r4 > bl iperf_set_send_state(PLT) > subs r3, r0, #0 > str r3, [sp, #64] > bne .L267 > mov r0, r4 > bl iperf_init_test(PLT) > cmp r0, #0 > blt .L267 > add r9, sp, #124 > mov r0, r9 > bl iperf_time_now(PLT) > cmp r0, #0 > blt .L276 > ldr r3, [r4, #84] > vmov.i32 d16, #0 @ v2si > ldr r2, [sp, #64] > add r7, r4, #548 > cmp r3, #0 > vst1.32 {d16}, [r7] > str r2, [r4, #540] > bne .L415 >.L269: > vldr.64 d16, [r4, #512] > vmov.i32 d17, #0 @ v2si > vst1.32 {d17}, [r7] > vcmp.f64 d16, #0 > vmrs APSR_nzcv, FPSCR > bne .L416 >.L271: > vldr.64 d16, [r4, #520] > vcmp.f64 d16, #0 > vmrs APSR_nzcv, FPSCR > bne .L417 > ldr r3, [r4, #80] > cmp r3, #0 > bne .L273 >.L424: > str r3, [r4, #504] > str r3, [r4, #536] >.L274: > ldr r3, [r4, #28] > cmp r3, #0 > beq .L277 > mov r0, r4 > bl iperf_create_send_timers(PLT) > cmp r0, #0 > blt .L267 >.L277: > mov r1, #2 > mov r0, r4 > bl iperf_set_send_state(PLT) > cmp r0, #0 > bne .L267 > mov r0, r9 > bl pthread_attr_init(PLT) > cmp r0, #0 > bne .L418 >.L278: > ldr r7, [r4, #732] > cmp r7, #0 > beq .L284 > ldr r2, .L429+16 > ldr r3, [sp, #56] > ldr r3, [r3, r2] > ldr r2, .L429+20 > str r5, [sp, #68] > mov r5, r7 >.LPIC37: > add r2, pc, r2 > mov r7, r3 > str r2, [sp, #64] > b .L279 >.L283: > ldr r5, [r5, #432] > cmp r5, #0 > beq .L419 >.L279: > mov r3, r5 > mov r2, r7 > mov r1, r9 > add r0, r5, #4 > bl pthread_create(PLT) > cmp r0, #0 > bne .L420 > ldr r2, [r4, #208] > cmp r2, #2 > bls .L283 > ldr r2, [r5, #20] > ldr r1, [sp, #64] > mov r0, r4 > bl iperf_printf(PLT) > ldr r5, [r5, #432] > cmp r5, #0 > bne .L279 >.L419: > ldr r5, [sp, #68] >.L284: > ldr r3, [r4, #208] > cmp r3, #2 > bhi .L421 >.L281: > mov r0, r9 > bl pthread_attr_destroy(PLT) > cmp r0, #0 > beq .L228 > ldr r2, [sp, #56] > ldr r3, .L429+92 > mov r0, r4 > ldr r3, [r2, r3] > mov r2, #154 > str r2, [r3] > bl cleanup_server(PLT) > b .L228 >.L403: > ldr r2, [sp, #56] > ldr r3, .L429+24 > ldr r5, .L429+28 > mov r0, r4 > ldr r3, [r2, r3] >.LPIC22: > add r5, pc, r5 > mov r1, r5 > mov r2, r3 > str r3, [sp, #16] > bl iperf_printf(PLT) > ldr r2, .L429+32 > ldr r1, .L429+36 > mov r0, r4 >.LPIC23: > add r2, pc, r2 >.LPIC24: > add r1, pc, r1 > bl iperf_printf(PLT) > bl get_system_info(PLT) > mov r1, r5 > mov r2, r0 > mov r0, r4 > bl iperf_printf(PLT) > mov r0, r4 > bl iflush(PLT) > b .L202 >.L401: > mov r0, r4 > bl iperf_setaffinity(PLT) > cmp r0, #0 > beq .L196 >.L201: > mov r0, r4 > bl cleanup_server(PLT) >.L197: > mvn r8, #1 > b .L193 >.L412: > ldr r3, [r4, #736] > ldr r2, [r3, #128] > cmp r2, #0 > ble .L214 > movw r3, #16960 > movt r3, 15 > smull r3, ip, r2, r3 > cmp r0, r3 > sbcs ip, r1, ip > blt .L214 > ldr r1, [r4, #680] > ldr r3, [r4, #204] > add r1, r1, #1 > cmp r3, #0 > str r1, [r4, #680] > bne .L422 >.L218: > mov r0, r4 > bl cleanup_server(PLT) > mov r0, r4 > bl iperf_get_test_one_off(PLT) > cmp r0, #0 > beq .L295 > ldr r3, [r4, #204] > cmp r3, #0 > bne .L423 >.L219: > mov r0, #0 > bl exit(PLT) >.L420: > ldr r3, .L429+92 > ldr r1, [sp, #56] > mov r2, #150 > mov r0, r4 > ldr r3, [r1, r3] > str r2, [r3] > bl cleanup_server(PLT) >.L204: > mvn r8, #0 >.L193: > mov r0, r8 > add sp, sp, #420 > ldrd r4, [sp] > ldrd r6, [sp, #8] > ldrd r8, [sp, #16] > ldrd r10, [sp, #24] > @ sp needed > add sp, sp, #32 > ldr pc, [sp], #4 >.L402: > mov r0, r4 > bl iperf_json_start(PLT) > cmp r0, #0 > blt .L201 > ldr r3, [r4, #192] > cmp r3, #0 > beq .L200 > ldr r2, [sp, #56] > ldr r3, .L429+24 > ldr r5, [r4, #764] > ldr r3, [r2, r3] > mov r0, r3 > str r3, [sp, #16] > bl cJSON_CreateString(PLT) > ldr r1, .L429+40 > mov r2, r0 > mov r0, r5 >.LPIC20: > add r1, pc, r1 > bl cJSON_AddItemToObject(PLT) > ldr r5, [r4, #764] > bl get_system_info(PLT) > bl cJSON_CreateString(PLT) > ldr r1, .L429+44 > mov r2, r0 > mov r0, r5 >.LPIC21: > add r1, pc, r1 > bl cJSON_AddItemToObject(PLT) > b .L202 >.L415: > str r2, [r4, #544] > str r2, [sp, #8] > ldr r2, [r4, #80] > ldr r1, .L429+48 > mov r0, r9 > add r3, r3, r2 > movw r2, #16960 > movt r2, 15 > add r3, r3, #40 > smull r3, r2, r3, r2 >.LPIC33: > add r1, pc, r1 > str r2, [sp, #4] > str r3, [sp] > mov r2, r4 > bl tmr_create(PLT) > cmp r0, #0 > str r0, [r4, #540] > bne .L269 >.L276: > ldr r3, .L429+92 > ldr r1, [sp, #56] > mov r2, #101 > ldr r3, [r1, r3] > str r2, [r3] > b .L267 >.L417: > vldr.64 d17, .L429 > ldr r7, .L429+52 > mov r3, #1 > str r3, [sp, #8] >.LPIC35: > add r7, pc, r7 > vmul.f64 d16, d16, d17 > vmov r0, r1, d16 > bl __aeabi_d2lz(PLT) > mov r2, r4 > strd r0, [sp] > mov r1, r7 > mov r0, r9 > bl tmr_create(PLT) > cmp r0, #0 > str r0, [r4, #552] > beq .L276 > ldr r3, [r4, #80] > cmp r3, #0 > beq .L424 >.L273: > mov r0, r9 > bl iperf_time_now(PLT) > cmp r0, #0 > blt .L276 > ldr r2, [r4, #80] > movw r3, #16960 > movt r3, 15 > ldr r1, .L429+56 > mov r0, r9 > smull r2, r3, r2, r3 >.LPIC36: > add r1, pc, r1 > strd r2, [sp] > mov r3, #1 > str r3, [r4, #504] > mov r3, #0 > mov r2, r4 > str r3, [sp, #8] > bl tmr_create(PLT) > cmp r0, #0 > str r0, [r4, #536] > bne .L274 > b .L276 >.L416: > vldr.64 d17, .L429 > ldr r7, .L429+60 > mov r3, #1 > str r3, [sp, #8] >.LPIC34: > add r7, pc, r7 > vmul.f64 d16, d16, d17 > vmov r0, r1, d16 > bl __aeabi_d2lz(PLT) > mov r2, r4 > strd r0, [sp] > mov r1, r7 > mov r0, r9 > bl tmr_create(PLT) > cmp r0, #0 > str r0, [r4, #548] > bne .L271 > b .L276 >.L418: > ldr r2, [sp, #56] > ldr r3, .L429+92 > mov r0, r4 > ldr r3, [r2, r3] > mov r2, #153 > str r2, [r3] > bl cleanup_server(PLT) > b .L278 >.L410: > ldr r3, [r2, #4] > cmp r3, #0 > beq .L258 > b .L259 >.L414: > mov r0, r4 > bl iperf_get_verbose(PLT) > cmp r0, #0 > beq .L265 > ldr ip, [r4, #736] > ldr r1, .L429+64 > mov r3, r7 > mov r2, r9 > mov r0, r4 > ldrd r6, [ip, #24] >.LPIC32: > add r1, pc, r1 > strd r6, [sp] > bl iperf_err(PLT) >.L265: > mov r0, r4 > bl cleanup_server(PLT) > ldr r3, .L429+92 > ldr r1, [sp, #56] > mov r2, #27 > ldr r3, [r1, r3] > str r2, [r3] > b .L204 >.L413: > ldr r3, [r4, #736] > ldr r3, [r3, #132] > cmp r3, #0 > str r3, [sp, #124] > bne .L425 >.L239: > ldr r9, [r4, #108] > cmp r9, #0 > beq .L244 > mov r0, r9 > bl strlen(PLT) > mov r3, r9 > str r0, [sp] > mov r2, #13 > mov r1, #6 > mov r0, r7 > bl setsockopt(PLT) > cmp r0, #0 > blt .L426 >.L244: > add r3, sp, #76 > add r9, sp, #124 > str r3, [sp] > mov r3, #16 > str r3, [sp, #76] > mov r2, #13 > mov r1, #6 > mov r0, r7 > mov r3, r9 > bl getsockopt(PLT) > cmp r0, #0 > blt .L427 > ldr r0, [r4, #112] > cmp r0, #0 > beq .L248 > bl free(PLT) >.L248: > mov r0, r9 > bl strdup(PLT) >.L249: > ldr r3, [r4, #204] > str r0, [r4, #112] > cmp r3, #0 > beq .L237 > mov r1, r0 > ldr r0, .L429+68 >.LPIC31: > add r0, pc, r0 > bl printf(PLT) > b .L237 >.L251: > ldr r2, [sp, #44] > ldr r3, [sp, #60] > cmp r3, r2 > beq .L297 > add r3, r3, #1 > str r3, [sp, #60] > mov r3, #1 > str r3, [sp, #64] > b .L252 >.L421: > ldr r1, .L429+72 > mov r0, r4 >.LPIC38: > add r1, pc, r1 > bl iperf_printf(PLT) > b .L281 >.L408: > mov r0, r4 > bl cleanup_server(PLT) > ldr r3, .L429+92 > ldr r1, [sp, #56] > mov r2, #118 > ldr r3, [r1, r3] > str r2, [r3] > b .L204 >.L427: > ldr r3, [r4, #108] > cmp r3, #0 > bne .L428 > ldr r0, [r4, #112] > cmp r0, #0 > beq .L247 > bl free(PLT) >.L247: > ldr r0, .L429+76 >.LPIC30: > add r0, pc, r0 > bl strdup(PLT) > b .L249 >.L297: > mov r3, #1 > b .L235 >.L425: > mov r3, #4 > mov r2, #18 > str r3, [sp] > mov r1, #6 > mov r0, r7 > add r3, sp, #124 > bl setsockopt(PLT) > cmp r0, #0 > blt .L240 > ldr r3, [r4, #40] > ldr r3, [r3] > cmp r3, #1 > beq .L239 > b .L237 >.L426: > bl __errno_location(PLT) > ldr r3, [r0] > cmp r3, #2 > bne .L243 > ldr r0, .L429+80 >.LPIC29: > add r0, pc, r0 > bl warning(PLT) > b .L244 >.L411: > mov r0, r4 > bl cleanup_server(PLT) > ldr r3, .L429+92 > ldr r1, [sp, #56] > mov r2, #102 > ldr r3, [r1, r3] > str r2, [r3] > b .L204 >.L423: > ldr r3, [r4, #736] > ldr r0, .L429+84 > ldr r1, [r3, #128] >.LPIC27: > add r0, pc, r0 > bl printf(PLT) > b .L219 >.L422: > ldr r0, .L429+88 >.LPIC26: > add r0, pc, r0 > bl printf(PLT) > b .L218 >.L295: > mov r8, #2 > b .L193 >.L240: > bl __errno_location(PLT) > mov r5, r0 > mov r0, r7 > ldr r6, [r5] > bl close(PLT) > mov r0, r4 > bl cleanup_server(PLT) > ldr r3, .L429+92 > ldr r1, [sp, #56] > mov r2, #148 > str r6, [r5] > ldr r3, [r1, r3] > str r2, [r3] > b .L204 >.L243: > mov r9, r0 > mov r0, r7 > mov fp, r3 > bl close(PLT) > mov r0, r4 > bl cleanup_server(PLT) > ldr r3, .L429+92 > ldr r1, [sp, #56] > str fp, [r9] > mov r2, #134 > ldr r3, [r1, r3] > str r2, [r3] > b .L204 >.L430: > .align 3 >.L429: > .word 0 > .word 1093567616 > .word _GLOBAL_OFFSET_TABLE_-(.LPIC19+8) > .word .LC18-(.LPIC28+8) > .word iperf_server_worker_run(GOT) > .word .LC23-(.LPIC37+8) > .word version(GOT) > .word .LC14-(.LPIC22+8) > .word .LC15-(.LPIC23+8) > .word .LC0-(.LPIC24+8) > .word .LC12-(.LPIC20+8) > .word .LC13-(.LPIC21+8) > .word server_timer_proc-(.LPIC33+8) > .word server_reporter_timer_proc-(.LPIC35+8) > .word server_omit_timer_proc-(.LPIC36+8) > .word server_stats_timer_proc-(.LPIC34+8) > .word .LC22-(.LPIC32+8) > .word .LC21-(.LPIC31+8) > .word .LC24-(.LPIC38+8) > .word .LC20-(.LPIC30+8) > .word .LC19-(.LPIC29+8) > .word .LC17-(.LPIC27+8) > .word .LC16-(.LPIC26+8) > .word i_errno(GOT) >.L428: > bl __errno_location(PLT) > mov r5, r0 > mov r0, r7 > ldr r6, [r5] > bl close(PLT) > mov r0, r4 > bl cleanup_server(PLT) > ldr r3, .L429+92 > ldr r1, [sp, #56] > mov r2, #134 > str r6, [r5] > ldr r3, [r1, r3] > str r2, [r3] > b .L204 >.L405: > dmb ish > ldrd r2, r3, [r1] > strd r2, [sp, #16] > dmb ish > ldr r1, [sp, #32] > ldrd r2, [sp, #80] > strd r2, [r1] > b .L294 > .size iperf_run_server, .-iperf_run_server > .global __aeabi_d2lz > .ident "GCC: (Gentoo 14.1.1_p20240622 p3) 14.1.1 20240622" > .section .note.GNU-stack,"",%progbits
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 937331
:
899033
|
899034
|
899270
|
899271
|
899272
| 899273