[prev in list] [next in list] [prev in thread] [next in thread] List: openvz-criu Subject: [CRIU] Criu illegal instruction on ARM6 (Raspberry Pi zero) ... From: "Mark O'Neill" <mao () tumblingdice ! co ! uk> Date: 2021-08-23 15:43:45 Message-ID: 6976388b04abe6a0e7d72a56e5134f66 () tumblingdice ! co ! uk [Download RAW message or body] [Attachment #2 (multipart/alternative)] Hello I don't know if I have come through to the right place. I am trying to build criu 3.15 for Raspberry Pi zero. Compilation from source is fine but restorer.c generates an illegal instruction when criu is run. I have checked your makefile and it seems to be detecting ARM6 architecture okay. Not sure how to proceed. The error occurs at in restorer.c at this point: I have highlighted the ARM instruction which is throwing the error. --- C code --- -- Starting program: /usr/local/sbin/criu [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Program received signal SIGILL, Illegal instruction. 0x00033938 in pagemap_cache_init () at criu/pagemap-cache.c:192 (gdb) --- assembler --- 0x33934 <pagemap_cache_init> push {r4, lr} │ │ >0x33938 <pagemap_cache_init+4> movw r0, #54136 ; 0xd378 │ │ 0x3393c <pagemap_cache_init+8> movt r0, #16 │ │ 0x33940 <pagemap_cache_init+12> bl 0x32e14 <getenv@plt> │ │ 0x33944 <pagemap_cache_init+16> movw r3, #50396 ; 0xc4dc │ │ 0x33948 <pagemap_cache_init+20> movt r3, #19 │ │ 0x3394c <pagemap_cache_init+24> subs r0, r0, #0 │ │ 0x33950 <pagemap_cache_init+28> movne r0, #1 │ │ 0x33954 <pagemap_cache_init+32> strb r0, [r3, #1] │ │ 0x33958 <pagemap_cache_init+36> pop {r4, pc} │ │ 0x3395c <_start> mov r11, #0 │ │ 0x33960 <_start+4> mov lr, #0 │ │ 0x33964 <_start+8> pop {r1} ; (ldr r1, [sp], #4) │ │ 0x33968 <_start+12> mov r2, sp Regards Mark O'Neill --- Dr Mark O'Neill Technical Director t: +44 (0) 191 213 2002 m: +44 (0) 7515 270 216 e: mao@tumblingdice.co.uk w: www.tumblingdice.co.uk [1] Tumbling Dice Ltd registered office: 39 Delaval Terrace, Gosforth, Newcastle upon Tyne, NE3 4RT, United Kingdom. Registered in England: 04969187. VAT registration: 888 9205 60. Links: ------ [1] http://www.tumblingdice.co.uk [Attachment #5 (multipart/related)] [Attachment #7 (unknown)] <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" \ /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'> \ Hello<br /> <div id="signature"><br />I don't know if I have come through to the \ right place.<br /><br />I am trying to build criu 3.15 for Raspberry Pi zero. \ Compilation from source is fine but restorer.c generates an illegal instruction when \ criu is run. I have checked your makefile and it seems to be detecting ARM6 \ architecture okay. Not sure how to proceed. The error occurs at in restorer.c at this \ point:<br /><br />I have highlighted the ARM instruction which is throwing the \ error.<br /><br />--- C code ---<br /> <div id="v1signature">-- Starting program: \ /usr/local/sbin/criu<br />[Thread debugging using libthread_db enabled]<br />Using \ host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".<br /><br \ />Program received signal SIGILL, Illegal instruction.<br />0x00033938 in \ pagemap_cache_init () at criu/pagemap-cache.c:192<br />(gdb)<br /><br />--- assembler \ ---<br /><br />0x33934 <pagemap_cache_init> push {r4, lr} │<br />│ \ <strong>>0x33938 <pagemap_cache_init+4> movw r0, #54136 ; 0xd378</strong> \ │<br />│ 0x3393c <pagemap_cache_init+8> movt r0, #16 │<br />│ 0x33940 \ <pagemap_cache_init+12> bl 0x32e14 <getenv@plt> │<br />│ 0x33944 \ <pagemap_cache_init+16> movw r3, #50396 ; 0xc4dc │<br />│ 0x33948 \ <pagemap_cache_init+20> movt r3, #19 │<br />│ 0x3394c \ <pagemap_cache_init+24> subs r0, r0, #0 │<br />│ 0x33950 \ <pagemap_cache_init+28> movne r0, #1 │<br />│ 0x33954 \ <pagemap_cache_init+32> strb r0, [r3, #1] │<br />│ 0x33958 \ <pagemap_cache_init+36> pop {r4, pc} │<br />│ 0x3395c <_start> mov \ r11, #0 │<br />│ 0x33960 <_start+4> mov lr, #0 │<br />│ 0x33964 \ <_start+8> pop {r1} ; (ldr r1, [sp], #4) │<br />│ 0x33968 <_start+12> \ mov r2, sp<br /><br /><br />Regards<br /><br />Mark O'Neill</div> <br /> <div class="pre" style="margin: 0; padding: 0; font-family: monospace"><span \ style="font-family: verdana,geneva,sans-serif;"><strong>---<br /><br /><span \ style="font-size: 10pt;">Dr Mark O'Neill</span><br /></strong><span style="font-size: \ 10pt;">Technical Director</span></span><br /><br /><span style="font-family: \ verdana,geneva,sans-serif; font-size: 10pt;"><span style="color: #689f00;"><strong>t: \ </strong></span>+44 (0) 191 213 2002</span><br /><span style="font-family: \ verdana,geneva,sans-serif; font-size: 10pt;"><span style="color: #689f00;"><strong> \ m:</strong></span> +44 (0) 7515 270 216</span><br /><span style="font-family: \ verdana,geneva,sans-serif;"><span style="color: #689f00;"><strong>e:</strong></span> \ mao@tumblingdice.co.uk</span><br /><span style="font-family: \ verdana,geneva,sans-serif; font-size: 10pt;"><span style="color: \ #689f00;"><strong>w:</strong></span> <a href="http://www.tumblingdice.co.uk" \ rel="noreferrer">www.tumblingdice.co.uk</a></span><br /><br /><img \ src="cid:7a4dc2c3a53d5a9fae9b5bb32f458263@tumblingdice.co.uk" width="160" height="48" \ /><br /> <p><span style="color: #808080; font-family: verdana,geneva,sans-serif; \ font-size: 8pt;">Tumbling Dice Ltd registered office: 39 Delaval Terrace, Gosforth, \ Newcastle upon Tyne, NE3 4RT, United Kingdom. Registered in England: 04969187. VAT \ registration: 888 9205 60.</span></p> </div> </div> </body></html> ["7a4dc2c3.jpeg" (7a4dc2c3.jpeg)] JFIF H H Exif MM * b j( 1 r2 ~i GIMP \ 2.8.10 2016:07:15 11:15:00 0210 0100 \ 0 " *( 2 e H H JFIF C $.' ",#(7),01444'9=82<.342 C 2!!22222222222222222222222222222222222222222222222222 0" } !1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz \ \ w !1AQaq"2B #3Rbr \ $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz \ ? ntI.` WF*ۯ.|K.է]B<m<Z \ O/,&p \ (|/YLF:>