FreeBSD 13.2 panic in vm_fault_lookup.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 25 May 2023 20:23:24 UTC
I thought I'd pass this along to interested parties,
not sure where to report bugs for tier-2 systems?
I'm running the FreeBSD 13.2 images for ARMv7 under QEMU
and when I, as an unpriveleged user, run at least one
particular program, I get this:
panic: vm_fault_lookup: fault on nofault entry, addr: 0xca71d000
cpuid = 0
time = 1681386836
KDB: stack backtrace:
#0 0xc035786c at kdb_backtrace+0x48
#1 0xc02fdd20 at vpanic+0x140
#2 0xc02fdbe0 at vpanic+0
#3 0xc05d2664 at vm_fault+0x1778
#4 0xc05d0df4 at vm_fault_trap+0xac
#5 0xc0630080 at abort_handler+0x384
#6 0xc060f480 at exception_exit+0
#7 0xc0304f14 at trapsignal+0x1d8
#8 0xc062fea0 at abort_handler+0x1a4
#9 0xc060f480 at exception_exit+0
#10 0xbfc1e46c at _binary_sdma_imx6q_bin_size+0xbfc1dbd8
Uptime: 4m16s
To recreate this, I've cut-n-pasted the assembler source
for the program in question. Simply do this:
cc -obad bad.s
and then run 'bad' and you'll get the panic.
The program is likely doing some out-of-bounds stuff on the
stack, etc.. but I don't think it should cause a panic.
(On a casual perusal I see the stack will quickly get unaligned,
for example.)
That is - I expect the program to fail miserably, for any number
of possible reasons, but not to panic the OS.
- Dave R. -
--------------- bad.s --------------------
@
@ Compiled by DCC Version 9.99.99 May 25 2023 08:50:15
@ on Thu May 25 15:56:39 2023
@
.arch armv7-a
.file "ver137.c"
.version "01.01"
@
@ Data Section
@
.data
.align 4
.global X
.type X,%object
.size X,116
X:
.long a
.long b
.long c
.long d
.long e
.long f
.long g
.long h
.long i
.long j
.long k
.long l
.long m
.long n
.long o
.long p
.long q
.long r
.long s
.long t
.long u
.long v
.long w
.long x
.long y
.long z
.long S
.long N
.long Q
@
@
@
@ Code Section
@
.text
@
@
@
@ ....... start of a
.globl a
.align 4
.type a,%function
a:
.Lbe243:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe243_a0:
.LT0:
.Lbe243_a:
.Lbe243_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC0
.L1:
bl printf
.L2:
ldr r1, .LC1 @ X
mov r2,#116 @ 116
mov r0,r4
.L3:
bl memcpy
.L4:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe243:
.size a,.Lfe243-a
@ * **** End of Epilogue
.align 4
.LC0: .long .L0
.LC1: .long X
@
@
@
@ ....... start of b
.globl b
.align 4
.type b,%function
b:
.Lbe244:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe244_a0:
.LT1:
.Lbe244_a:
.Lbe244_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC2
add r0,r0,#2
.L5:
bl printf
.L6:
ldr r1, .LC3 @ X
mov r2,#116 @ 116
mov r0,r4
.L7:
bl memcpy
.L8:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe244:
.size b,.Lfe244-b
@ * **** End of Epilogue
.align 4
.LC2: .long .L0
.LC3: .long X
@
@
@
@ ....... start of c
.globl c
.align 4
.type c,%function
c:
.Lbe245:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe245_a0:
.LT2:
.Lbe245_a:
.Lbe245_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC4
add r0,r0,#4
.L9:
bl printf
.L10:
ldr r1, .LC5 @ X
mov r2,#116 @ 116
mov r0,r4
.L11:
bl memcpy
.L12:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe245:
.size c,.Lfe245-c
@ * **** End of Epilogue
.align 4
.LC4: .long .L0
.LC5: .long X
@
@
@
@ ....... start of d
.globl d
.align 4
.type d,%function
d:
.Lbe246:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe246_a0:
.LT3:
.Lbe246_a:
.Lbe246_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC6
add r0,r0,#6
.L13:
bl printf
.L14:
ldr r1, .LC7 @ X
mov r2,#116 @ 116
mov r0,r4
.L15:
bl memcpy
.L16:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe246:
.size d,.Lfe246-d
@ * **** End of Epilogue
.align 4
.LC6: .long .L0
.LC7: .long X
@
@
@
@ ....... start of e
.globl e
.align 4
.type e,%function
e:
.Lbe247:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe247_a0:
.LT4:
.Lbe247_a:
.Lbe247_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC8
add r0,r0,#8
.L17:
bl printf
.L18:
ldr r1, .LC9 @ X
mov r2,#116 @ 116
mov r0,r4
.L19:
bl memcpy
.L20:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe247:
.size e,.Lfe247-e
@ * **** End of Epilogue
.align 4
.LC8: .long .L0
.LC9: .long X
@
@
@
@ ....... start of f
.globl f
.align 4
.type f,%function
f:
.Lbe248:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe248_a0:
.LT5:
.Lbe248_a:
.Lbe248_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC10
add r0,r0,#10
.L21:
bl printf
.L22:
ldr r1, .LC11 @ X
mov r2,#116 @ 116
mov r0,r4
.L23:
bl memcpy
.L24:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe248:
.size f,.Lfe248-f
@ * **** End of Epilogue
.align 4
.LC10: .long .L0
.LC11: .long X
@
@
@
@ ....... start of g
.globl g
.align 4
.type g,%function
g:
.Lbe249:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe249_a0:
.LT6:
.Lbe249_a:
.Lbe249_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC12
add r0,r0,#12
.L25:
bl printf
.L26:
ldr r1, .LC13 @ X
mov r2,#116 @ 116
mov r0,r4
.L27:
bl memcpy
.L28:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe249:
.size g,.Lfe249-g
@ * **** End of Epilogue
.align 4
.LC12: .long .L0
.LC13: .long X
@
@
@
@ ....... start of h
.globl h
.align 4
.type h,%function
h:
.Lbe250:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe250_a0:
.LT7:
.Lbe250_a:
.Lbe250_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC14
add r0,r0,#14
.L29:
bl printf
.L30:
ldr r1, .LC15 @ X
mov r2,#116 @ 116
mov r0,r4
.L31:
bl memcpy
.L32:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe250:
.size h,.Lfe250-h
@ * **** End of Epilogue
.align 4
.LC14: .long .L0
.LC15: .long X
@
@
@
@ ....... start of i
.globl i
.align 4
.type i,%function
i:
.Lbe251:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe251_a0:
.LT8:
.Lbe251_a:
.Lbe251_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC16
add r0,r0,#16
.L33:
bl printf
.L34:
ldr r1, .LC17 @ X
mov r2,#116 @ 116
mov r0,r4
.L35:
bl memcpy
.L36:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe251:
.size i,.Lfe251-i
@ * **** End of Epilogue
.align 4
.LC16: .long .L0
.LC17: .long X
@
@
@
@ ....... start of j
.globl j
.align 4
.type j,%function
j:
.Lbe252:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe252_a0:
.LT9:
.Lbe252_a:
.Lbe252_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC18
add r0,r0,#18
.L37:
bl printf
.L38:
ldr r1, .LC19 @ X
mov r2,#116 @ 116
mov r0,r4
.L39:
bl memcpy
.L40:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe252:
.size j,.Lfe252-j
@ * **** End of Epilogue
.align 4
.LC18: .long .L0
.LC19: .long X
@
@
@
@ ....... start of k
.globl k
.align 4
.type k,%function
k:
.Lbe253:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe253_a0:
.LT10:
.Lbe253_a:
.Lbe253_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC20
add r0,r0,#20
.L41:
bl printf
.L42:
ldr r1, .LC21 @ X
mov r2,#116 @ 116
mov r0,r4
.L43:
bl memcpy
.L44:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe253:
.size k,.Lfe253-k
@ * **** End of Epilogue
.align 4
.LC20: .long .L0
.LC21: .long X
@
@
@
@ ....... start of l
.globl l
.align 4
.type l,%function
l:
.Lbe254:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe254_a0:
.LT11:
.Lbe254_a:
.Lbe254_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC22
add r0,r0,#22
.L45:
bl printf
.L46:
ldr r1, .LC23 @ X
mov r2,#116 @ 116
mov r0,r4
.L47:
bl memcpy
.L48:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe254:
.size l,.Lfe254-l
@ * **** End of Epilogue
.align 4
.LC22: .long .L0
.LC23: .long X
@
@
@
@ ....... start of m
.globl m
.align 4
.type m,%function
m:
.Lbe255:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe255_a0:
.LT12:
.Lbe255_a:
.Lbe255_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC24
add r0,r0,#24
.L49:
bl printf
.L50:
ldr r1, .LC25 @ X
mov r2,#116 @ 116
mov r0,r4
.L51:
bl memcpy
.L52:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe255:
.size m,.Lfe255-m
@ * **** End of Epilogue
.align 4
.LC24: .long .L0
.LC25: .long X
@
@
@
@ ....... start of n
.globl n
.align 4
.type n,%function
n:
.Lbe256:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe256_a0:
.LT13:
.Lbe256_a:
.Lbe256_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC26
add r0,r0,#26
.L53:
bl printf
.L54:
ldr r1, .LC27 @ X
mov r2,#116 @ 116
mov r0,r4
.L55:
bl memcpy
.L56:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe256:
.size n,.Lfe256-n
@ * **** End of Epilogue
.align 4
.LC26: .long .L0
.LC27: .long X
@
@
@
@ ....... start of o
.globl o
.align 4
.type o,%function
o:
.Lbe257:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe257_a0:
.LT14:
.Lbe257_a:
.Lbe257_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC28
add r0,r0,#28
.L57:
bl printf
.L58:
ldr r1, .LC29 @ X
mov r2,#116 @ 116
mov r0,r4
.L59:
bl memcpy
.L60:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe257:
.size o,.Lfe257-o
@ * **** End of Epilogue
.align 4
.LC28: .long .L0
.LC29: .long X
@
@
@
@ ....... start of p
.globl p
.align 4
.type p,%function
p:
.Lbe258:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe258_a0:
.LT15:
.Lbe258_a:
.Lbe258_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC30
add r0,r0,#30
.L61:
bl printf
.L62:
ldr r1, .LC31 @ X
mov r2,#116 @ 116
mov r0,r4
.L63:
bl memcpy
.L64:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe258:
.size p,.Lfe258-p
@ * **** End of Epilogue
.align 4
.LC30: .long .L0
.LC31: .long X
@
@
@
@ ....... start of q
.globl q
.align 4
.type q,%function
q:
.Lbe259:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe259_a0:
.LT16:
.Lbe259_a:
.Lbe259_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC32
add r0,r0,#32
.L65:
bl printf
.L66:
ldr r1, .LC33 @ X
mov r2,#116 @ 116
mov r0,r4
.L67:
bl memcpy
.L68:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe259:
.size q,.Lfe259-q
@ * **** End of Epilogue
.align 4
.LC32: .long .L0
.LC33: .long X
@
@
@
@ ....... start of r
.globl r
.align 4
.type r,%function
r:
.Lbe260:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe260_a0:
.LT17:
.Lbe260_a:
.Lbe260_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC34
add r0,r0,#34
.L69:
bl printf
.L70:
ldr r1, .LC35 @ X
mov r2,#116 @ 116
mov r0,r4
.L71:
bl memcpy
.L72:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe260:
.size r,.Lfe260-r
@ * **** End of Epilogue
.align 4
.LC34: .long .L0
.LC35: .long X
@
@
@
@ ....... start of s
.globl s
.align 4
.type s,%function
s:
.Lbe261:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe261_a0:
.LT18:
.Lbe261_a:
.Lbe261_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC36
add r0,r0,#36
.L73:
bl printf
.L74:
ldr r1, .LC37 @ X
mov r2,#116 @ 116
mov r0,r4
.L75:
bl memcpy
.L76:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe261:
.size s,.Lfe261-s
@ * **** End of Epilogue
.align 4
.LC36: .long .L0
.LC37: .long X
@
@
@
@ ....... start of t
.globl t
.align 4
.type t,%function
t:
.Lbe262:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe262_a0:
.LT19:
.Lbe262_a:
.Lbe262_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC38
add r0,r0,#38
.L77:
bl printf
.L78:
ldr r1, .LC39 @ X
mov r2,#116 @ 116
mov r0,r4
.L79:
bl memcpy
.L80:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe262:
.size t,.Lfe262-t
@ * **** End of Epilogue
.align 4
.LC38: .long .L0
.LC39: .long X
@
@
@
@ ....... start of u
.globl u
.align 4
.type u,%function
u:
.Lbe263:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe263_a0:
.LT20:
.Lbe263_a:
.Lbe263_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC40
add r0,r0,#40
.L81:
bl printf
.L82:
ldr r1, .LC41 @ X
mov r2,#116 @ 116
mov r0,r4
.L83:
bl memcpy
.L84:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe263:
.size u,.Lfe263-u
@ * **** End of Epilogue
.align 4
.LC40: .long .L0
.LC41: .long X
@
@
@
@ ....... start of v
.globl v
.align 4
.type v,%function
v:
.Lbe264:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe264_a0:
.LT21:
.Lbe264_a:
.Lbe264_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC42
add r0,r0,#42
.L85:
bl printf
.L86:
ldr r1, .LC43 @ X
mov r2,#116 @ 116
mov r0,r4
.L87:
bl memcpy
.L88:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe264:
.size v,.Lfe264-v
@ * **** End of Epilogue
.align 4
.LC42: .long .L0
.LC43: .long X
@
@
@
@ ....... start of w
.globl w
.align 4
.type w,%function
w:
.Lbe265:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe265_a0:
.LT22:
.Lbe265_a:
.Lbe265_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC44
add r0,r0,#44
.L89:
bl printf
.L90:
ldr r1, .LC45 @ X
mov r2,#116 @ 116
mov r0,r4
.L91:
bl memcpy
.L92:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe265:
.size w,.Lfe265-w
@ * **** End of Epilogue
.align 4
.LC44: .long .L0
.LC45: .long X
@
@
@
@ ....... start of x
.globl x
.align 4
.type x,%function
x:
.Lbe266:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe266_a0:
.LT23:
.Lbe266_a:
.Lbe266_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC46
add r0,r0,#46
.L93:
bl printf
.L94:
ldr r1, .LC47 @ X
mov r2,#116 @ 116
mov r0,r4
.L95:
bl memcpy
.L96:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe266:
.size x,.Lfe266-x
@ * **** End of Epilogue
.align 4
.LC46: .long .L0
.LC47: .long X
@
@
@
@ ....... start of y
.globl y
.align 4
.type y,%function
y:
.Lbe267:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe267_a0:
.LT24:
.Lbe267_a:
.Lbe267_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC48
add r0,r0,#48
.L97:
bl printf
.L98:
ldr r1, .LC49 @ X
mov r2,#116 @ 116
mov r0,r4
.L99:
bl memcpy
.L100:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe267:
.size y,.Lfe267-y
@ * **** End of Epilogue
.align 4
.LC48: .long .L0
.LC49: .long X
@
@
@
@ ....... start of z
.globl z
.align 4
.type z,%function
z:
.Lbe268:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe268_a0:
.LT25:
.Lbe268_a:
.Lbe268_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC50
add r0,r0,#50
.L101:
bl printf
.L102:
ldr r1, .LC51 @ X
mov r2,#116 @ 116
mov r0,r4
.L103:
bl memcpy
.L104:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe268:
.size z,.Lfe268-z
@ * **** End of Epilogue
.align 4
.LC50: .long .L0
.LC51: .long X
@
@
@
@ ....... start of S
.globl S
.align 4
.type S,%function
S:
.Lbe269:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe269_a0:
.LT26:
.Lbe269_a:
.Lbe269_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC52
add r0,r0,#52
.L105:
bl printf
.L106:
ldr r1, .LC53 @ X
mov r2,#116 @ 116
mov r0,r4
.L107:
bl memcpy
.L108:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe269:
.size S,.Lfe269-S
@ * **** End of Epilogue
.align 4
.LC52: .long .L0
.LC53: .long X
@
@
@
@ ....... start of N
.globl N
.align 4
.type N,%function
N:
.Lbe270:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe270_a0:
.LT27:
.Lbe270_a:
.Lbe270_c:
@ ******* End of Prologue
@ *
mov r4,r0
ldr r0, .LC54
add r0,r0,#54
.L109:
bl printf
.L110:
ldr r1, .LC55 @ X
mov r2,#116 @ 116
mov r0,r4
.L111:
bl memcpy
.L112:
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe270:
.size N,.Lfe270-N
@ * **** End of Epilogue
.align 4
.LC54: .long .L0
.LC55: .long X
@
@
@
@ ....... start of Q
.globl Q
.align 4
.type Q,%function
Q:
.Lbe271:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe271_a0:
.LT28:
.Lbe271_c:
@ ******* End of Prologue
@ *
@ * **** Start of Epilogue
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe271:
.size Q,.Lfe271-Q
@ * **** End of Epilogue
@
@
@
@ ....... start of main
.globl main
.align 4
.type main,%function
main:
.Lbe272:
push {r4,r5,r6,r7,lr}
add r7,sp,#12
push {r8,r9,r10,fp}
.Lbe272_a0:
.LT29:
sub sp,sp,#5184
sub sp,sp,#40
.Lbe272_a:
.Lbe272_c:
@ ******* End of Prologue
@ *
ldr r5, .LC56 @ X
mov r0,sp
.L113:
bl g
.L114:
mov r4,sp
add r4,r4,#116
ldr r6,[sp,#72]
add r6,r0,r6
mov r0,r4
.L115:
bx r6
.L116:
mov r4,sp
add r4,r4,#232
ldr r6,[sp,#200]
add r6,r0,r6
mov r0,r4
.L117:
bx r6
.L118:
mov r4,sp
add r4,r4,#348
ldr r6,[sp,#336]
add r6,r0,r6
mov r0,r4
.L119:
bx r6
.L120:
mov r4,sp
add r4,r4,#464
ldr r6,[sp,#384]
add r6,r0,r6
mov r0,r4
.L121:
bx r6
.L122:
mov r4,sp
add r4,r4,#580
ldr r6,[sp,#484]
add r6,r0,r6
mov r0,r4
.L123:
bx r6
.L124:
mov r4,sp
add r4,r4,#696
ldr r6,[sp,#648]
add r6,r0,r6
mov r0,r4
.L125:
bx r6
.L126:
mov r4,sp
add r4,r4,#812
ldr r6,[sp,#788]
add r6,r0,r6
mov r0,r4
.L127:
bx r6
.L128:
mov r4,sp
add r4,r4,#928
ldr r6,[sp,#872]
add r6,r0,r6
mov r0,r4
.L129:
bx r6
.L130:
@ ***
@ ***
@ ***
@ *** S().y().i().l().d().m().S().u().l().c().S().q().f().n().k().v(\
@ ).w().S().l().e
mov r4,sp
mov r6,#1044 @ 1044
add r4,r4,r6
ldr r6,[sp,#1032]
add r6,r0,r6
mov r0,r4
.L131:
bx r6
.L132:
mov r4,sp
mov r6,#1160 @ 1160
add r4,r4,r6
ldr r6,[sp,#1140]
add r6,r0,r6
mov r0,r4
.L133:
bx r6
.L134:
mov r4,sp
mov r6,#1276 @ 1276
add r4,r4,r6
ldr r6,[sp,#1192]
add r6,r0,r6
mov r0,r4
.L135:
bx r6
.L136:
mov r4,sp
add r4,r4,#1392
ldr r6,[sp,#1320]
add r6,r0,r6
mov r0,r4
.L137:
bx r6
.L138:
mov r4,sp
mov r6,#1508 @ 1508
add r4,r4,r6
ldr r6,[sp,#1404]
add r6,r0,r6
mov r0,r4
.L139:
bx r6
.L140:
mov r4,sp
mov r6,#1624 @ 1624
add r4,r4,r6
ldr r6,[sp,#1556]
add r6,r0,r6
mov r0,r4
.L141:
bx r6
.L142:
mov r4,sp
mov r6,#1740 @ 1740
add r4,r4,r6
ldr r6,[sp,#1728]
add r6,r0,r6
mov r0,r4
.L143:
bx r6
.L144:
mov r4,sp
add r4,r4,#1856
ldr r6,[sp,#1820]
add r6,r0,r6
mov r0,r4
.L145:
bx r6
.L146:
mov r4,sp
mov r6,#1972 @ 1972
add r4,r4,r6
ldr r6,[sp,#1900]
add r6,r0,r6
mov r0,r4
.L147:
bx r6
.L148:
mov r4,sp
mov r6,#2088 @ 2088
add r4,r4,r6
ldr r6,[sp,#1980]
add r6,r0,r6
mov r0,r4
.L149:
bx r6
.L150:
mov r4,sp
mov r6,#2204 @ 2204
add r4,r4,r6
ldr r6,[sp,#2192]
add r6,r0,r6
mov r0,r4
.L151:
bx r6
.L152:
mov r4,sp
add r4,r4,#2320
ldr r6,[sp,#2268]
add r6,r0,r6
mov r0,r4
.L153:
bx r6
.L154:
mov r4,sp
mov r6,#2436 @ 2436
add r4,r4,r6
ldr r6,[sp,#2340]
add r6,r0,r6
mov r0,r4
.L155:
bx r6
.L156:
mov r4,sp
mov r6,#2552 @ 2552
add r4,r4,r6
ldr r6,[sp,#2488]
add r6,r0,r6
mov r0,r4
.L157:
bx r6
.L158:
mov r4,sp
mov r6,#2668 @ 2668
add r4,r4,r6
ldr r6,[sp,#2592]
add r6,r0,r6
mov r0,r4
.L159:
bx r6
.L160:
mov r4,sp
add r4,r4,#2784
ldr r6,[sp,#2752]
add r6,r0,r6
mov r0,r4
.L161:
bx r6
.L162:
mov r4,sp
mov r6,#2900 @ 2900
add r4,r4,r6
ldr r6,[sp,#2872]
add r6,r0,r6
mov r0,r4
.L163:
bx r6
.L164:
mov r4,sp
mov r6,#3016 @ 3016
add r4,r4,r6
ldr r6,[sp,#3004]
add r6,r0,r6
mov r0,r4
.L165:
bx r6
.L166:
mov r4,sp
mov r6,#3132 @ 3132
add r4,r4,r6
ldr r6,[sp,#3060]
add r6,r0,r6
mov r0,r4
.L167:
bx r6
.L168:
@ *** ().v().i().S().g().s().v().S().o().z().a().b().S().w().l().t()\
@ .N();}
mov r4,sp
add r4,r4,#3248
ldr r6,[sp,#3148]
add r6,r0,r6
mov r0,r4
.L169:
bx r6
.L170:
mov r4,sp
mov r6,#3364 @ 3364
add r4,r4,r6
ldr r6,[sp,#3332]
add r6,r0,r6
mov r0,r4
.L171:
bx r6
.L172:
mov r4,sp
mov r6,#3480 @ 3480
add r4,r4,r6
ldr r6,[sp,#3396]
add r6,r0,r6
mov r0,r4
.L173:
bx r6
.L174:
mov r4,sp
mov r6,#3596 @ 3596
add r4,r4,r6
ldr r6,[sp,#3584]
add r6,r0,r6
mov r0,r4
.L175:
bx r6
.L176:
mov r4,sp
add r4,r4,#3712
ldr r6,[sp,#3620]
add r6,r0,r6
mov r0,r4
.L177:
bx r6
.L178:
mov r4,sp
mov r6,#3828 @ 3828
add r4,r4,r6
ldr r6,[sp,#3784]
add r6,r0,r6
mov r0,r4
.L179:
bx r6
.L180:
mov r4,sp
mov r6,#3944 @ 3944
add r4,r4,r6
ldr r6,[sp,#3912]
add r6,r0,r6
mov r0,r4
.L181:
bx r6
.L182:
mov r4,sp
mov r6,#4060 @ 4060
add r4,r4,r6
ldr r6,[sp,#4048]
add r6,r0,r6
mov r0,r4
.L183:
bx r6
.L184:
mov r4,sp
add r4,r4,#4096
mov r1,r4
add r1,r1,#80
mov r6,#4116 @ 4116
add r6,r6
ldr r6,[sp,r6]
add r6,r0,r6
mov r0,r1
.L185:
bx r6
.L186:
mov r1,r4
add r1,r1,#196
ldr r6,[r4,#180]
add r6,r0,r6
mov r0,r1
.L187:
bx r6
.L188:
mov r1,r4
add r1,r1,#312
ldr r6,[r4,#196]
add r6,r0,r6
mov r0,r1
.L189:
bx r6
.L190:
mov r1,r4
add r1,r1,#428
ldr r6,[r4,#316]
add r6,r0,r6
mov r0,r1
.L191:
bx r6
.L192:
mov r1,r4
add r1,r1,#544
ldr r6,[r4,#532]
add r6,r0,r6
mov r0,r1
.L193:
bx r6
.L194:
mov r1,r4
add r1,r1,#660
ldr r6,[r4,#632]
add r6,r0,r6
mov r0,r1
.L195:
bx r6
.L196:
mov r1,r4
add r1,r1,#776
ldr r6,[r4,#704]
add r6,r0,r6
mov r0,r1
.L197:
bx r6
.L198:
mov r1,r4
add r1,r1,#892
ldr r6,[r4,#852]
add r6,r0,r6
mov r0,r1
.L199:
bx r6
.L200:
mov r1,r4
add r1,r1,#1008
ldr r6,[r4,#1000]
add r6,r0,r6
mov r0,r1
.L201:
bx r6
.L202:
add r0,r5,r5
add r4,r4,#1008
mov r2,#116 @ 116
mov r1,r4
.L203:
bl memcpy
.L204:
mov r0,#0
@ * **** Start of Epilogue
add sp,sp,#5184
add sp,sp,#40
pop {r8,r9,r10,fp}
pop {r4,r5,r6,r7,pc}
.Lfe272:
.size main,.Lfe272-main
@ * **** End of Epilogue
.align 4
.LC56: .long X
.text
.align 8
.L0: @ initialized string table
.long 0x0079007a
.long 0x00770078
.long 0x00750076
.long 0x00730074
.long 0x00710072
.long 0x006f0070
.long 0x006d006e
.long 0x006b006c
.long 0x0069006a
.long 0x00670068
.long 0x00650066
.long 0x00630064
.long 0x00610062
.long 0x000a0020
.data
@
.text
.ident "DCC: (Dignus) 9.99.99 May 24 2023 18:21:10"