FreeBSD 13.2 panic in vm_fault_lookup.

From: Thomas David Rivers <rivers_at_dignus.com>
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"