Box86 - Linux Userspace x86 Emulator


No luck with OpenGlide for Interstate 76.
Fallout still stays stuck on the main menu.
Planescape Torment fails to start (complains about being out of video memory I think)
I got Gunpoint to start, it takes a very long time and then displays a screen that's bigger than the Pandora's. I don't know if it was stuck there or if there were buttons I couldn't see.

I've read in the box86 readme that some Unity games might actually work, so I guess I could give some of them a try.

Also, box86 is also a pretty useful tool to retrieve some games data from games with only windows installers without having to install them on a PC before.
 
I've tried KeeperFX (windows "port" of Dungeon Keeper) with the "windib" video driver and it's just like Fallout: it gets to the main menu but I can't move the mouse and it stays stuck there.
 
Hello to all - and a very gracious bow to ptitSeb for his amazing work. My hat is off to thee good sir.

I subscribed to this forum to convey my thanks and respect to ptitSeb and if I may - post a question and statement or two.

The Box86 intiaitive is the most viable and encouraging solution to date when it comes to the hope of making alternative platforms such as the Pyra and Raspberry Pi into realistic alternatives for most forms of business-, education and entertainment computing. The ability to run the most 'unavoidable' / near-mandatory Windows-x86 applications (as mandated by many schools and companies) - on low-cost, energy efficient and open devices brings real hope to empowering people in developing nations as well as cleaning up the world at large. It is still early days for a complicated project such as Box86 of course - but there is so much potential and viability to your approach that it brightens a previously far more grim looking ARM-Linux landcape. My deepest respect for your efforts and your commitment to free and open source software.

I'll be honest and admit that I do not own a Pyra yet (and have never owned a Pandora), although I do plan to get one once they become available.

My testing thus far has been done on a Raspberry Pi 4 - running the new Raspberry Pi OS 64-bit beta (lite edition with X11 and XFCE installed manually post-install). And I can say that for native Linux x86 applications the results have been most encouraging.

Until now I had been running the 64-bit OS as host with a trio of systemd-nspawn containers; one Raspberry Pi OS 32-bit which runs native as well as an i386- and an x86-64 container, both of which run with the help of qemu-user-static. All 3 support 3D graphics and audio and allow for a very coherent user experience on the desktop with seemingly native integration - albeit unbearably slow of course in the case of i386 and x86-64. The 32-bit Raspberry Pi OS container runs perfectly though and allows for fast IO and graphics to the point of a playable low-settings Doom 3 (dhewm3). The i386 and x86-64 containers are capable of starting World of Goo as proof of concept, but far too slowly to be playable.

Despite my best efforts however, I couldn't avoid having to make a 4th container (using chroot instead of systemd-nspawn) that also runs Raspberry Pi OS 32-bit - in order to get Box86 to run. Even with CAP_SYS_CHROOT, CAP_SYS_ADMIN (which is strongly discouraged) among others enabled - Box86 running in systemd-nspawn will invariably throw an 'illegal instruction' error. Which is a pity (for now) as systemd-nspawn containers integrate far more nicely into the (desktop) system than chroots do (i.e. encrypted home, pulseaudio, process separation, ...).

The chroot environment however works beautifully (especially after writing a host of scripts to facilitate desktop integration). World Of Goo works great, Freedom Planet works great albeit a little slow and even Mark of the Ninja starts up fine (although with some understandable graphics issues). Amazing.

The real problem I have encountered however is with reproducing the results that others have achieved with Wine.

Despite Wine never finishing it's 'updating the configuration in ~/.wine' process - I have been able to start explorer and notepad as well as getting the splash screens of Unreal Gold and Deus Ex to show - but not without 410MB worth of error messages in 3 minutes when output is redirected to a file.

Invariably - I will get a never ending stream of '0060:err:seh:segv_handler Got unexpected trap 0', which depending on activity may or may not be accompanied with 'Warning, context has been changed in Sigactionhanlder (EIP changed)'. (For the record - 'Sigactionhanlder' is not a typo on my part - it is the actual error message coming either from Wine or Box86. I mention it as it may perhaps facilitate tracing the error message... - no disrespect intended in any way whatsoever).

The first error of which occurs in any Wine activity - updating a fresh wineprefix, running winecfg, running explorer - anything. For sake of completeness: I have tried with and without GL4ES (capped at OpenGL 1.5) - to no avail.

Am I perhaps missing some special procedure(s)? I did see a mention of symlinking - but I couldn't find what I should be linking. I run Wine from a Wine directory that contains the files from the Wine package that was kindly provided on this forum.

It's still early days of course and I mean no disrespect of any kind - if anything I am in awe of the progress made so far and imbued with the deepest appreciation. As such please forgive the following statement and place it in the context of seeing light at the end of the tunnel in a journey of years and years in waiting to be able to shed Windows and x86:

If it would become possible one day to have a systemd-nspawn compatible Box86 running in a 32-bit Linux container, with a Box86-64 running native along side the host 64-bit OS then I would almost ceremonially set fire to my old x86 PC (before realizing that would be wasteful and re-purposing it as a server or something at a local school).
 
Last edited:
Hi @nomadicus and welcome here.

Thanks for registering and that detailled report.

Many things in here!

So, first, the Illegal Instruction. That is intriguing. I'm unsure what is triggering that, but I assume some of the things I do with the Dynarec does not work on some of the configuration. Any chance you can trap the faulty instruction with gdb? I can also add some signal handling on my side for illegal instructions (I have added one for bus error lately, maybe adding one for illegal instruction would be a good idea too).
(Also, the typo "Sigactionhanlder" is mine. Typical crossing letter. I'll fix it).

The "Got unexpected trap 0" is a message from Wine, because Signal emulation in box86 is somewhat incomplete. The "TRAP" information is not filled in. Also, changing IP register in a signal handler is not supported for now on box86, so you get the message ' Warning, context has been changed in Sigactionhanlder (EIP changed)' and got a loop of error, because you end up executing the same faulty opcode again and again. Hopefully I'll add better signal emulation at one point, but it's not in my immediate todo for box86.

Starting Deus Ex should work, without too much error. I had it even running on a Pandora with gl4es. On the Pi4, make sure you are using Mesa 20.1+, to have S3TC texture handling, it's mandatory for most Linux and Windows game. I have just retried it, with latest box86, ad it worked. Just be sure to select OpenGL renderer, D3D will probably not work so well, and Software will be slow.

I think the first thing is to understand the Illegal Instruction: knowing the opcode that break things could help.
 
@ptitSeb Thank you for the fast reply - I had expected a far longer wait - much appreciated :)

Of course.. so very foolish of me - I should have been more thorough in my research and done a 'BOX86_DYNAREC=0' check. Indeed as you predicted - the issue seems to be with the JIT doing something that isn't allowed in systemd-nspawn. World of Goo will now run inside of the container. Interesting to see how much difference the JIT makes... a lot - although even with it turned off Box86 is still a lot (lot lot) faster than qemu-user-static (it's definitely heading towards toodlepip Qemu in the i386 department thanks to your efforts :))

I'm working on doing a GDB trace, but having some issues as I may have broken something somewhere along the line. I'm doing a fresh debootstrap and hope to report back with a successful trace shortly.

When that's done I'll get to work on compiling Mesa 20.1 for the host, the nspawn container and the chroot environment - I was indeed still running the stock 19.3 version (silly me, should have thought about that too before asking for help).
I'll report back on that too when it's done.

Regarding the Wine error messages - ah so that's to be expected at this stage of development - understandable as it's a massively complicated undertaking. I thought it might be something on my end as I was getting the error messages with any and all wine related activities - including explorer, notepad, winecfg and the wineprefix setup. I haven't been able to launch much (successfully) that isn't part of stock wine - except the initial boot stages and resulting splash screens of Unreal and Deus Ex. Running Gog installers hasn't worked either so I installed the games on my x86 box (LattePanda Alpha) and copied the files over. Being able to play Deus Ex and above all System Shock 2 (which is 2 years older than Deus Ex) would be a dream having come true.

Thank you again for your quick reply and helpful advice - I'll get to work on said items and report back as soon as possible :)
 
Last edited:
@ptitSeb --- Well.. at the risk of appearing foolish... either I'm doing something wrong (which is quite likely) - Or the trace isn't putting out quite as much information as expected due to the near-immediate crash - Or the trace isn't working properly as running box86 in the container with 'BOX86_JITGDB=1' doesn't actually automatically start gdb; neither with the version of box86 that I compiled a day or 2 ago, nor the one I compiled an hour ago after a fresh git pull. Perhaps a combination of all 3, or a 4th that I am too dozy to pick up on.

As gdb doesn't start automatically on my setup - when I do 'gdb -q /usr/local/bin/box86' however followed by a 'run ./WorldOfGoo.bin.x86' - I get this:

Most of the time:

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 gdb -q /usr/local/bin/box86 >&1 | tee latest-output.txt
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2b9c178
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))

Program received signal SIGILL, Illegal instruction.
0xf5ce1000 in ?? ()
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x02891fd0 in tableupdate (table=0x0, ref=4124041216, jumpto=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
No locals.
#2 UpdateLinkTable (emu=<optimized out>, table=0x0, addr=4124041216)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
current = 0x2cd4138
block = 0x2c3319c
father = <optimized out>
#3 0x02b990e0 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

And one time (despite having the exact same options):

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 gdb -q /usr/local/bin/box86 >&1 | tee latest-output.txt
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2b9c168
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))
--- DynaRec Block created @0x2c3292c:0x2c32938 (0xf58e1300, 0x88 bytes, with 0 son(s))
Calling DynaRec Block @0x2c3292c (0xf58e1300) of 2 x86 instructions (nolinker=0, father=(nil)) emu=0x2b9c168
Address (nil) not found in Elf memory and is not a native call wrapper
Address (nil) not found in Elf memory and is not a native call wrapper
Calling Interpretor @(nil), emu=0x2b9c168

Program received signal SIGSEGV, Segmentation fault.
0x0284eac4 in Run (emu=0x2b9c168, step=step@entry=1)
at /mnt/crypt1/projects/builds/box86/src/emu/x86run.c:223
223 GO(0x00, add) /* ADD 0x00 -> 0x05 */
(gdb) backtrace full
#0 0x0284eac4 in Run (emu=0x2b9c168, step=step@entry=1)
at /mnt/crypt1/projects/builds/box86/src/emu/x86run.c:223
opcode = <optimized out>
nextop = <optimized out>
oped = <optimized out>
tmp8u = <optimized out>
tmp8u2 = <optimized out>
tmp8s = <optimized out>
tmp16u = <optimized out>
tmp16u2 = <optimized out>
tmp16s = <optimized out>
tmp32u = <optimized out>
tmp32u2 = <optimized out>
tmp32u3 = 45728104
tmp32s = 42
tmp32s2 = <optimized out>
tmp64u = <optimized out>
tmp64s = 193131747012969344
ip = <optimized out>
d = -4.5134922801628499e+269
f = 2.7248345e-37
ll = <optimized out>
opex = <optimized out>
eax1 = {q = {181331702115, 4159396636}, sq = {181331702115, 4159396636}, d = {
8.9589764516940007e-313, 2.0550149852752483e-314}, f = {4.34381764e-05,
5.88545355e-44, -9.54716937e+33, 0}, ud = {943075683, 42, 4159396636, 0}, sd = {
943075683, 42, -135570660, 0}, uw = {12643, 14390, 42, 0, 23324, 63467, 0, 0},
sw = {12643, 14390, 42, 0, 23324, -2069, 0, 0},
ub = "c168*\000\000\000\034[\353\367\000\000\000",
sb = "c168*\000\000\000\034[\353\367\000\000\000"}
opx2 = 0x0
opem = <optimized out>
eam1 = {q = 4134922383503937840, sq = 4134922383503937840, ud = {43012400,
962736640}, sd = {43012400, 962736640}, uw = {20784, 656, 12800, 14690}, sw = {
20784, 656, 12800, 14690}, ub = "0Q\220\002\000\062b9",
sb = "0Q\220\002\000\062b9"}
baseopcodes = {0x285d06c <Run+58876>, 0x285d0e8 <Run+59000>, 0x285d164 <Run+59124>,
0x285d1e0 <Run+59248>, 0x285d25c <Run+59372>, 0x285d298 <Run+59432>,
0x2854e0c <Run+25500>, 0x2854e38 <Run+25544>, 0x285d2d4 <Run+59492>,
0x285d348 <Run+59608>, 0x285d3bc <Run+59724>, 0x285d430 <Run+59840>,
0x285d4a4 <Run+59956>, 0x285d4d8 <Run+60008>, 0x2854e6c <Run+25596>,
0x2854e98 <Run+25640>, 0x285d50c <Run+60060>, 0x285d578 <Run+60168>,
0x285d5e4 <Run+60276>, 0x285d650 <Run+60384>, 0x285d6bc <Run+60492>,
0x285d6e8 <Run+60536>, 0x285af28 <Run+50360>, 0x285af54 <Run+50404>,
0x285d714 <Run+60580>, 0x285d780 <Run+60688>, 0x285d7ec <Run+60796>,
0x285d858 <Run+60904>, 0x285d8c4 <Run+61012>, 0x285d8f0 <Run+61056>,
0x285af88 <Run+50456>, 0x285afb4 <Run+50500>, 0x285d91c <Run+61100>,
0x285d990 <Run+61216>, 0x285da04 <Run+61332>, 0x285da78 <Run+61448>,
0x285daec <Run+61564>, 0x285db20 <Run+61616>, 0x285afe8 <Run+50552>,
0x285b000 <Run+50576>, 0x285db54 <Run+61668>, 0x285dbd0 <Run+61792>,
0x285dc4c <Run+61916>, 0x285dcc8 <Run+62040>, 0x285dd44 <Run+62164>,
0x285dd80 <Run+62224>, 0x285b028 <Run+50616>, 0x285b040 <Run+50640>,
0x285ddbc <Run+62284>, 0x285de30 <Run+62400>, 0x285dea4 <Run+62516>,
0x285df18 <Run+62632>, 0x285df8c <Run+62748>, 0x285dfc0 <Run+62800>,
0x285b068 <Run+50680>, 0x285b080 <Run+50704>, 0x285dff4 <Run+62852>,
0x285e05c <Run+62956>, 0x285e0c4 <Run+63060>, 0x285e12c <Run+63164>,
0x2854dbc <Run+25420>, 0x2854de4 <Run+25460>, 0x285b0a8 <Run+50744>,
0x285b0c0 <Run+50768>, 0x285b0e8 <Run+50808>, 0x2853120 <Run+18096>,
0x2853124 <Run+18100>, 0x2853114 <Run+18084>, 0x2853118 <Run+18088>,
0x285311c <Run+18092>, 0x284eca8 <Run+568>, 0x284eca8 <Run+568>,
0x2853128 <Run+18104>, 0x285312c <Run+18108>, 0x2853130 <Run+18112>,
0x2853134 <Run+18116>, 0x2853138 <Run+18120>, 0x285313c <Run+18124>,
0x284ec70 <Run+512>, 0x284ec70 <Run+512>, 0x284f948 <Run+3800>,
0x284f94c <Run+3804>, 0x284fb18 <Run+4264>, 0x284fb1c <Run+4268>,
0x2853140 <Run+18128>, 0x284fb20 <Run+4272>, 0x284ed84 <Run+788>,
0x284ed84 <Run+788>, 0x28570e8 <Run+34424>, 0x28570f0 <Run+34432>,
0x28570f4 <Run+34436>, 0x284f950 <Run+3808>, 0x284f954 <Run+3812>,
0x284f958 <Run+3816>, 0x284ec40 <Run+464>, 0x284ec40 <Run+464>,
0x284f95c <Run+3820>, 0x284fa10 <Run+4000>, 0x284fa9c <Run+4140>,
0x284ee58 <Run+1000>, 0x284fae0 <Run+4208>, 0x28507b8 <Run+7496>,
0x284eeec <Run+1148>, 0x2853878 <Run+19976>, 0x28538b0 <Run+20032>,
0x28538dc <Run+20076>, 0x28535cc <Run+19292>, 0x28535fc <Run+19340>,
0x285367c <Run+19468>, 0x28536c4 <Run+19540>, 0x285370c <Run+19612>,
0x285373c <Run+19660>, 0x285376c <Run+19708>, 0x28537a0 <Run+19760>,
0x2854ab8 <Run+24648>, 0x2854aec <Run+24700>, 0x2854b20 <Run+24752>,
0x2854b54 <Run+24804>, 0x2854b88 <Run+24856>, 0x2854bc0 <Run+24912>,
0x2854c00 <Run+24976>, 0x2854c34 <Run+25028>, 0x2854c68 <Run+25080>,
0x2854c9c <Run+25132>, 0x2854cd0 <Run+25184>, 0x2854d08 <Run+25240>,
0x2854d40 <Run+25296>, 0x2854d78 <Run+25352>, 0x284f2d0 <Run+2144>,
0x28570f8 <Run+34440>, 0x284f2d0 <Run+2144>, 0x2857170 <Run+34560>,
0x28571c4 <Run+34644>, 0x285722c <Run+34748>, 0x2857294 <Run+34852>,
0x2857314 <Run+34980>, 0x285738c <Run+35100>, 0x28573ec <Run+35196>,
0x285744c <Run+35292>, 0x28574ac <Run+35388>, 0x285750c <Run+35484>,
0x2857570 <Run+35584>, 0x28575cc <Run+35676>, 0x2857638 <Run+35784>,
0x2854480 <Run+23056>, 0x2854498 <Run+23080>, 0x2854664 <Run+23540>,
0x2854668 <Run+23544>, 0x285466c <Run+23548>, 0x2854670 <Run+23552>,
0x284ed28 <Run+696>, 0x284ed28 <Run+696>, 0x28534b8 <Run+19016>,
0x28534d8 <Run+19048>, 0x284ee58 <Run+1000>, 0x2852720 <Run+15536>,
0x2852738 <Run+15560>, 0x2852778 <Run+15624>, 0x28527c4 <Run+15700>,
0x2852810 <Run+15776>, 0x2852844 <Run+15828>, 0x2852868 <Run+15864>,
0x285288c <Run+15900>, 0x2856c58 <Run+33256>, 0x2856c7c <Run+33292>,
0x2856cc8 <Run+33368>, 0x2856d14 <Run+33444>, 0x2856d5c <Run+33516>,
0x2856da4 <Run+33588>, 0x2856dcc <Run+33628>, 0x2856df4 <Run+33668>,
0x2856e34 <Run+33732>, 0x2856e74 <Run+33796>, 0x2856eac <Run+33852>,
0x2856ee4 <Run+33908>, 0x2856f2c <Run+33980>, 0x2856f74 <Run+34052>,
0x2856f78 <Run+34056>, 0x284eddc <Run+876>, 0x284eddc <Run+876>,
0x28507f0 <Run+7552>, 0x28570ec <Run+34428>, 0x284edb4 <Run+836>,
0x284edb4 <Run+836>, 0x28570e4 <Run+34420>, 0x28570dc <Run+34412>,
0x28570e0 <Run+34416>, 0x2856f7c <Run+34060>, 0x2856f80 <Run+34064>,
0x2856f84 <Run+34068>, 0x284eaf8 <Run+136>, 0x284eaf8 <Run+136>,
0x2856f88 <Run+34072>, 0x2856ff8 <Run+34184>, 0x2857070 <Run+34304>,
0x28570ac <Run+34364>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x28531a8 <Run+18232>, 0x2853200 <Run+18320>...}
opcodes0f = {0x2854eb0 <Run+25664>, 0x2854f24 <Run+25780>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x2854f8c <Run+25884>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x2854fb0 <Run+25920>, 0x285502c <Run+26044>,
0x28550a4 <Run+26164>, 0x2855108 <Run+26264>, 0x285516c <Run+26364>,
0x28551dc <Run+26476>, 0x2855250 <Run+26592>, 0x28552b8 <Run+26696>,
0x2855320 <Run+26800>, 0x284ee58 <Run+1000>, 0x28565f8 <Run+31624>,
0x285663c <Run+31692>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x2856680 <Run+31760>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x28566c4 <Run+31828>, 0x2856740 <Run+31952>,
0x28567bc <Run+32076>, 0x2856830 <Run+32192>, 0x28568ac <Run+32316>,
0x2856b40 <Run+32976>, 0x284ef04 <Run+1172>, 0x284ef04 <Run+1172>,
0x284ee58 <Run+1000>, 0x284f920 <Run+3760>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x285692c <Run+32444>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x28569d8 <Run+32616>, 0x2856a50 <Run+32736>,
0x2856ac8 <Run+32856>, 0x2855f20 <Run+29872>, 0x2855f98 <Run+29992>,
0x2856010 <Run+30112>, 0x2856088 <Run+30232>, 0x2856100 <Run+30352>,
0x2856184 <Run+30484>, 0x28561fc <Run+30604>, 0x2856274 <Run+30724>,
0x28562ec <Run+30844>, 0x2856364 <Run+30964>, 0x28563e0 <Run+31088>,
0x2856450 <Run+31200>, 0x28564c8 <Run+31320>, 0x2855d90 <Run+29472>,
0x2855e10 <Run+29600>, 0x2855e94 <Run+29732>, 0x285b0ec <Run+50812>,
0x285b168 <Run+50936>, 0x285b1e0 <Run+51056>, 0x285b258 <Run+51176>,
0x285b2d0 <Run+51296>, 0x285b348 <Run+51416>, 0x285b3c4 <Run+51540>,
0x285b440 <Run+51664>, 0x285b4b8 <Run+51784>, 0x285b550 <Run+51936>,
0x285b5cc <Run+52060>, 0x285b680 <Run+52240>, 0x285b6fc <Run+52364>,
0x285b7b0 <Run+52544>, 0x285b83c <Run+52684>, 0x285b8c4 <Run+52820>,
0x285b920 <Run+52912>, 0x285bac4 <Run+53332>, 0x285bb44 <Run+53460>,
0x285bbc8 <Run+53592>, 0x285bc4c <Run+53724>, 0x285bd10 <Run+53920>,
0x285bdb4 <Run+54084>, 0x285be48 <Run+54232>, 0x285bebc <Run+54348>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x285bfe4 <Run+54644>,
0x285c054 <Run+54756>, 0x285c0bc <Run+54860>, 0x285c14c <Run+55004>,
0x285c1ec <Run+55164>, 0x285c28c <Run+55324>, 0x285c328 <Run+55480>,
0x285cad8 <Run+57448>, 0x285cb5c <Run+57580>, 0x285cbe0 <Run+57712>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x285cc04 <Run+57748>, 0x285cc68 <Run+57848>, 0x2856550 <Run+31456>,
0x2856588 <Run+31512>, 0x28565c0 <Run+31568>, 0x2855378 <Run+26888>,
0x28553b0 <Run+26944>, 0x28553e8 <Run+27000>, 0x2855420 <Run+27056>,
0x285545c <Run+27116>, 0x28554a0 <Run+27184>, 0x28554d8 <Run+27240>,
0x2855510 <Run+27296>, 0x2855548 <Run+27352>, 0x2855580 <Run+27408>,
0x28555bc <Run+27468>, 0x28555f8 <Run+27528>, 0x2855634 <Run+27588>,
0x285567c <Run+27660>, 0x28556e8 <Run+27768>, 0x2855754 <Run+27876>,
0x28557c0 <Run+27984>, 0x285582c <Run+28092>, 0x2855898 <Run+28200>,
0x2855904 <Run+28308>, 0x2855980 <Run+28432>, 0x28559f8 <Run+28552>,
0x2855a64 <Run+28660>, 0x2855ad0 <Run+28768>, 0x2855b3c <Run+28876>,
0x2855ba8 <Run+28984>, 0x2855c18 <Run+29096>, 0x2855c8c <Run+29212>,
0x2855d0c <Run+29340>, 0x285ccd0 <Run+57952>, 0x285ccfc <Run+57996>,
0x285cd30 <Run+58048>, 0x285cfbc <Run+58700>, 0x284efb0 <Run+1344>,
0x284efb0 <Run+1344>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x285d040 <Run+58832>, 0x2856b98 <Run+33064>, 0x284ee58 <Run+1000>,
0x2856bcc <Run+33116>, 0x284f040 <Run+1488>, 0x284f040 <Run+1488>,
0x285c3a8 <Run+55608>, 0x285c424 <Run+55732>, 0x285c49c <Run+55852>,
0x285c524 <Run+55988>, 0x284ee58 <Run+1000>, 0x285c59c <Run+56108>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x285c630 <Run+56256>,
0x285c688 <Run+56344>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x285c6e8 <Run+56440>, 0x285c714 <Run+56484>, 0x285c7a4 <Run+56628>,
0x285c818 <Run+56744>, 0x285c88c <Run+56860>, 0x285c8e4 <Run+56948>,
0x285c944 <Run+57044>, 0x285c9c8 <Run+57176>, 0x285ca4c <Run+57308>,
0x284ee58 <Run+1000>, 0x2859888 <Run+44568>, 0x2859900 <Run+44688>,
0x2859968 <Run+44792>, 0x2859a20 <Run+44976>...}
opcodes66 = {0x284ee58 <Run+1000>, 0x28506b8 <Run+7240>, 0x284ee58 <Run+1000>,
0x2850738 <Run+7368>, 0x284ee58 <Run+1000>, 0x2850558 <Run+6888>,
0x284fee4 <Run+5236>, 0x284ff0c <Run+5276>, 0x284ee58 <Run+1000>,
0x2850594 <Run+6948>, 0x284ee58 <Run+1000>, 0x285060c <Run+7068>,
0x284ee58 <Run+1000>, 0x2850684 <Run+7188>, 0x284ee58 <Run+1000>,
0x284ff38 <Run+5320>, 0x284ee58 <Run+1000>, 0x2850250 <Run+6112>,
0x284ee58 <Run+1000>, 0x28502c0 <Run+6224>, 0x284ee58 <Run+1000>,
0x2850330 <Run+6336>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x285035c <Run+6380>, 0x284ee58 <Run+1000>,
0x28503cc <Run+6492>, 0x284ee58 <Run+1000>, 0x285043c <Run+6604>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x2850468 <Run+6648>, 0x284ee58 <Run+1000>, 0x28504e0 <Run+6768>,
0x284ee58 <Run+1000>, 0x284fc50 <Run+4576>, 0x2852f6c <Run+17660>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284fc84 <Run+4628>,
0x284ee58 <Run+1000>, 0x284fd04 <Run+4756>, 0x284ee58 <Run+1000>,
0x284fd84 <Run+4884>, 0x2852f84 <Run+17684>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284fdc0 <Run+4944>, 0x284ee58 <Run+1000>,
0x284fe38 <Run+5064>, 0x284ee58 <Run+1000>, 0x284feb0 <Run+5184>,
0x2852f9c <Run+17708>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x2852fb4 <Run+17732>, 0x284ee58 <Run+1000>, 0x2853020 <Run+17840>,
0x284ee58 <Run+1000>, 0x285308c <Run+17948>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x28530b4 <Run+17988>, 0x28530b8 <Run+17992>,
0x28530bc <Run+17996>, 0x28530c0 <Run+18000>, 0x28530c4 <Run+18004>,
0x28530c8 <Run+18008>, 0x284ebd8 <Run+360>, 0x284ebd8 <Run+360>,
0x28530cc <Run+18012>, 0x28530d0 <Run+18016>, 0x28530d4 <Run+18020>,
0x28530d8 <Run+18024>, 0x28530dc <Run+18028>, 0x28530e0 <Run+18032>,
0x284eb9c <Run+300>, 0x284eb9c <Run+300>, 0x28530e4 <Run+18036>,
0x28530e8 <Run+18040>, 0x28530ec <Run+18044>, 0x28530f0 <Run+18048>,
0x28530f4 <Run+18052>, 0x28530f8 <Run+18056>, 0x284eb70 <Run+256>,
0x284eb70 <Run+256>, 0x28530fc <Run+18060>, 0x2853100 <Run+18064>,
0x2853104 <Run+18068>, 0x2853108 <Run+18072>, 0x285310c <Run+18076>,
0x2853110 <Run+18080>, 0x284eb44 <Run+212>, 0x284eb44 <Run+212>,
0x28576a0 <Run+35888>, 0x285771c <Run+36012>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284eeec <Run+1148>, 0x284ee58 <Run+1000>, 0x2857a18 <Run+36776>,
0x2857a3c <Run+36812>, 0x2857ab8 <Run+36936>, 0x2857ae0 <Run+36976>,
0x284ee58 <Run+1000> <repeats 21 times>, 0x284f0d0 <Run+1632>,
0x284ee58 <Run+1000>, 0x284f0d0 <Run+1632>, 0x284ee58 <Run+1000>,
0x2857b5c <Run+37100>, 0x284ee58 <Run+1000>, 0x2857794 <Run+36132>,
0x284ee58 <Run+1000>, 0x2857800 <Run+36240>, 0x284ee58 <Run+1000>,
0x2857864 <Run+36340>, 0x28578c8 <Run+36440>, 0x284ee58 <Run+1000>,
0x2857930 <Run+36544>, 0x285799c <Run+36652>, 0x28579fc <Run+36748>,
0x2857a14 <Run+36772>, 0x2854858 <Run+24040>, 0x285485c <Run+24044>,
0x2854860 <Run+24048>, 0x2854864 <Run+24052>, 0x284ed54 <Run+740>,
0x284ed54 <Run+740>, 0x2854868 <Run+24056>, 0x2854888 <Run+24088>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x2854674 <Run+23556>,
0x28546ac <Run+23612>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x2854714 <Run+23716>, 0x284ee58 <Run+1000>,
0x2854738 <Run+23752>, 0x284ee58 <Run+1000>, 0x285475c <Run+23788>,
0x284ee58 <Run+1000>, 0x28547a8 <Run+23864>, 0x284ee58 <Run+1000>,
0x28547f0 <Run+23936>, 0x284ee58 <Run+1000>, 0x2854818 <Run+23976>,
0x284ee58 <Run+1000>, 0x28548ac <Run+24124>, 0x284ee58 <Run+1000>,
0x28548e4 <Run+24180>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x285492c <Run+24252>, 0x2854930 <Run+24256>, 0x2854934 <Run+24260>,
0x2854938 <Run+24264>, 0x285493c <Run+24268>, 0x2854940 <Run+24272>,
0x284eb1c <Run+172>, 0x284eb1c <Run+172>, 0x284ee58 <Run+1000>,
0x2854944 <Run+24276>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x28549bc <Run+24396>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284f1ec <Run+1916>, 0x284ee58 <Run+1000>...}
opcodes660f = {0x284ee58 <Run+1000> <repeats 16 times>, 0x285211c <Run+13996>,
0x2852198 <Run+14120>, 0x2852210 <Run+14240>, 0x2852278 <Run+14344>,
0x28522e0 <Run+14448>, 0x2852348 <Run+14552>, 0x28523bc <Run+14668>,
0x2852424 <Run+14772>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x285248c <Run+14876>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x28524d0 <Run+14944>,
0x285254c <Run+15068>, 0x28525c8 <Run+15192>, 0x284ee58 <Run+1000>,
0x2852640 <Run+15312>, 0x28526c8 <Run+15448>, 0x284f34c <Run+2268>,
0x284f34c <Run+2268>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x2859408 <Run+43416>, 0x284ee58 <Run+1000>, 0x28594e0 <Run+43632>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ff50 <Run+5344>,
0x284ffd0 <Run+5472>, 0x2850050 <Run+5600>, 0x28500d0 <Run+5728>,
0x2850150 <Run+5856>, 0x28501d0 <Run+5984>, 0x2851c08 <Run+12696>,
0x2851c88 <Run+12824>, 0x2851d14 <Run+12964>, 0x2851d94 <Run+13092>,
0x2851e14 <Run+13220>, 0x2851e94 <Run+13348>, 0x2851f14 <Run+13476>,
0x2851f98 <Run+13608>, 0x285200c <Run+13724>, 0x285208c <Run+13852>,
0x285cd54 <Run+58084>, 0x285cdbc <Run+58188>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x285ce5c <Run+58348>, 0x285cf0c <Run+58524>,
0x28507f4 <Run+7556>, 0x28508a4 <Run+7732>, 0x2850954 <Run+7908>,
0x28509d8 <Run+8040>, 0x2850a5c <Run+8172>, 0x2850ae8 <Run+8312>,
0x2850b88 <Run+8472>, 0x2850c0c <Run+8604>, 0x2850d1c <Run+8876>,
0x2850da0 <Run+9008>, 0x2850eb0 <Run+9280>, 0x2850f58 <Run+9448>,
0x2851024 <Run+9652>, 0x2851094 <Run+9764>, 0x2851160 <Run+9968>,
0x28511e8 <Run+10104>, 0x285126c <Run+10236>, 0x28512ec <Run+10364>,
0x28513b8 <Run+10568>, 0x2851470 <Run+10752>, 0x285153c <Run+10956>,
0x28515c8 <Run+11096>, 0x28516b4 <Run+11332>, 0x285171c <Run+11436>,
0x2851790 <Run+11552>, 0x2851810 <Run+11680>, 0x285188c <Run+11804>,
0x2851918 <Run+11944>, 0x28519d8 <Run+12136>, 0x2851a98 <Run+12328>,
0x2851afc <Run+12428>, 0x2851b84 <Run+12564>, 0x2859598 <Run+43816>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x2859618 <Run+43944>, 0x285967c <Run+44044>,
0x284ee58 <Run+1000> <repeats 35 times>, 0x28596f8 <Run+44168>,
0x284f158 <Run+1768>, 0x284f158 <Run+1768>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x2859778 <Run+44296>, 0x284f88c <Run+3612>,
0x284f88c <Run+3612>, 0x284ee58 <Run+1000>, 0x2859810 <Run+44448>,
0x284ee58 <Run+1000>, 0x28592f8 <Run+43144>, 0x284ee58 <Run+1000>,
0x2859370 <Run+43264>, 0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>,
0x285917c <Run+42764>, 0x28591d8 <Run+42856>, 0x284ee58 <Run+1000>,
0x284ee58 <Run+1000>, 0x285923c <Run+42956>, 0x2859268 <Run+43000>,
0x2858d08 <Run+41624>, 0x2858d7c <Run+41740>, 0x2858df0 <Run+41856>,
0x284ee58 <Run+1000>, 0x284ee58 <Run+1000>, 0x2858e4c <Run+41948>,
0x2858ed4 <Run+42084>, 0x284ee58 <Run+1000>, 0x2858f64 <Run+42228>,
0x2858fdc <Run+42348>, 0x2859044 <Run+42452>, 0x284ee58 <Run+1000>,
0x28590e8 <Run+42616>, 0x28590ec <Run+42620>, 0x28590f0 <Run+42624>,
0x28590f4 <Run+42628>, 0x28590f8 <Run+42632>, 0x28590fc <Run+42636>,
0x284ec14 <Run+420>, 0x284ec14 <Run+420>, 0x284ee58 <Run+1000>,
0x2859100 <Run+42640>, 0x2857bc8 <Run+37208>, 0x2857c44 <Run+37332>,
0x2857cc0 <Run+37456>, 0x2857d70 <Run+37632>, 0x2857df0 <Run+37760>,
0x2857e54 <Run+37860>, 0x2857ec4 <Run+37972>, 0x2857f48 <Run+38104>,
0x2857fd0 <Run+38240>, 0x2858048 <Run+38360>, 0x28580f8 <Run+38536>,
0x2858180 <Run+38672>, 0x2858200 <Run+38800>, 0x2858278 <Run+38920>,
0x2858328 <Run+39096>, 0x28583b0 <Run+39232>, 0x2858440 <Run+39376>,
0x28584d0 <Run+39520>, 0x2858554 <Run+39652>, 0x28585d4 <Run+39780>,
0x2858658 <Run+39912>...}
sib = <optimized out>
base = <optimized out>
base = <optimized out>
sib = <optimized out>
sib = <optimized out>
base = <optimized out>
base = <optimized out>
sib = <optimized out>
sib = <optimized out>
base = <optimized out>
base = <optimized out>
sib = <optimized out>
#1 0x028921d8 in DynaCall (emu=emu@entry=0x2b9c168, addr=addr@entry=4123930068)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:119
old_ebx = 45715680
old_esi = 45728104
old_ebp = 0
block = 0x0
current = 0x0
old_esp = 4153344896
old_edi = 0
old_eip = 0
#2 0x028153a8 in RunFunctionWithEmu (emu=emu@entry=0x2b9c168,
QuitOnLongJump=QuitOnLongJump@entry=0, fnc=fnc@entry=4123930068, nargs=3)
at /mnt/crypt1/projects/builds/box86/src/tools/callback.c:328
p = <optimized out>
va = {__ap = 0xfffef178}
oldip = 0
old_quit = 0
oldlong = 0
ret = <optimized out>
#3 0x0283fe0c in RunElfInit (h=0x2c5d450, emu=emu@entry=0x2b9c168)
at /mnt/crypt1/projects/builds/box86/src/elfs/elfloader.c:803
p = <optimized out>
context = 0xf796a008
addr = <optimized out>
#4 0x02842e64 in RunElfInit (emu=<optimized out>, h=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/elfs/elfloader.c:787
p = <optimized out>
context = <optimized out>
addr = <optimized out>
p = <optimized out>
context = <optimized out>
addr = <optimized out>
i = <optimized out>
#5 RunDeferedElfInit (emu=emu@entry=0x2b9c168)
at /mnt/crypt1/projects/builds/box86/src/elfs/elfloader.c:828
i = 0
context = 0xf796a008
#6 0x0280f564 in main (argc=<optimized out>, argv=<optimized out>, env=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/main.c:978
prog = 0xfffef4e0 "./WorldOfGoo.bin.x86"
nextarg = <optimized out>
ld_preload = {size = 0, cap = 0, paths = 0x0}
prgname = <optimized out>
f = <optimized out>
elf_header = 0x2b9a2b8
emu = 0x2b9c168
ret = <optimized out>
(gdb) info threads
Id Target Id Frame
* 1 Thread 0xf7d6b010 (LWP 130) "box86" 0x0284eac4 in Run (emu=0x2b9c168,
step=step@entry=1) at /mnt/crypt1/projects/builds/box86/src/emu/x86run.c:223
(gdb)

Or should I perhaps use other options and try again?
 
Latest version with the most recent version of Box86:

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))
--- DynaRec Block created @0x2c4a6a4:0x2c4a6b0 (0xf58e1300, 0x88 bytes, with 0 son(s))
--- DynaRec Block created @0x2ba9fa4:0x2ba9fab (0xf58e1400, 0x28 bytes, with 0 son(s))
Calling DynaRec Block @0x2ba9fa4 (0xf58e1400) of 1 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
Extend block 0xfffeef2c, 0xf5ce346a -> 0xf5ce346a (ninst=18)
Extend block 0xfffeef2c, 0xf5ce350d -> 0xf5ce350d (ninst=65)
Extend block 0xfffeef2c, 0xf5ce3534 -> 0xf5ce3534 (ninst=74)
Extend block 0xfffeef2c, 0xf5ce3557 -> 0xf5ce3557 (ninst=83)
--- DynaRec Block created @0xf5ce3440:0xf5ce3570 (0xf58e1500, 0x56c bytes, with 18 son(s))
Calling DynaRec Block @0xf5ce3440 (0xf58e1500) of 92 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
Calling DynaRec Block @0x2ba9fa4 (0xf58e1400) of 1 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5ce3850:0xf5ce3855 (0xf58e1b00, 0x18 bytes, with 0 son(s))
Calling DynaRec Block @0xf5ce3850 (0xf58e1b00) of 1 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5ce37b0:0xf5ce37f7 (0xf58e1c00, 0x264 bytes, with 3 son(s))
Calling DynaRec Block @0x2ba9fa4 (0xf58e1400) of 1 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5d69e80:0xf5d69ea3 (0xf58e1f00, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5d69e80 (0xf58e1f00) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5d6d310:0xf5d6d316 (0xf58e2100, 0x38 bytes, with 0 son(s))
Calling DynaRec Block @0x2ba9fa4 (0xf58e1400) of 1 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5d717a0:0xf5d717a5 (0xf58e2200, 0x18 bytes, with 0 son(s))
Calling DynaRec Block @0xf5d717a0 (0xf58e2200) of 1 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5d71700:0xf5d71747 (0xf58e2300, 0x26c bytes, with 3 son(s))
Calling DynaRec Block @0x2ba9fa4 (0xf58e1400) of 1 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
--- DynaRec Block created @0xf5d70e60:0xf5d70ee6 (0xf58e2600, 0x298 bytes, with 8 son(s))
Calling DynaRec Block @0xf5d70e60 (0xf58e2600) of 36 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26e0
Address 0x2bb08c8 not found in Elf memory and is not a native call wrapper
Calling Interpretor @0x2bb08c8, emu=0x2bb26e0

Program received signal SIGSEGV, Segmentation fault.
0x028563d8 in Run (emu=0x2bb26e0, step=-1207780599, step@entry=1)
at /mnt/crypt1/projects/builds/box86/src/emu/x86run.c:223
223 GO(0x00, add) /* ADD 0x00 -> 0x05 */
(gdb) backtrace full
#0 0x028563d8 in Run (emu=0x2bb26e0, step=-1207780599, step@entry=1)
at /mnt/crypt1/projects/builds/box86/src/emu/x86run.c:223
opcode = <optimized out>
nextop = <optimized out>
oped = <optimized out>
tmp8u = <optimized out>
tmp8u2 = <optimized out>
tmp8s = <optimized out>
tmp16u = <optimized out>
tmp16u2 = <optimized out>
tmp16s = <optimized out>
tmp32u = <optimized out>
tmp32u2 = <optimized out>
tmp32u3 = <optimized out>
tmp32s = 42221596
tmp32s2 = <optimized out>
tmp64u = <optimized out>
tmp64s = 196760676737196264
ip = <optimized out>
d = -1.8107200952211055e+258
f = 2.74822206e-37
ll = <optimized out>
opex = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
eax1 = {q = {7089284177149773352, 10229999122151454258}, sq = {
7089284177149773352, -8216744951558097358}, d = {
8.3830932735299951e+165, -2.2737105277709528e-241}, f = {
3.0456184e-37, 1.04314894e+21, 8.33867309e-10, -1.5300069e-30},
ud = {47138344, 1650602598, 811939378, 2381857280}, sd = {47138344,
1650602598, 811939378, -1913110016}, uw = {17960, 719, 12902,
25186, 13874, 12389, 16896, 36344}, sw = {17960, 719, 12902,
25186, 13874, 12389, 16896, -29192},
ub = "(F\317\002f2bb26e0\000", <incomplete sequence \370\215>,
sb = "(F\317\002f2bb26e0\000", <incomplete sequence \370\215>}
opem = <optimized out>
eam1 = {q = 8, sq = 8, ud = {8, 0}, sd = {8, 0}, uw = {8, 0, 0, 0},
sw = {8, 0, 0, 0}, ub = "\b\000\000\000\000\000\000",
sb = "\b\000\000\000\000\000\000"}
baseopcodes = {0x2856318 <Run+28400>, 0x285bcb8 <Run+51344>,
0x2856394 <Run+28524>, 0x285b924 <Run+50428>, 0x285b8e8 <Run+50368>,
0x285b8ac <Run+50308>, 0x28571ec <Run+32196>, 0x28571b8 <Run+32144>,
0x285b838 <Run+50192>, 0x285bc44 <Run+51228>, 0x285bbd0 <Run+51112>,
0x285bb5c <Run+50996>, 0x285bb28 <Run+50944>, 0x285a648 <Run+45600>,
0x285718c <Run+32100>, 0x28572b4 <Run+32396>, 0x285a5dc <Run+45492>,
0x285a570 <Run+45384>, 0x285a504 <Run+45276>, 0x285bdf8 <Run+51664>,
0x285bdcc <Run+51620>, 0x285bda0 <Run+51576>, 0x28520f4 <Run+11468>,
0x28520c0 <Run+11416>, 0x285bd34 <Run+51468>, 0x285bed0 <Run+51880>,
--Type <RET> for more, q to quit, c to continue without paging--
0x285be64 <Run+51772>, 0x285bf3c <Run+51988>, 0x285b80c <Run+50148>,
0x285bafc <Run+50900>, 0x2852094 <Run+11372>, 0x2852060 <Run+11320>,
0x285ba88 <Run+50784>, 0x285ba14 <Run+50668>, 0x285b9a0 <Run+50552>,
0x285bfdc <Run+52148>, 0x285bfa8 <Run+52096>, 0x285c050 <Run+52264>,
0x2852048 <Run+11296>, 0x2852020 <Run+11256>, 0x285a2e8 <Run+44736>,
0x2857400 <Run+32728>, 0x2857384 <Run+32604>, 0x2857308 <Run+32480>,
0x28572cc <Run+32420>, 0x2856e84 <Run+31324>, 0x2852008 <Run+11232>,
0x2851fe0 <Run+11192>, 0x2856e10 <Run+31208>, 0x2856d9c <Run+31092>,
0x2856d28 <Run+30976>, 0x2857118 <Run+31984>, 0x28570e4 <Run+31932>,
0x285754c <Run+33060>, 0x2851fc8 <Run+11168>, 0x2851fa0 <Run+11128>,
0x285707c <Run+31828>, 0x28574e4 <Run+32956>, 0x285747c <Run+32852>,
0x2856c34 <Run+30732>, 0x2856c0c <Run+30692>, 0x2857218 <Run+32240>,
0x2851f88 <Run+11104>, 0x2851f60 <Run+11064>, 0x2851f5c <Run+11060>,
0x2851f58 <Run+11056>, 0x2851f54 <Run+11052>, 0x2851f50 <Run+11048>,
0x2851f3c <Run+11028>, 0x2851f38 <Run+11024>, 0x284f6c0 <Run+664>,
0x284f6c0 <Run+664>, 0x2851f4c <Run+11044>, 0x2851f48 <Run+11040>,
0x2851f44 <Run+11036>, 0x2851f40 <Run+11032>, 0x2851228 <Run+7680>,
0x2851224 <Run+7676>, 0x284f688 <Run+608>, 0x284f688 <Run+608>,
0x2851234 <Run+7692>, 0x2851230 <Run+7688>, 0x285122c <Run+7684>,
0x2851208 <Run+7648>, 0x2851238 <Run+7696>, 0x2851204 <Run+7644>,
0x284f708 <Run+736>, 0x284f708 <Run+736>, 0x2851218 <Run+7664>,
0x2851214 <Run+7660>, 0x2851210 <Run+7656>, 0x285120c <Run+7652>,
0x2850de4 <Run+6588>, 0x2850de0 <Run+6584>, 0x284f658 <Run+560>,
--Type <RET> for more, q to quit, c to continue without paging--
0x284f658 <Run+560>, 0x2850ef0 <Run+6856>, 0x2850e64 <Run+6716>,
0x2850e20 <Run+6648>, 0x284f7fc <Run+980>, 0x2850de8 <Run+6592>,
0x28562e0 <Run+28344>, 0x284f7e0 <Run+952>, 0x2858924 <Run+38140>,
0x28588f8 <Run+38096>, 0x285887c <Run+37972>, 0x285884c <Run+37924>,
0x2856260 <Run+28216>, 0x2856218 <Run+28144>, 0x28561d0 <Run+28072>,
0x28561a0 <Run+28024>, 0x285c18c <Run+52580>, 0x285c158 <Run+52528>,
0x285849c <Run+36980>, 0x2858468 <Run+36928>, 0x285c120 <Run+52472>,
0x2855620 <Run+25080>, 0x28555ec <Run+25028>, 0x28555a8 <Run+24960>,
0x285c1f4 <Run+52684>, 0x285c0ec <Run+52420>, 0x285c0b8 <Run+52368>,
0x285c084 <Run+52316>, 0x28580e4 <Run+36028>, 0x28580ac <Run+35972>,
0x285c1bc <Run+52628>, 0x2858064 <Run+35900>, 0x2851c70 <Run+10312>,
0x28507b4 <Run+5004>, 0x2851260 <Run+7736>, 0x28507b4 <Run+5004>,
0x2851e04 <Run+10716>, 0x2851d9c <Run+10612>, 0x2851d34 <Run+10508>,
0x2851cb4 <Run+10380>, 0x285c354 <Run+53036>, 0x285c2f4 <Run+52940>,
0x285c294 <Run+52844>, 0x285c234 <Run+52748>, 0x285c428 <Run+53248>,
0x285c3c4 <Run+53148>, 0x285c488 <Run+53344>, 0x285856c <Run+37188>,
0x285c500 <Run+53464>, 0x285c4e8 <Run+53440>, 0x285c568 <Run+53568>,
0x285c154 <Run+52524>, 0x2855958 <Run+25904>, 0x2855954 <Run+25900>,
0x285c4e4 <Run+53436>, 0x284f738 <Run+784>, 0x284f738 <Run+784>,
0x2854f70 <Run+23368>, 0x285597c <Run+25940>, 0x284f7fc <Run+980>,
0x2855964 <Run+25916>, 0x2855c54 <Run+26668>, 0x2855c08 <Run+26592>,
0x2855bbc <Run+26516>, 0x2855b88 <Run+26464>, 0x28589c8 <Run+38304>,
0x28589a4 <Run+38268>, 0x2858980 <Run+38232>, 0x285895c <Run+38196>,
--Type <RET> for more, q to quit, c to continue without paging--
0x2858a3c <Run+38420>, 0x28589ec <Run+38340>, 0x2858a8c <Run+38500>,
0x2855c94 <Run+26732>, 0x2855b50 <Run+26408>, 0x2855b28 <Run+26368>,
0x2855ae8 <Run+26304>, 0x2855aa8 <Run+26240>, 0x2855a70 <Run+26184>,
0x2855a38 <Run+26128>, 0x28559f0 <Run+26056>, 0x28559a8 <Run+25984>,
0x2855960 <Run+25912>, 0x285595c <Run+25908>, 0x284f7bc <Run+916>,
0x284f7bc <Run+916>, 0x28559a4 <Run+25980>, 0x28559a0 <Run+25976>,
0x284f794 <Run+876>, 0x284f794 <Run+876>, 0x2859edc <Run+43700>,
0x2859ed8 <Run+43696>, 0x2859ed4 <Run+43692>, 0x2859ed0 <Run+43688>,
0x2859ee4 <Run+43708>, 0x2859ee0 <Run+43704>, 0x284f53c <Run+276>,
0x284f53c <Run+276>, 0x285a09c <Run+44148>, 0x2859f54 <Run+43820>,
0x2859f18 <Run+43760>, 0x2859ee8 <Run+43712>, 0x284f7fc <Run+980>,
0x284f7fc <Run+980>, 0x285a244 <Run+44572>, 0x285a1e4 <Run+44476>...}
opcodes0f = {0x2857240 <Run+32280>, 0x2856cc0 <Run+30872>,
0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>,
0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>,
0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>,
0x2856c9c <Run+30836>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>,
0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2857000 <Run+31704>,
0x2856f88 <Run+31584>, 0x2856f24 <Run+31484>, 0x2856ec0 <Run+31384>,
0x28558e4 <Run+25788>, 0x2855870 <Run+25672>, 0x2855808 <Run+25568>,
0x28557a0 <Run+25464>, 0x2851c18 <Run+10224>, 0x284f7fc <Run+980>,
0x2851bd4 <Run+10156>, 0x2856bc8 <Run+30624>, 0x284f7fc <Run+980>,
0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2851b90 <Run+10088>,
--Type <RET> for more, q to quit, c to continue without paging--c
0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2851b14 <Run+9964>, 0x2851a98 <Run+9840>, 0x2851a24 <Run+9724>, 0x28519a8 <Run+9600>, 0x28514f8 <Run+8400>, 0x28513a4 <Run+8060>, 0x28501b4 <Run+3468>, 0x28501b4 <Run+3468>, 0x284f7fc <Run+980>, 0x2851980 <Run+9560>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x28515f0 <Run+8648>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2856410 <Run+28648>, 0x2851578 <Run+8528>, 0x2856a48 <Run+30240>, 0x28569d0 <Run+30120>, 0x2856958 <Run+30000>, 0x28568e0 <Run+29880>, 0x2856b44 <Run+30492>, 0x2856ac0 <Run+30360>, 0x2856868 <Run+29760>, 0x28567f0 <Run+29640>, 0x2856778 <Run+29520>, 0x2856700 <Run+29400>, 0x2856684 <Run+29276>, 0x2856608 <Run+29152>, 0x2856580 <Run+29016>, 0x28564f8 <Run+28880>, 0x2855e60 <Run+27192>, 0x2855ddc <Run+27060>, 0x2857a9c <Run+34420>, 0x2857a20 <Run+34296>, 0x28579a8 <Run+34176>, 0x2857930 <Run+34056>, 0x28578b8 <Run+33936>, 0x2857840 <Run+33816>, 0x28577c4 <Run+33692>, 0x2857748 <Run+33568>, 0x2857cf0 <Run+35016>, 0x2857c58 <Run+34864>, 0x2857bdc <Run+34740>, 0x2857b28 <Run+34560>, 0x2857d68 <Run+35136>, 0x2857694 <Run+33388>, 0x2857608 <Run+33248>, 0x2857580 <Run+33112>, 0x285c9e0 <Run+54712>, 0x285c83c <Run+54292>, 0x285c7bc <Run+54164>, 0x285c738 <Run+54032>, 0x2857fe0 <Run+35768>, 0x2857f1c <Run+35572>, 0x2857e78 <Run+35408>, 0x2857de4 <Run+35260>, 0x28587d8 <Run+37808>, 0x28586b0 <Run+37512>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2858640 <Run+37400>, 0x28585d8 <Run+37296>, 0x2854860 <Run+21560>, 0x28547a0 <Run+21368>, 0x2854700 <Run+21208>, 0x2854664 <Run+21052>, 0x2850d60 <Run+6456>, 0x2850cdc <Run+6324>, 0x2850c58 <Run+6192>, 0x2850c34 <Run+6156>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2850a3c <Run+5652>, 0x28509d4 <Run+5548>, 0x28564c0 <Run+28824>, 0x2856488 <Run+28768>, 0x285ce78 <Run+55888>, 0x285ce08 <Run+55776>, 0x285ce40 <Run+55832>, 0x285cd98 <Run+55664>, 0x285cab8 <Run+54928>, 0x285ca74 <Run+54860>, 0x285cdd0 <Run+55720>, 0x285ca3c <Run+54804>, 0x285cd60 <Run+55608>, 0x285cd28 <Run+55552>, 0x285ccec <Run+55492>, 0x285ccb0 <Run+55432>, 0x285841c <Run+36852>, 0x28583d4 <Run+36780>, 0x2858368 <Run+36672>, 0x28582fc <Run+36564>, 0x285cc44 <Run+55324>, 0x285cbd8 <Run+55216>, 0x285cb6c <Run+55108>, 0x285cb00 <Run+55000>, 0x285c6bc <Run+53908>, 0x285c644 <Run+53788>, 0x285c5d8 <Run+53680>, 0x285c56c <Run+53572>, 0x2856134 <Run+27916>, 0x28560c8 <Run+27808>, 0x2856058 <Run+27696>, 0x2855fe4 <Run+27580>, 0x2855f64 <Run+27452>, 0x2855ee0 <Run+27320>, 0x28509a8 <Run+5504>, 0x2850974 <Run+5452>, 0x2850c10 <Run+6120>, 0x2850b8c <Run+5988>, 0x28508f0 <Run+5320>, 0x28508f0 <Run+5320>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2850b60 <Run+5944>, 0x2850b2c <Run+5892>, 0x284f7fc <Run+980>, 0x2850aa0 <Run+5752>, 0x2850260 <Run+3640>, 0x2850260 <Run+3640>, 0x285818c <Run+36196>, 0x2855d64 <Run+26940>, 0x2855cdc <Run+26804>, 0x28584f0 <Run+37064>, 0x284f7fc <Run+980>, 0x285570c <Run+25316>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x28556b4 <Run+25228>, 0x2855654 <Run+25132>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2854458 <Run+20528>, 0x28543c8 <Run+20384>, 0x2858118 <Run+36080>, 0x2854354 <Run+20268>, 0x28542fc <Run+20180>, 0x285429c <Run+20084>, 0x2854218 <Run+19952>, 0x2854194 <Run+19820>, 0x285379c <Run+17268>, 0x285373c <Run+17172>, 0x28539ac <Run+17796>, 0x28536d4 <Run+17068>, 0x2853618 <Run+16880>, 0x2853598 <Run+16752>...}
opcodes66 = {0x284f7fc <Run+980>, 0x2851184 <Run+7516>, 0x284f7fc <Run+980>, 0x2851104 <Run+7388>, 0x284f7fc <Run+980>, 0x28510c8 <Run+7328>, 0x2853bd0 <Run+18344>, 0x2853ba4 <Run+18300>, 0x284f7fc <Run+980>, 0x2851050 <Run+7208>, 0x284f7fc <Run+980>, 0x2850fd8 <Run+7088>, 0x284f7fc <Run+980>, 0x2850fa4 <Run+7036>, 0x284f7fc <Run+980>, 0x2853b6c <Run+18244>, 0x284f7fc <Run+980>, 0x2854088 <Run+19552>, 0x284f7fc <Run+980>, 0x2854018 <Run+19440>, 0x284f7fc <Run+980>, 0x2853fec <Run+19396>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2853f7c <Run+19284>, 0x284f7fc <Run+980>, 0x2854124 <Run+19708>, 0x284f7fc <Run+980>, 0x28540f8 <Run+19664>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2853f04 <Run+19164>, 0x284f7fc <Run+980>, 0x2853e8c <Run+19044>, 0x284f7fc <Run+980>, 0x2853e58 <Run+18992>, 0x2853b54 <Run+18220>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2853dd8 <Run+18864>, 0x284f7fc <Run+980>, 0x2853d58 <Run+18736>, 0x284f7fc <Run+980>, 0x2853d1c <Run+18676>, 0x2853b3c <Run+18196>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2853ca4 <Run+18556>, 0x284f7fc <Run+980>, 0x2853c2c <Run+18436>, 0x284f7fc <Run+980>, 0x2853bf8 <Run+18384>, 0x2853b24 <Run+18172>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2853ab8 <Run+18064>, 0x284f7fc <Run+980>, 0x2853a4c <Run+17956>, 0x284f7fc <Run+980>, 0x2853a24 <Run+17916>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2855b84 <Run+26460>, 0x2855b80 <Run+26456>, 0x2855b7c <Run+26452>, 0x2855b78 <Run+26448>, 0x2851220 <Run+7672>, 0x285121c <Run+7668>, 0x284f61c <Run+500>, 0x284f61c <Run+500>, 0x2854a40 <Run+22040>, 0x2854a3c <Run+22036>, 0x2854a38 <Run+22032>, 0x2854a34 <Run+22028>, 0x2854a30 <Run+22024>, 0x2854a2c <Run+22020>, 0x284f5e0 <Run+440>, 0x284f5e0 <Run+440>, 0x2854a60 <Run+22072>, 0x2854a5c <Run+22068>, 0x2854a58 <Run+22064>, 0x2854a54 <Run+22060>, 0x2854a50 <Run+22056>, 0x2854a4c <Run+22052>, 0x284f5b4 <Run+396>, 0x284f5b4 <Run+396>, 0x2854a78 <Run+22096>, 0x2854a74 <Run+22092>, 0x2854a70 <Run+22088>, 0x2854a6c <Run+22084>, 0x2854a68 <Run+22080>, 0x2854a64 <Run+22076>, 0x284f588 <Run+352>, 0x284f588 <Run+352>, 0x2854b94 <Run+22380>, 0x2854b1c <Run+22260>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7e0 <Run+952>, 0x284f7fc <Run+980>, 0x2854af8 <Run+22224>, 0x2854c38 <Run+22544>, 0x2854c10 <Run+22504>, 0x2854a7c <Run+22100>, 0x284f7fc <Run+980> <repeats 21 times>, 0x28502e4 <Run+3772>, 0x284f7fc <Run+980>, 0x28502e4 <Run+3772>, 0x284f7fc <Run+980>, 0x28548f0 <Run+21704>, 0x284f7fc <Run+980>, 0x28549c0 <Run+21912>, 0x284f7fc <Run+980>, 0x285495c <Run+21812>, 0x284f7fc <Run+980>, 0x28550ec <Run+23748>, 0x2855088 <Run+23648>, 0x284f7fc <Run+980>, 0x285501c <Run+23540>, 0x2854fbc <Run+23444>, 0x2854fa4 <Run+23420>, 0x2854fa0 <Run+23416>, 0x2854f9c <Run+23412>, 0x2854f98 <Run+23408>, 0x2854f94 <Run+23404>, 0x2854f90 <Run+23400>, 0x284f764 <Run+828>, 0x284f764 <Run+828>, 0x2854f50 <Run+23336>, 0x2854f2c <Run+23300>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2854ef4 <Run+23244>, 0x2854e8c <Run+23140>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2854e68 <Run+23104>, 0x284f7fc <Run+980>, 0x2854e44 <Run+23068>, 0x284f7fc <Run+980>, 0x2854df4 <Run+22988>, 0x284f7fc <Run+980>, 0x2854dac <Run+22916>, 0x284f7fc <Run+980>, 0x2854d84 <Run+22876>, 0x284f7fc <Run+980>, 0x2854d44 <Run+22812>, 0x284f7fc <Run+980>, 0x2854d0c <Run+22756>, 0x284f7fc <Run+980>, 0x2854cc4 <Run+22684>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2854cc0 <Run+22680>, 0x2854cbc <Run+22676>, 0x2854cb8 <Run+22672>, 0x2854cb4 <Run+22668>, 0x2854a48 <Run+22048>, 0x2854a44 <Run+22044>, 0x284f560 <Run+312>, 0x284f560 <Run+312>, 0x284f7fc <Run+980>, 0x28552d0 <Run+24232>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2855270 <Run+24136>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x284f7fc <Run+980>, 0x2850434 <Run+4108>, 0x284f7fc <Run+980>...}
sib = <optimized out>
base = <optimized out>
base = <optimized out>
sib = <optimized out>
sib = <optimized out>
base = <optimized out>
base = <optimized out>
sib = <optimized out>
#1 0x02893b80 in DynaCall (emu=emu@entry=0x2bb26e0, addr=<optimized out>) at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:119
old_ebx = 45810912
old_esi = 45819616
old_ebp = 0
block = 0x0
current = 0x0
old_esp = 4153344944
old_edi = 0
old_eip = 0
#2 0x02815dd0 in RunFunctionWithEmu (emu=emu@entry=0x2bb26e0, QuitOnLongJump=QuitOnLongJump@entry=0, fnc=<optimized out>, nargs=3) at /mnt/crypt1/projects/builds/box86/src/tools/callback.c:328
p = <optimized out>
va = {__ap = 0xfffef178}
oldip = 0
old_quit = 0
oldlong = 0
ret = <optimized out>
#3 0x02840734 in RunElfInit (h=0x2c4b538, emu=emu@entry=0x2bb26e0) at /mnt/crypt1/projects/builds/box86/src/elfs/elfloader.c:809
i = 1
p = <optimized out>
context = 0xf796a008
addr = <optimized out>
#4 0x02843874 in RunElfInit (emu=<optimized out>, h=<optimized out>) at /mnt/crypt1/projects/builds/box86/src/elfs/elfloader.c:787
p = <optimized out>
context = <optimized out>
addr = <optimized out>
p = <optimized out>
context = <optimized out>
addr = <optimized out>
i = <optimized out>
#5 RunDeferedElfInit (emu=emu@entry=0x2bb26e0) at /mnt/crypt1/projects/builds/box86/src/elfs/elfloader.c:828
i = 1
context = 0xf796a008
#6 0x0280fff0 in main (argc=<optimized out>, argv=<optimized out>, env=<optimized out>) at /mnt/crypt1/projects/builds/box86/src/main.c:970
prog = 0xfffef4df "./WorldOfGoo.bin.x86"
nextarg = <optimized out>
ld_preload = {size = 0, cap = 0, paths = 0x0}
prgname = <optimized out>
f = <optimized out>
elf_header = 0x2bb36e8
emu = 0x2bb26e0
ret = <optimized out>
(gdb) continue
Continuing.

Program received signal SIGSEGV, Segmentation fault.
my_box86signalhandler (sig=11, info=0xfffeecd0, ucntx=0xfffeed50)
at /mnt/crypt1/projects/builds/box86/src/libtools/signals.c:352
352 x86pc = R_EIP; // sadly, r12 is probably not actual eip, so try a slightly outdated one
(gdb) info threads
Id Target Id Frame
* 1 Thread 0xf7d6b010 (LWP 99) "box86" my_box86signalhandler (sig=11, info=0xfffeecd0,
ucntx=0xfffeed50) at /mnt/crypt1/projects/builds/box86/src/libtools/signals.c:352
(gdb) thread 1
[Switching to thread 1 (Thread 0xf7d6b010 (LWP 99))]
#0 my_box86signalhandler (sig=11, info=0xfffeecd0, ucntx=0xfffeed50)
at /mnt/crypt1/projects/builds/box86/src/libtools/signals.c:352
352 x86pc = R_EIP; // sadly, r12 is probably not actual eip, so try a slightly outdated one
(gdb) continue
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb)

Hope this sheds some light on the illegal instruction error.
 
That is very strange.

I need to check a few things also on my side. What version of World Of Goo are you running, the "old" version or the refresh 1.53?
 
Also @nomadicus it would be interresting to see a dynarec dump. Use "BOX86_DYNAREC_DUMP=2" to have a colored dump of all x86->arm block generated by the dynarec. The last block should be interresting.
 
@ptitSeb I'm using the GOG version of World of Goo downloaded a few weeks ago - so I assume it's the latest version, although I do have 2008 mode turned on in the configuration which turns off all the modern features. It's not just World of Goo though - I was just using that as it's a tried and true game for Box86 to run. The error also applies to wine explorer, Freedom Planet - or anything else that I've tested so far. It all works fine inside of a chroot (except for wine actually running any games, but I'm about to test the new Mesa 20.2 build - more on that later) - while producing the 'illegal instruction' segfault inside of a systemd-nspawn container - unless I turn the JIT off, after which everything does work.

A quick dump of dynarec on World of Goo:

BOX86_DYNAREC_DUMP=2 box86 ./WorldOfGoo.bin.x86
Dynarec blocks are dumped in color
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 41 Env var
Looking for ./WorldOfGoo.bin.x86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Emitting 316 bytes for 35 x86 bytes ( => /lib/i386-linux-gnu/libgcc_s.so.1/ + 7636)
0xf577fdd4: 53 PUSH reg
0xf537e000: 1 emited opcodes, state=0/0, set=0, use=0, need=0
e9280080 STMDB r8!, {r7}
0xf577fdd5: 83 EC 08 SUB Ed, Ib
0xf537e004: 1 emited opcodes, state=1/0, set=3F, use=0, need=0
e2488008 SUB r8, r8, #0x8
0xf577fdd8: E8 83 09 00 00 CALL Id
0xf537e008: 2 emited opcodes, state=1/1, set=3F, use=0, need=0
Hack for Call x86.get_pc_thunk.reg
e30f7ddd MOVW r7, #0xfddd
e34f7577 MOVT r7, #0xf577
0xf577fddd: 81 C3 23 B2 01 00 ADD Ed, Id
0xf537e010: 3 emited opcodes, state=1/1, set=3F, use=0, need=0
e30b3223 MOVW r3, #0xb223
e3403001 MOVT r3, #0x1
e0877003 ADD r7, r7, r3
0xf577fde3: 8B 83 F8 FF FF FF MOV Gd, Ed
0xf537e01c: 1 emited opcodes, state=0/1, set=0, use=0, need=0
e5174008 LDR r4, [r7, #-8]
0xf577fde9: 85 C0 TEST Ed, Gd
0xf537e020: 5 emited opcodes, state=1/1, set=3F, use=0, need=8
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e0143004 ANDS r3, r4, r4
0300c001 MOVWEQ r12, #0x1
e580c03c STR r12, [r0, #60]
0xf577fdeb: 74 05 JZ ib
0xf537e034: 3 emited opcodes, state=0/1, set=0, use=8, need=0
e590203c LDR r2, [r0, #60]
e3520001 CMP r2, #0x1
0a000013 BEQ +21
----> potential Son here
0xf577fded: E8 B6 02 00 00 CALL Id (=> /lib/i386-linux-gnu/libgcc_s.so.1/ + 8360)
0xf537e040: 20 emited opcodes, state=1/0, set=3F, use=0, need=0
CStack PUSH 0xf577fdf2/0xf537e090-----
e5902374 LDR r2, [r0, #884]
e3001378 MOVW r1, #0x378
e3100004 TST r0, #0x4
12811004 ADDNE r1, r1, #0x4
e0811182 ADD r1, r1, r2, lsl #3
e2822001 ADD r2, r2, #0x1
e202201f AND r2, r2, #0x1f
e5802374 STR r2, [r0, #884]
e30f2df2 MOVW r2, #0xfdf2
e34f2577 MOVT r2, #0xf577
e30e3090 MOVW r3, #0xe090
e34f3537 MOVT r3, #0xf537
e18020f1 STRD r2, r3, [r0, r1]
--------------CStack PUSH
e9280004 STMDB r8!, {r2}
Jump to linker (#0) nolinker=0
e300c0a8 MOVW r12, #0xa8
e34fc578 MOVT r12, #0xf578
e30f1260 MOVW r1, #0xf260
e3401450 MOVT r1, #0x450
e5912000 LDR r2, [r1, #0]
e12fff12 BX r2
----> potential Son here
0xf577fdf2: 83 C4 08 ADD Ed, Ib
0xf537e090: 27 emited opcodes, state=1/0, set=3F, use=0, need=3F
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e3883008 ORR r3, r8, #0x8
e208c008 AND r12, r8, #0x8
e2988008 ADDS r8, r8, #0x8
e1c33008 BIC r3, r3, r8
e183300c ORR r3, r3, r12
e7e0c1d3 UBFX r12, r3, #3, #1
e580c034 STR r12, [r0, #52]
13003000 MOVWNE r3, #0x0
03003001 MOVWEQ r3, #0x1
e580303c STR r3, [r0, #60]
2300c001 MOVWCS r12, #0x1
3300c000 MOVWCC r12, #0x0
e580c024 STR r12, [r0, #36]
7300c000 MOVWVC r12, #0x0
6300c001 MOVWVS r12, #0x1
e580c050 STR r12, [r0, #80]
e7e03fd8 UBFX r3, r8, #31, #1
e5803040 STR r3, [r0, #64]
e20830e0 AND r3, r8, #0xe0
e590c30c LDR r12, [r0, #780]
e79cc1a3 LDR r12, [r12, r3, lsr #3]
e208301f AND r3, r8, #0x1f
e1e0c33c MVN r12, r12, lsr r3
e20cc001 AND r12, r12, #0x1
e580c02c STR r12, [r0, #44]
0xf577fdf5: 5B POP reg
0xf537e0fc: 1 emited opcodes, state=0/1, set=0, use=0, need=3F
e8b80080 LDM r8!, {r7}
0xf577fdf6: C3 RET
0xf537e100: 15 emited opcodes, state=0/1, set=0, use=1000, need=3F
Ret epilog
e8b81000 LDM r8!, {r12}
CStack POP----------------
e5901374 LDR r1, [r0, #884]
e2411001 SUB r1, r1, #0x1
e201101f AND r1, r1, #0x1f
e5801374 STR r1, [r0, #884]
e3002378 MOVW r2, #0x378
e3100004 TST r0, #0x4
12822004 ADDNE r2, r2, #0x4
e0821181 ADD r1, r2, r1, lsl #3
e18020d1 LDRD r2, r3, [r0, r1]
e15c0002 CMP r12, r2
012fff13 BXEQ r3
----------------CStack POP
e30721e0 MOVW r2, #0x71e0
e3402290 MOVT r2, #0x290
e12fff12 BX r2
---- END OF BLOCK ---- (11, 2 sons)
Emitting 56 bytes for 6 x86 bytes ( => /lib/i386-linux-gnu/libgcc_s.so.1/ + 8360)
0xf57800a8: FF A3 F8 FF FF FF JMP Ed
0xf537e200: 14 emited opcodes, state=0/0, set=0, use=0, need=0
e517c008 LDR r12, [r7, #-8]
Jump to linker (#0) nolinker=0
e30f1090 MOVW r1, #0xf090
e3401450 MOVT r1, #0x450
e1b12f9f LDREXD r2, r3, [r1]
e15c0003 CMP r12, r3
012fff12 BXEQ r2
e30721f0 MOVW r2, #0x71f0
e3402290 MOVT r2, #0x290
e1a0300c MOV r3, r12
e1a1cf92 STREXD r12, r2, r3, [r1]
e35c0001 CMP r12, #0x1
e1a0c003 MOV r12, r3
0afffff5 BEQ -9
e12fff12 BX r2
---- END OF BLOCK ---- (1, 0 sons)
Illegal instruction
 
Last edited:
Yeah, I understand it's anything launched, it's just to have a base to compare to. But, according to that dump, it doesn't do much anyway, and the software beeing launched doesn't mater much at this stage! It's just the init of the loaded elfs, the program haven't really started yet.
It seems to be crashing when the dynarec needs to execute a native function, all the previous log and the dump converge to this.

It would be interresting if you could like add that code
Code:
printf("GetDynablocksFromAddress(%p, %p) => %p (0x%02x / 0x%02x)\n", context, (void*)addr, ret, (*(uint8_t*)addr), (*(uint8_t*)(addr+1)));
In line 980 of elfloader.c, to see a bit what is going on there...
 
Indeed that's why I thought I was doing something wrong with the gdm tracing :$ - until I realised there wasn't a whole lot to trace as the crash is near immediate.

I shall add the line immediately, recompile and report back in a few minutes :)
 
New dumps after adding code snippet and recompiling:

BOX86_DYNAREC_DUMP=2 box86 ./WorldOfGoo.bin.x86
Dynarec blocks are dumped in color
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 41 Env var
Looking for ./WorldOfGoo.bin.x86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
GetDynablocksFromAddress(0xf75c4008, 0xf593cdd4) => 0x4a6d590 (0x53 / 0x83)
Emitting 316 bytes for 35 x86 bytes ( => /lib/i386-linux-gnu/libgcc_s.so.1/ + 7636)
0xf593cdd4: 53 PUSH reg
0xf553b000: 1 emited opcodes, state=0/0, set=0, use=0, need=0
e9280080 STMDB r8!, {r7}
0xf593cdd5: 83 EC 08 SUB Ed, Ib
0xf553b004: 1 emited opcodes, state=1/0, set=3F, use=0, need=0
e2488008 SUB r8, r8, #0x8
0xf593cdd8: E8 83 09 00 00 CALL Id
0xf553b008: 2 emited opcodes, state=1/1, set=3F, use=0, need=0
Hack for Call x86.get_pc_thunk.reg
e30c7ddd MOVW r7, #0xcddd
e34f7593 MOVT r7, #0xf593
0xf593cddd: 81 C3 23 B2 01 00 ADD Ed, Id
0xf553b010: 3 emited opcodes, state=1/1, set=3F, use=0, need=0
e30b3223 MOVW r3, #0xb223
e3403001 MOVT r3, #0x1
e0877003 ADD r7, r7, r3
0xf593cde3: 8B 83 F8 FF FF FF MOV Gd, Ed
0xf553b01c: 1 emited opcodes, state=0/1, set=0, use=0, need=0
e5174008 LDR r4, [r7, #-8]
0xf593cde9: 85 C0 TEST Ed, Gd
0xf553b020: 5 emited opcodes, state=1/1, set=3F, use=0, need=8
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e0143004 ANDS r3, r4, r4
0300c001 MOVWEQ r12, #0x1
e580c03c STR r12, [r0, #60]
0xf593cdeb: 74 05 JZ ib
0xf553b034: 3 emited opcodes, state=0/1, set=0, use=8, need=0
e590203c LDR r2, [r0, #60]
e3520001 CMP r2, #0x1
0a000013 BEQ +21
----> potential Son here
0xf593cded: E8 B6 02 00 00 CALL Id (=> /lib/i386-linux-gnu/libgcc_s.so.1/ + 8360)
0xf553b040: 20 emited opcodes, state=1/0, set=3F, use=0, need=0
CStack PUSH 0xf593cdf2/0xf553b090-----
e5902374 LDR r2, [r0, #884]
e3001378 MOVW r1, #0x378
e3100004 TST r0, #0x4
12811004 ADDNE r1, r1, #0x4
e0811182 ADD r1, r1, r2, lsl #3
e2822001 ADD r2, r2, #0x1
e202201f AND r2, r2, #0x1f
e5802374 STR r2, [r0, #884]
e30c2df2 MOVW r2, #0xcdf2
e34f2593 MOVT r2, #0xf593
e30b3090 MOVW r3, #0xb090
e34f3553 MOVT r3, #0xf553
e18020f1 STRD r2, r3, [r0, r1]
--------------CStack PUSH
e9280004 STMDB r8!, {r2}
Jump to linker (#0) nolinker=0
e30dc0a8 MOVW r12, #0xd0a8
e34fc593 MOVT r12, #0xf593
e30d1b18 MOVW r1, #0xdb18
e34014ad MOVT r1, #0x4ad
e5912000 LDR r2, [r1, #0]
e12fff12 BX r2
----> potential Son here
0xf593cdf2: 83 C4 08 ADD Ed, Ib
0xf553b090: 27 emited opcodes, state=1/0, set=3F, use=0, need=3F
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e3883008 ORR r3, r8, #0x8
e208c008 AND r12, r8, #0x8
e2988008 ADDS r8, r8, #0x8
e1c33008 BIC r3, r3, r8
e183300c ORR r3, r3, r12
e7e0c1d3 UBFX r12, r3, #3, #1
e580c034 STR r12, [r0, #52]
13003000 MOVWNE r3, #0x0
03003001 MOVWEQ r3, #0x1
e580303c STR r3, [r0, #60]
2300c001 MOVWCS r12, #0x1
3300c000 MOVWCC r12, #0x0
e580c024 STR r12, [r0, #36]
7300c000 MOVWVC r12, #0x0
6300c001 MOVWVS r12, #0x1
e580c050 STR r12, [r0, #80]
e7e03fd8 UBFX r3, r8, #31, #1
e5803040 STR r3, [r0, #64]
e20830e0 AND r3, r8, #0xe0
e590c30c LDR r12, [r0, #780]
e79cc1a3 LDR r12, [r12, r3, lsr #3]
e208301f AND r3, r8, #0x1f
e1e0c33c MVN r12, r12, lsr r3
e20cc001 AND r12, r12, #0x1
e580c02c STR r12, [r0, #44]
0xf593cdf5: 5B POP reg
0xf553b0fc: 1 emited opcodes, state=0/1, set=0, use=0, need=3F
e8b80080 LDM r8!, {r7}
0xf593cdf6: C3 RET
0xf553b100: 15 emited opcodes, state=0/1, set=0, use=1000, need=3F
Ret epilog
e8b81000 LDM r8!, {r12}
CStack POP----------------
e5901374 LDR r1, [r0, #884]
e2411001 SUB r1, r1, #0x1
e201101f AND r1, r1, #0x1f
e5801374 STR r1, [r0, #884]
e3002378 MOVW r2, #0x378
e3100004 TST r0, #0x4
12822004 ADDNE r2, r2, #0x4
e0821181 ADD r1, r2, r1, lsl #3
e18020d1 LDRD r2, r3, [r0, r1]
e15c0002 CMP r12, r2
012fff13 BXEQ r3
----------------CStack POP
e3072210 MOVW r2, #0x7210
e3402290 MOVT r2, #0x290
e12fff12 BX r2
---- END OF BLOCK ---- (11, 2 sons)
1743|SIGSEGV @(nil) (???) (x86pc=0xf593cdd4/"???"), for accessing (nil) (code=1), db=(nil)((nil)/???)
Segmentation fault

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
GetDynablocksFromAddress(0xf796a008, 0xf5ce2dd4) => 0x2c77ca0 (0x53 / 0x83)
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26f8
GetDynablocksFromAddress(0xf796a008, 0xf5ce30a8) => 0x2c77d10 (0xff / 0xa3)
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))
GetDynablocksFromAddress(0xf796a008, 0x2c4a64c) => (nil) (0xcc / 0x53)
--- DynaRec Block created @0x2c4a64c:0x2c4a658 (0xf58e1300, 0x88 bytes, with 0 son(s))

Program received signal SIGILL, Illegal instruction.
0xf5ce1000 in ?? ()
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x028863d4 in x86Int3 (emu=0x2c4a64c)
at /mnt/crypt1/projects/builds/box86/src/emu/x86int3.c:250
w = 0x0
addr = 0
Backtrace stopped: Cannot access memory at address 0x149f08
(gdb) info threads
Id Target Id Frame
* 1 Thread 0xf7d6b010 (LWP 1746) "box86" 0xf5ce1000 in ?? ()
(gdb) thread 1
[Switching to thread 1 (Thread 0xf7d6b010 (LWP 1746))]
#0 0xf5ce1000 in ?? ()
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x028863d4 in x86Int3 (emu=0x2c4a64c)
at /mnt/crypt1/projects/builds/box86/src/emu/x86int3.c:250
w = 0x0
addr = 0
Backtrace stopped: Cannot access memory at address 0x149f08
(gdb)

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
GetDynablocksFromAddress(0xf796a008, 0xf5ce2dd4) => 0x2c77ca0 (0x53 / 0x83)
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26f8
GetDynablocksFromAddress(0xf796a008, 0xf5ce30a8) => 0x2c77d10 (0xff / 0xa3)
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))
GetDynablocksFromAddress(0xf796a008, 0x2c4a64c) => (nil) (0xcc / 0x53)
--- DynaRec Block created @0x2c4a64c:0x2c4a658 (0xf58e1300, 0x88 bytes, with 0 son(s))

Program received signal SIGILL, Illegal instruction.
0x02ba9498 in my_gtkcontainer ()
(gdb) backtrace full
#0 0x02ba9498 in my_gtkcontainer ()
No symbol table info available.
#1 0x0290807c in dynarec000 (dyn=0x1, addr=45819640, ip=12, ninst=0,
ok=0x2843874 <RunDeferedElfInit+104>, need_epilog=0xfffef4c9)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec_arm_00.c:311
nextop = <optimized out>
opcode = 0 '\000'
natcall = 45806936
retn = 0
gd = 1 '\001'
ed = <optimized out>
i8 = <optimized out>
i32 = <optimized out>
tmp = <optimized out>
u8 = <optimized out>
gb1 = <optimized out>
gb2 = <optimized out>
eb1 = <optimized out>
eb2 = <optimized out>
u32 = <optimized out>
wback = 88 'X'
wb1 = <optimized out>
wb2 = <optimized out>
fixedaddress = 0
#2 0x02baf588 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

sudo BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run /mnt/crypt1/games/BOX86/LINUX/WorldOfGoo/WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 /mnt/crypt1/games/BOX86/LINUX/WorldOfGoo/WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 20 Env var
Looking for /mnt/crypt1/games/BOX86/LINUX/WorldOfGoo/WorldOfGoo.bin.x86
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2_mixer-2.0.so.0
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
GetDynablocksFromAddress(0xf796a008, 0xf5ce2dd4) => 0x2c77738 (0x53 / 0x83)
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb2168
GetDynablocksFromAddress(0xf796a008, 0xf5ce30a8) => 0x2c777a8 (0xff / 0xa3)
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))

Program received signal SIGILL, Illegal instruction.
0xf5ce1000 in ?? ()
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x028939a8 in tableupdate (table=0x0, ref=4124041216, jumpto=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
No locals.
#2 UpdateLinkTable (emu=<optimized out>, table=0x0, addr=4124041216)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
current = 0x2ceb0b0
block = 0x2c4a0cc
father = <optimized out>
#3 0x02bb04e0 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
 
Of course - no problem - I'll happily send any and all logs - I'm more than happy to help in any way possible and honoured that you're dealing with this issue so thoroughly - thou art a titan among coding-men :)

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 BOX86_LOG=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Debug level is 2
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Setting up canary (for Stack protector) at GS:0x14, value:00E48DF2
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Read 32 Section header
Read 9 Program header
Loading Sections Table String (idx = 29)
Loading SymTab Strings (idx = 31)
Loading SymTab (idx = 30)
Loading Dynamic (idx = 23)
Rel Table @0x80ac79c (0x80/0x8)
PLT Table @0x80ac81c (type=17 0x700/0x8)
The GOT.PLT Table is at address 0x82fe000
The GOT Table is at address 0x82fdffc
The .init is at address 0x80acf1c
The .init_array is at address 0x82fddb8, and have 73 elements
The .fini is at address 0x829e2e4
The .fini_array is at address 0x82fdedc, and have 1 elements
The .text is at address 0x80add60, and is 2033028 big
Loading DynSym Strings (idx = 6)
Loading DynSym (idx = 5)
Adding "./WorldOfGoo.bin.x86" as #0 in elf collection
Elf Addr(v/p)=0x8048000/0x8048000 Memsize=0x2bdfc8 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x2be000 memory @0x8048000 for Elf "./WorldOfGoo.bin.x86"
Loading block #2 @0x8048000 (0x2b4a87/0x2b4a87)
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Loading block #3 @0x82fddb8 (0xc6c/0x8210)
Calc stack size, based on 1 elf(s)
Stack is @0xf70f1020 size=0x800000 align=0x10
Allocate a new X86 Emu, with EIP=(nil) and Stack=0xf70f1020/0x800000
Setup X86 Emu
Prepending path "/mnt/crypt1/games/BOX86/LINUX/WorldOfGoo/lib" to BOX86_LD_LIBRARY_PATH
Trying to add "libSDL2-2.0.so.0" to maplib
Trying to load "libSDL2-2.0.so.0"
Simplified name is "libSDL2-2.0.so.0"
Using native(wrapped) libSDL2-2.0.so.0
Trying to add "libdl.so.2" to maplib
Trying to load "libdl.so.2"
Simplified name is "libdl.so.2"
Using native(wrapped) libdl.so.2
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Trying to load "libm.so.6"
Simplified name is "libm.so.6"
Using native(wrapped) libm.so.6
Created lib and added to maplib => success
Trying to add "librt.so.1" to maplib
Trying to load "librt.so.1"
Simplified name is "librt.so.1"
Using native(wrapped) librt.so.1
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Trying to load "libpthread.so.0"
Simplified name is "libpthread.so.0"
Using native(wrapped) libpthread.so.0
Created lib and added to maplib => success
Created lib and added to maplib => success
Trying to add "libSDL2_mixer-2.0.so.0" to maplib
Trying to load "libSDL2_mixer-2.0.so.0"
Simplified name is "libSDL2_mixer-2.0.so.0"
Using native(wrapped) libSDL2_mixer-2.0.so.0
Created lib and added to maplib => success
Trying to add "libstdc++.so.6" to maplib
Trying to load "libstdc++.so.6"
Simplified name is "libstdc++.so.6"
Read 32 Section header
Read 8 Program header
Loading Sections Table String (idx = 31)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 24)
Rel Table @0x61ae0 (0x7990/0x8)
PLT Table @0x69470 (type=17 0x1a10/0x8)
The GOT.PLT Table is at address 0x182000
The GOT Table is at address 0x181754
The .init is at address 0x6ae80
The .init_array is at address 0x17ceb0, and have 11 elements
The .fini is at address 0x12bcf4
The .fini_array is at address 0x17cedc, and have 1 elements
The .text is at address 0x6e3a0, and is 776532 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libstdc++.so.6" as #1 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x185038 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=16 (align=4)
Allocating 0x185038 memory @(nil) for Elf "/lib/i386-linux-gnu/libstdc++.so.6"
Got 0xf5cff000 (delta=0xf5cff000)
Loading block #0 @0xf5cff000 (0x17b8e4/0x17b8e4)
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Loading block #1 @0xf5e7beb0 (0x5f3c/0x8188)
Loading TLS block #4 @0x2c49010 (0x0/0x10)
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Trying to load "libc.so.6"
Simplified name is "libc.so.6"
Using native(wrapped) libc.so.6
Trying to add "ld-linux.so.2" to maplib
Trying to load "ld-linux.so.2"
Simplified name is "ld-linux.so.2"
Using native(wrapped) ld-linux.so.2
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Already present in maplib => success
Trying to add "librt.so.1" to maplib
Already present in maplib => success
Created lib and added to maplib => success
Trying to add "ld-linux.so.2" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Trying to load "libgcc_s.so.1"
Simplified name is "libgcc_s.so.1"
Read 27 Section header
Read 7 Program header
Loading Sections Table String (idx = 26)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 20)
Rel Table @0x1c3c (0x50/0x8)
PLT Table @0x1c8c (type=17 0x148/0x8)
The GOT.PLT Table is at address 0x1d000
The GOT Table is at address 0x1cfe8
The .init is at address 0x1dd4
The .init_array is at address 0x1cee4, and have 2 elements
The .fini is at address 0x17798
The .fini_array is at address 0x1ceec, and have 1 elements
The .text is at address 0x20b0, and is 87781 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libgcc_s.so.1" as #2 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x1d238 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x1d238 memory @(nil) for Elf "/lib/i386-linux-gnu/libgcc_s.so.1"
Got 0xf5ce1000 (delta=0xf5ce1000)
Loading block #0 @0xf5ce1000 (0x1b64c/0x1b64c)
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Loading block #1 @0xf5cfdee4 (0x1dc/0x354)
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Trying to add "libc.so.6" to maplib
Already present in maplib => success
Applying 10 Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
PLT Resolver injected in plt.got at 0xf5cfe008
Applying 41 PLT Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
Created lib and added to maplib => success
Applying 3890 Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
PLT Resolver injected in plt.got at 0xf5e81008
Applying 834 PLT Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Already present in maplib => success
And now export symbols / relocation for ./WorldOfGoo.bin.x86...
Applying 16 Relocation(s) for ./WorldOfGoo.bin.x86
PLT Resolver injected in plt.got at 0x82fe008
Applying 224 PLT Relocation(s) for ./WorldOfGoo.bin.x86
Calling Init for /lib/i386-linux-gnu/libgcc_s.so.1 @0xf5ce2dd4
GetDynablocksFromAddress(0xf796a008, 0xf5ce2dd4) => 0x2c77ca0 (0x53 / 0x83)
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb26f8

Program received signal SIGILL, Illegal instruction.
0xf5ce1000 in ?? ()
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x02893b44 in DynaCall (emu=0x2c4a64c, addr=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:125
old_ebx = 0
old_esi = 45786560
old_ebp = 45786532
block = 0x0
current = 0xb
old_esp = 0
old_edi = 47101600
old_eip = 45064532
#2 0x34646432 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

Sorry for the slow reply - I almost bricked my installation with some Mesa foolishness, so I got a little distracted :$
 
Ah yes, mesa and the wonderfull meson build system...

I still don't understand what's going on...
ok, next time you are on gdb and get the SIGILL issue, I would like to see the ARM assembly of that sigill
so, try some "x/10i $pc-32" to have some arm assembly around the illegal instruction.
 
Indeed what joy meson brings to us all :D

Dump of latest box86 + line 980 elfloader.c modification + "x/10i $pc-32" + backtrace. Sorry for the delay - duty called :$

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 BOX86_LOG=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Debug level is 2
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Setting up canary (for Stack protector) at GS:0x14, value:910031C9
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Read 32 Section header
Read 9 Program header
Loading Sections Table String (idx = 29)
Loading SymTab Strings (idx = 31)
Loading SymTab (idx = 30)
Loading Dynamic (idx = 23)
Rel Table @0x80ac79c (0x80/0x8)
PLT Table @0x80ac81c (type=17 0x700/0x8)
The GOT.PLT Table is at address 0x82fe000
The GOT Table is at address 0x82fdffc
The .init is at address 0x80acf1c
The .init_array is at address 0x82fddb8, and have 73 elements
The .fini is at address 0x829e2e4
The .fini_array is at address 0x82fdedc, and have 1 elements
The .text is at address 0x80add60, and is 2033028 big
Loading DynSym Strings (idx = 6)
Loading DynSym (idx = 5)
Adding "./WorldOfGoo.bin.x86" as #0 in elf collection
Elf Addr(v/p)=0x8048000/0x8048000 Memsize=0x2bdfc8 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x2be000 memory @0x8048000 for Elf "./WorldOfGoo.bin.x86"
Loading block #2 @0x8048000 (0x2b4a87/0x2b4a87)
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Loading block #3 @0x82fddb8 (0xc6c/0x8210)
Calc stack size, based on 1 elf(s)
Stack is @0xf70f1020 size=0x800000 align=0x10
Allocate a new X86 Emu, with EIP=(nil) and Stack=0xf70f1020/0x800000
Setup X86 Emu
Prepending path "/mnt/crypt1/games/BOX86/LINUX/WorldOfGoo/lib" to BOX86_LD_LIBRARY_PATH
Trying to add "libSDL2-2.0.so.0" to maplib
Trying to load "libSDL2-2.0.so.0"
Simplified name is "libSDL2-2.0.so.0"
Using native(wrapped) libSDL2-2.0.so.0
Trying to add "libdl.so.2" to maplib
Trying to load "libdl.so.2"
Simplified name is "libdl.so.2"
Using native(wrapped) libdl.so.2
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Trying to load "libm.so.6"
Simplified name is "libm.so.6"
Using native(wrapped) libm.so.6
Created lib and added to maplib => success
Trying to add "librt.so.1" to maplib
Trying to load "librt.so.1"
Simplified name is "librt.so.1"
Using native(wrapped) librt.so.1
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Trying to load "libpthread.so.0"
Simplified name is "libpthread.so.0"
Using native(wrapped) libpthread.so.0
Created lib and added to maplib => success
Created lib and added to maplib => success
Trying to add "libSDL2_mixer-2.0.so.0" to maplib
Trying to load "libSDL2_mixer-2.0.so.0"
Simplified name is "libSDL2_mixer-2.0.so.0"
Using native(wrapped) libSDL2_mixer-2.0.so.0
Created lib and added to maplib => success
Trying to add "libstdc++.so.6" to maplib
Trying to load "libstdc++.so.6"
Simplified name is "libstdc++.so.6"
Read 32 Section header
Read 8 Program header
Loading Sections Table String (idx = 31)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 24)
Rel Table @0x61ae0 (0x7990/0x8)
PLT Table @0x69470 (type=17 0x1a10/0x8)
The GOT.PLT Table is at address 0x182000
The GOT Table is at address 0x181754
The .init is at address 0x6ae80
The .init_array is at address 0x17ceb0, and have 11 elements
The .fini is at address 0x12bcf4
The .fini_array is at address 0x17cedc, and have 1 elements
The .text is at address 0x6e3a0, and is 776532 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libstdc++.so.6" as #1 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x185038 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=16 (align=4)
Allocating 0x185038 memory @(nil) for Elf "/lib/i386-linux-gnu/libstdc++.so.6"
Got 0xf5cff000 (delta=0xf5cff000)
Loading block #0 @0xf5cff000 (0x17b8e4/0x17b8e4)
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Loading block #1 @0xf5e7beb0 (0x5f3c/0x8188)
Loading TLS block #4 @0x2c4a010 (0x0/0x10)
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Trying to load "libc.so.6"
Simplified name is "libc.so.6"
Using native(wrapped) libc.so.6
Trying to add "ld-linux.so.2" to maplib
Trying to load "ld-linux.so.2"
Simplified name is "ld-linux.so.2"
Using native(wrapped) ld-linux.so.2
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Already present in maplib => success
Trying to add "librt.so.1" to maplib
Already present in maplib => success
Created lib and added to maplib => success
Trying to add "ld-linux.so.2" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Trying to load "libgcc_s.so.1"
Simplified name is "libgcc_s.so.1"
Read 27 Section header
Read 7 Program header
Loading Sections Table String (idx = 26)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 20)
Rel Table @0x1c3c (0x50/0x8)
PLT Table @0x1c8c (type=17 0x148/0x8)
The GOT.PLT Table is at address 0x1d000
The GOT Table is at address 0x1cfe8
The .init is at address 0x1dd4
The .init_array is at address 0x1cee4, and have 2 elements
The .fini is at address 0x17798
The .fini_array is at address 0x1ceec, and have 1 elements
The .text is at address 0x20b0, and is 87781 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libgcc_s.so.1" as #2 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x1d238 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x1d238 memory @(nil) for Elf "/lib/i386-linux-gnu/libgcc_s.so.1"
Got 0xf5ce1000 (delta=0xf5ce1000)
Loading block #0 @0xf5ce1000 (0x1b64c/0x1b64c)
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Loading block #1 @0xf5cfdee4 (0x1dc/0x354)
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Trying to add "libc.so.6" to maplib
Already present in maplib => success
Applying 10 Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
PLT Resolver injected in plt.got at 0xf5cfe008
Applying 41 PLT Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
Created lib and added to maplib => success
Applying 3890 Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
PLT Resolver injected in plt.got at 0xf5e81008
Applying 834 PLT Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Already present in maplib => success
And now export symbols / relocation for ./WorldOfGoo.bin.x86...
Applying 16 Relocation(s) for ./WorldOfGoo.bin.x86
PLT Resolver injected in plt.got at 0x82fe008
Applying 224 PLT Relocation(s) for ./WorldOfGoo.bin.x86
Calling Init for /lib/i386-linux-gnu/libgcc_s.so.1 @0xf5ce2dd4
GetDynablocksFromAddress(0xf796a008, 0xf5ce2dd4) => 0x2c78ca0 (0x53 / 0x83)
Ask for DynaRec Block Alloc #1
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb36f8
GetDynablocksFromAddress(0xf796a008, 0xf5ce30a8) => 0x2c78d10 (0xff / 0xa3)
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))

Program received signal SIGILL, Illegal instruction.
0xf5ce1000 in ?? ()
(gdb) x/10i $pc-32
0xf5ce0fe0: andeq r0, r0, r0
0xf5ce0fe4: andeq r0, r0, r0
0xf5ce0fe8: andeq r0, r0, r0
0xf5ce0fec: andeq r0, r0, r0
0xf5ce0ff0: andeq r0, r0, r0
0xf5ce0ff4: andeq r0, r0, r0
0xf5ce0ff8: andeq r0, r0, r0
0xf5ce0ffc: andeq r0, r0, r0
=> 0xf5ce1000: ; <UNDEFINED> instruction: 0x464c457f
0xf5ce1004: andeq r0, r1, r1, lsl #2
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x02893a30 in tableupdate (table=0x0, ref=4124041216, jumpto=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
No locals.
#2 UpdateLinkTable (emu=<optimized out>, table=0x0, addr=4124041216)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
current = 0x2cec6a0
block = 0x2c4b64c
father = <optimized out>
#3 0x02bb14e0 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
 
So, I have some doubt as if the LDREX/STREX arm opcodes can be used in that systemd.nspawn context?! I don't find any documentation about limitations or whatever is done in that systemd.nspawn.

Mmmm, also, the stack trace.
#0 is ... obviously ... nowhere, really
but #1 (so the calling function), is in "tableupdate()" function, that has been inlined by the compiler (showed as beeing on line 87, but that's just the call, function is defined line 30-39), and that tableupdate function should just call arm_tableupdate(...) that is a function writen in ASM (look in arm_table.S for the source).

What would be interesting is some live debugging (don't know if you are used to gdb):
I would suggest you install this: https://github.com/cyrus-and/gdb-dashboard
that will make gdb more pretty

But first things first: does the test works? in box86 "test" folder, there are a few i386 binary: if any of them fail the same way, that would be much easier to debug!
 
Apologies forgot to add BOX86_DYNAREC_DUMP=2 on the previous one. :$

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 BOX86_LOG=2 BOX86_DYNAREC_DUMP=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Debug level is 2
Dynarec blocks are dumped in color
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Setting up canary (for Stack protector) at GS:0x14, value:789B0067
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Read 32 Section header
Read 9 Program header
Loading Sections Table String (idx = 29)
Loading SymTab Strings (idx = 31)
Loading SymTab (idx = 30)
Loading Dynamic (idx = 23)
Rel Table @0x80ac79c (0x80/0x8)
PLT Table @0x80ac81c (type=17 0x700/0x8)
The GOT.PLT Table is at address 0x82fe000
The GOT Table is at address 0x82fdffc
The .init is at address 0x80acf1c
The .init_array is at address 0x82fddb8, and have 73 elements
The .fini is at address 0x829e2e4
The .fini_array is at address 0x82fdedc, and have 1 elements
The .text is at address 0x80add60, and is 2033028 big
Loading DynSym Strings (idx = 6)
Loading DynSym (idx = 5)
Adding "./WorldOfGoo.bin.x86" as #0 in elf collection
Elf Addr(v/p)=0x8048000/0x8048000 Memsize=0x2bdfc8 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x2be000 memory @0x8048000 for Elf "./WorldOfGoo.bin.x86"
Loading block #2 @0x8048000 (0x2b4a87/0x2b4a87)
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Loading block #3 @0x82fddb8 (0xc6c/0x8210)
Calc stack size, based on 1 elf(s)
Stack is @0xf70f1020 size=0x800000 align=0x10
Allocate a new X86 Emu, with EIP=(nil) and Stack=0xf70f1020/0x800000
Setup X86 Emu
Prepending path "/mnt/crypt1/games/BOX86/LINUX/WorldOfGoo/lib" to BOX86_LD_LIBRARY_PATH
Trying to add "libSDL2-2.0.so.0" to maplib
Trying to load "libSDL2-2.0.so.0"
Simplified name is "libSDL2-2.0.so.0"
Using native(wrapped) libSDL2-2.0.so.0
Trying to add "libdl.so.2" to maplib
Trying to load "libdl.so.2"
Simplified name is "libdl.so.2"
Using native(wrapped) libdl.so.2
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Trying to load "libm.so.6"
Simplified name is "libm.so.6"
Using native(wrapped) libm.so.6
Created lib and added to maplib => success
Trying to add "librt.so.1" to maplib
Trying to load "librt.so.1"
Simplified name is "librt.so.1"
Using native(wrapped) librt.so.1
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Trying to load "libpthread.so.0"
Simplified name is "libpthread.so.0"
Using native(wrapped) libpthread.so.0
Created lib and added to maplib => success
Created lib and added to maplib => success
Trying to add "libSDL2_mixer-2.0.so.0" to maplib
Trying to load "libSDL2_mixer-2.0.so.0"
Simplified name is "libSDL2_mixer-2.0.so.0"
Using native(wrapped) libSDL2_mixer-2.0.so.0
Created lib and added to maplib => success
Trying to add "libstdc++.so.6" to maplib
Trying to load "libstdc++.so.6"
Simplified name is "libstdc++.so.6"
Read 32 Section header
Read 8 Program header
Loading Sections Table String (idx = 31)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 24)
Rel Table @0x61ae0 (0x7990/0x8)
PLT Table @0x69470 (type=17 0x1a10/0x8)
The GOT.PLT Table is at address 0x182000
The GOT Table is at address 0x181754
The .init is at address 0x6ae80
The .init_array is at address 0x17ceb0, and have 11 elements
The .fini is at address 0x12bcf4
The .fini_array is at address 0x17cedc, and have 1 elements
The .text is at address 0x6e3a0, and is 776532 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libstdc++.so.6" as #1 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x185038 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=16 (align=4)
Allocating 0x185038 memory @(nil) for Elf "/lib/i386-linux-gnu/libstdc++.so.6"
Got 0xf5cff000 (delta=0xf5cff000)
Loading block #0 @0xf5cff000 (0x17b8e4/0x17b8e4)
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Loading block #1 @0xf5e7beb0 (0x5f3c/0x8188)
Loading TLS block #4 @0x2c4a010 (0x0/0x10)
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Trying to load "libc.so.6"
Simplified name is "libc.so.6"
Using native(wrapped) libc.so.6
Trying to add "ld-linux.so.2" to maplib
Trying to load "ld-linux.so.2"
Simplified name is "ld-linux.so.2"
Using native(wrapped) ld-linux.so.2
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Already present in maplib => success
Trying to add "librt.so.1" to maplib
Already present in maplib => success
Created lib and added to maplib => success
Trying to add "ld-linux.so.2" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Trying to load "libgcc_s.so.1"
Simplified name is "libgcc_s.so.1"
Read 27 Section header
Read 7 Program header
Loading Sections Table String (idx = 26)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 20)
Rel Table @0x1c3c (0x50/0x8)
PLT Table @0x1c8c (type=17 0x148/0x8)
The GOT.PLT Table is at address 0x1d000
The GOT Table is at address 0x1cfe8
The .init is at address 0x1dd4
The .init_array is at address 0x1cee4, and have 2 elements
The .fini is at address 0x17798
The .fini_array is at address 0x1ceec, and have 1 elements
The .text is at address 0x20b0, and is 87781 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libgcc_s.so.1" as #2 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x1d238 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x1d238 memory @(nil) for Elf "/lib/i386-linux-gnu/libgcc_s.so.1"
Got 0xf5ce1000 (delta=0xf5ce1000)
Loading block #0 @0xf5ce1000 (0x1b64c/0x1b64c)
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Loading block #1 @0xf5cfdee4 (0x1dc/0x354)
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Trying to add "libc.so.6" to maplib
Already present in maplib => success
Applying 10 Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
PLT Resolver injected in plt.got at 0xf5cfe008
Applying 41 PLT Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
Created lib and added to maplib => success
Applying 3890 Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
PLT Resolver injected in plt.got at 0xf5e81008
Applying 834 PLT Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Already present in maplib => success
And now export symbols / relocation for ./WorldOfGoo.bin.x86...
Applying 16 Relocation(s) for ./WorldOfGoo.bin.x86
PLT Resolver injected in plt.got at 0x82fe008
Applying 224 PLT Relocation(s) for ./WorldOfGoo.bin.x86
Calling Init for /lib/i386-linux-gnu/libgcc_s.so.1 @0xf5ce2dd4
GetDynablocksFromAddress(0xf796a008, 0xf5ce2dd4) => 0x2c78ca0 (0x53 / 0x83)
Ask for DynaRec Block Alloc #1
Emitting 316 bytes for 35 x86 bytes ( => /lib/i386-linux-gnu/libgcc_s.so.1/ + 7636)
0xf5ce2dd4: 53 PUSH reg
0xf58e1000: 1 emited opcodes, state=0/0, set=0, use=0, need=0
e9280080 STMDB r8!, {r7}
0xf5ce2dd5: 83 EC 08 SUB Ed, Ib
0xf58e1004: 1 emited opcodes, state=1/0, set=3F, use=0, need=0
e2488008 SUB r8, r8, #0x8
0xf5ce2dd8: E8 83 09 00 00 CALL Id
0xf58e1008: 2 emited opcodes, state=1/1, set=3F, use=0, need=0
Hack for Call x86.get_pc_thunk.reg
e3027ddd MOVW r7, #0x2ddd
e34f75ce MOVT r7, #0xf5ce
0xf5ce2ddd: 81 C3 23 B2 01 00 ADD Ed, Id
0xf58e1010: 3 emited opcodes, state=1/1, set=3F, use=0, need=0
e30b3223 MOVW r3, #0xb223
e3403001 MOVT r3, #0x1
e0877003 ADD r7, r7, r3
0xf5ce2de3: 8B 83 F8 FF FF FF MOV Gd, Ed
0xf58e101c: 1 emited opcodes, state=0/1, set=0, use=0, need=0
e5174008 LDR r4, [r7, #-8]
0xf5ce2de9: 85 C0 TEST Ed, Gd
0xf58e1020: 5 emited opcodes, state=1/1, set=3F, use=0, need=8
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e0143004 ANDS r3, r4, r4
0300c001 MOVWEQ r12, #0x1
e580c03c STR r12, [r0, #60]
0xf5ce2deb: 74 05 JZ ib
0xf58e1034: 3 emited opcodes, state=0/1, set=0, use=8, need=0
e590203c LDR r2, [r0, #60]
e3520001 CMP r2, #0x1
0a000013 BEQ +21
----> potential Son here
0xf5ce2ded: E8 B6 02 00 00 CALL Id (=> /lib/i386-linux-gnu/libgcc_s.so.1/ + 8360)
0xf58e1040: 20 emited opcodes, state=1/0, set=3F, use=0, need=0
CStack PUSH 0xf5ce2df2/0xf58e1090-----
e5902374 LDR r2, [r0, #884]
e3001378 MOVW r1, #0x378
e3100004 TST r0, #0x4
12811004 ADDNE r1, r1, #0x4
e0811182 ADD r1, r1, r2, lsl #3
e2822001 ADD r2, r2, #0x1
e202201f AND r2, r2, #0x1f
e5802374 STR r2, [r0, #884]
e3022df2 MOVW r2, #0x2df2
e34f25ce MOVT r2, #0xf5ce
e3013090 MOVW r3, #0x1090
e34f358e MOVT r3, #0xf58e
e18020f1 STRD r2, r3, [r0, r1]
--------------CStack PUSH
e9280004 STMDB r8!, {r2}
Jump to linker (#0) nolinker=0
e303c0a8 MOVW r12, #0x30a8
e34fc5ce MOVT r12, #0xf5ce
e3091228 MOVW r1, #0x9228
e34012ce MOVT r1, #0x2ce
e5912000 LDR r2, [r1, #0]
e12fff12 BX r2
----> potential Son here
0xf5ce2df2: 83 C4 08 ADD Ed, Ib
0xf58e1090: 27 emited opcodes, state=1/0, set=3F, use=0, need=3F
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e3883008 ORR r3, r8, #0x8
e208c008 AND r12, r8, #0x8
e2988008 ADDS r8, r8, #0x8
e1c33008 BIC r3, r3, r8
e183300c ORR r3, r3, r12
e7e0c1d3 UBFX r12, r3, #3, #1
e580c034 STR r12, [r0, #52]
13003000 MOVWNE r3, #0x0
03003001 MOVWEQ r3, #0x1
e580303c STR r3, [r0, #60]
2300c001 MOVWCS r12, #0x1
3300c000 MOVWCC r12, #0x0
e580c024 STR r12, [r0, #36]
7300c000 MOVWVC r12, #0x0
6300c001 MOVWVS r12, #0x1
e580c050 STR r12, [r0, #80]
e7e03fd8 UBFX r3, r8, #31, #1
e5803040 STR r3, [r0, #64]
e20830e0 AND r3, r8, #0xe0
e590c30c LDR r12, [r0, #780]
e79cc1a3 LDR r12, [r12, r3, lsr #3]
e208301f AND r3, r8, #0x1f
e1e0c33c MVN r12, r12, lsr r3
e20cc001 AND r12, r12, #0x1
e580c02c STR r12, [r0, #44]
0xf5ce2df5: 5B POP reg
0xf58e10fc: 1 emited opcodes, state=0/1, set=0, use=0, need=3F
e8b80080 LDM r8!, {r7}
0xf5ce2df6: C3 RET
0xf58e1100: 15 emited opcodes, state=0/1, set=0, use=1000, need=3F
Ret epilog
e8b81000 LDM r8!, {r12}
CStack POP----------------
e5901374 LDR r1, [r0, #884]
e2411001 SUB r1, r1, #0x1
e201101f AND r1, r1, #0x1f
e5801374 STR r1, [r0, #884]
e3002378 MOVW r2, #0x378
e3100004 TST r0, #0x4
12822004 ADDNE r2, r2, #0x4
e0821181 ADD r1, r2, r1, lsl #3
e18020d1 LDRD r2, r3, [r0, r1]
e15c0002 CMP r12, r2
012fff13 BXEQ r3
----------------CStack POP
e3072890 MOVW r2, #0x7890
e3402290 MOVT r2, #0x290
e12fff12 BX r2
---- END OF BLOCK ---- (11, 2 sons)
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb36f8
GetDynablocksFromAddress(0xf796a008, 0xf5ce30a8) => 0x2c78d10 (0xff / 0xa3)
Emitting 56 bytes for 6 x86 bytes ( => /lib/i386-linux-gnu/libgcc_s.so.1/ + 8360)
0xf5ce30a8: FF A3 F8 FF FF FF JMP Ed
0xf58e1200: 14 emited opcodes, state=0/0, set=0, use=0, need=0
e517c008 LDR r12, [r7, #-8]
Jump to linker (#0) nolinker=0
e3091058 MOVW r1, #0x9058
e34012ce MOVT r1, #0x2ce
e1b12f9f LDREXD r2, r3, [r1]
e15c0003 CMP r12, r3
012fff12 BXEQ r2
e30728a0 MOVW r2, #0x78a0
e3402290 MOVT r2, #0x290
e1a0300c MOV r3, r12
e1a1cf92 STREXD r12, r2, r3, [r1]
e35c0001 CMP r12, #0x1
e1a0c003 MOV r12, r3
0afffff5 BEQ -9
e12fff12 BX r2
---- END OF BLOCK ---- (1, 0 sons)
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))

Program received signal SIGILL, Illegal instruction.
0xf5ce1000 in ?? ()
(gdb) x/10i $pc-32
0xf5ce0fe0: andeq r0, r0, r0
0xf5ce0fe4: andeq r0, r0, r0
0xf5ce0fe8: andeq r0, r0, r0
0xf5ce0fec: andeq r0, r0, r0
0xf5ce0ff0: andeq r0, r0, r0
0xf5ce0ff4: andeq r0, r0, r0
0xf5ce0ff8: andeq r0, r0, r0
0xf5ce0ffc: andeq r0, r0, r0
=> 0xf5ce1000: ; <UNDEFINED> instruction: 0x464c457f
0xf5ce1004: andeq r0, r1, r1, lsl #2
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x02893a30 in tableupdate (table=0x0, ref=4124041216, jumpto=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
No locals.
#2 UpdateLinkTable (emu=<optimized out>, table=0x0, addr=4124041216)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
current = 0x2cec6a0
block = 0x2c4b64c
father = <optimized out>
#3 0x02bb14e0 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

BOX86_JITGDB=1 BOX86_DYNAREC_LOG=2 BOX86_LOG=2 BOX86_DYNAREC_DUMP=2 gdb -q /usr/local/bin/box86
Reading symbols from /usr/local/bin/box86...done.
(gdb) run ./WorldOfGoo.bin.x86
Starting program: /usr/local/bin/box86 ./WorldOfGoo.bin.x86
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Debug level is 2
Dynarec blocks are dumped in color
Dynarec log level is 2
Launch gdb on segfault
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Setting up canary (for Stack protector) at GS:0x14, value:789B0067
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for ./WorldOfGoo.bin.x86
Read 32 Section header
Read 9 Program header
Loading Sections Table String (idx = 29)
Loading SymTab Strings (idx = 31)
Loading SymTab (idx = 30)
Loading Dynamic (idx = 23)
Rel Table @0x80ac79c (0x80/0x8)
PLT Table @0x80ac81c (type=17 0x700/0x8)
The GOT.PLT Table is at address 0x82fe000
The GOT Table is at address 0x82fdffc
The .init is at address 0x80acf1c
The .init_array is at address 0x82fddb8, and have 73 elements
The .fini is at address 0x829e2e4
The .fini_array is at address 0x82fdedc, and have 1 elements
The .text is at address 0x80add60, and is 2033028 big
Loading DynSym Strings (idx = 6)
Loading DynSym (idx = 5)
Adding "./WorldOfGoo.bin.x86" as #0 in elf collection
Elf Addr(v/p)=0x8048000/0x8048000 Memsize=0x2bdfc8 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x2be000 memory @0x8048000 for Elf "./WorldOfGoo.bin.x86"
Loading block #2 @0x8048000 (0x2b4a87/0x2b4a87)
Add ELF eXecutable Memory 0x8048000:0x2b4a87
addDBFromAddressRange 0x8048000 -> 0x82fca86
Loading block #3 @0x82fddb8 (0xc6c/0x8210)
Calc stack size, based on 1 elf(s)
Stack is @0xf70f1020 size=0x800000 align=0x10
Allocate a new X86 Emu, with EIP=(nil) and Stack=0xf70f1020/0x800000
Setup X86 Emu
Prepending path "/mnt/crypt1/games/BOX86/LINUX/WorldOfGoo/lib" to BOX86_LD_LIBRARY_PATH
Trying to add "libSDL2-2.0.so.0" to maplib
Trying to load "libSDL2-2.0.so.0"
Simplified name is "libSDL2-2.0.so.0"
Using native(wrapped) libSDL2-2.0.so.0
Trying to add "libdl.so.2" to maplib
Trying to load "libdl.so.2"
Simplified name is "libdl.so.2"
Using native(wrapped) libdl.so.2
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Trying to load "libm.so.6"
Simplified name is "libm.so.6"
Using native(wrapped) libm.so.6
Created lib and added to maplib => success
Trying to add "librt.so.1" to maplib
Trying to load "librt.so.1"
Simplified name is "librt.so.1"
Using native(wrapped) librt.so.1
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Trying to load "libpthread.so.0"
Simplified name is "libpthread.so.0"
Using native(wrapped) libpthread.so.0
Created lib and added to maplib => success
Created lib and added to maplib => success
Trying to add "libSDL2_mixer-2.0.so.0" to maplib
Trying to load "libSDL2_mixer-2.0.so.0"
Simplified name is "libSDL2_mixer-2.0.so.0"
Using native(wrapped) libSDL2_mixer-2.0.so.0
Created lib and added to maplib => success
Trying to add "libstdc++.so.6" to maplib
Trying to load "libstdc++.so.6"
Simplified name is "libstdc++.so.6"
Read 32 Section header
Read 8 Program header
Loading Sections Table String (idx = 31)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 24)
Rel Table @0x61ae0 (0x7990/0x8)
PLT Table @0x69470 (type=17 0x1a10/0x8)
The GOT.PLT Table is at address 0x182000
The GOT Table is at address 0x181754
The .init is at address 0x6ae80
The .init_array is at address 0x17ceb0, and have 11 elements
The .fini is at address 0x12bcf4
The .fini_array is at address 0x17cedc, and have 1 elements
The .text is at address 0x6e3a0, and is 776532 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libstdc++.so.6" as #1 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x185038 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=16 (align=4)
Allocating 0x185038 memory @(nil) for Elf "/lib/i386-linux-gnu/libstdc++.so.6"
Got 0xf5cff000 (delta=0xf5cff000)
Loading block #0 @0xf5cff000 (0x17b8e4/0x17b8e4)
Add ELF eXecutable Memory 0xf5cff000:0x17b8e4
addDBFromAddressRange 0xf5cff000 -> 0xf5e7a8e3
Loading block #1 @0xf5e7beb0 (0x5f3c/0x8188)
Loading TLS block #4 @0x2c4a010 (0x0/0x10)
Using emulated /lib/i386-linux-gnu/libstdc++.so.6
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Trying to load "libc.so.6"
Simplified name is "libc.so.6"
Using native(wrapped) libc.so.6
Trying to add "ld-linux.so.2" to maplib
Trying to load "ld-linux.so.2"
Simplified name is "ld-linux.so.2"
Using native(wrapped) ld-linux.so.2
Created lib and added to maplib => success
Trying to add "libpthread.so.0" to maplib
Already present in maplib => success
Trying to add "librt.so.1" to maplib
Already present in maplib => success
Created lib and added to maplib => success
Trying to add "ld-linux.so.2" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Trying to load "libgcc_s.so.1"
Simplified name is "libgcc_s.so.1"
Read 27 Section header
Read 7 Program header
Loading Sections Table String (idx = 26)
Loading SymTab Strings (idx = 0)
Loading SymTab (idx = 0)
Loading Dynamic (idx = 20)
Rel Table @0x1c3c (0x50/0x8)
PLT Table @0x1c8c (type=17 0x148/0x8)
The GOT.PLT Table is at address 0x1d000
The GOT Table is at address 0x1cfe8
The .init is at address 0x1dd4
The .init_array is at address 0x1cee4, and have 2 elements
The .fini is at address 0x17798
The .fini_array is at address 0x1ceec, and have 1 elements
The .text is at address 0x20b0, and is 87781 big
Loading DynSym Strings (idx = 4)
Loading DynSym (idx = 3)
Adding "/lib/i386-linux-gnu/libgcc_s.so.1" as #2 in elf collection
Elf Addr(v/p)=(nil)/(nil) Memsize=0x1d238 (align=0x1000)
Elf Stack Memsize=1048576 (align=16)
Elf TLS Memsize=0 (align=0)
Allocating 0x1d238 memory @(nil) for Elf "/lib/i386-linux-gnu/libgcc_s.so.1"
Got 0xf5ce1000 (delta=0xf5ce1000)
Loading block #0 @0xf5ce1000 (0x1b64c/0x1b64c)
Add ELF eXecutable Memory 0xf5ce1000:0x1b64c
addDBFromAddressRange 0xf5ce1000 -> 0xf5cfc64b
Loading block #1 @0xf5cfdee4 (0x1dc/0x354)
Using emulated /lib/i386-linux-gnu/libgcc_s.so.1
Trying to add "libc.so.6" to maplib
Already present in maplib => success
Applying 10 Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
PLT Resolver injected in plt.got at 0xf5cfe008
Applying 41 PLT Relocation(s) for /lib/i386-linux-gnu/libgcc_s.so.1
Created lib and added to maplib => success
Applying 3890 Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
PLT Resolver injected in plt.got at 0xf5e81008
Applying 834 PLT Relocation(s) for /lib/i386-linux-gnu/libstdc++.so.6
Created lib and added to maplib => success
Trying to add "libm.so.6" to maplib
Already present in maplib => success
Trying to add "libgcc_s.so.1" to maplib
Already present in maplib => success
Trying to add "libc.so.6" to maplib
Already present in maplib => success
And now export symbols / relocation for ./WorldOfGoo.bin.x86...
Applying 16 Relocation(s) for ./WorldOfGoo.bin.x86
PLT Resolver injected in plt.got at 0x82fe008
Applying 224 PLT Relocation(s) for ./WorldOfGoo.bin.x86
Calling Init for /lib/i386-linux-gnu/libgcc_s.so.1 @0xf5ce2dd4
GetDynablocksFromAddress(0xf796a008, 0xf5ce2dd4) => 0x2c78ca0 (0x53 / 0x83)
Ask for DynaRec Block Alloc #1
Emitting 316 bytes for 35 x86 bytes ( => /lib/i386-linux-gnu/libgcc_s.so.1/ + 7636)
0xf5ce2dd4: 53 PUSH reg
0xf58e1000: 1 emited opcodes, state=0/0, set=0, use=0, need=0
e9280080 STMDB r8!, {r7}
0xf5ce2dd5: 83 EC 08 SUB Ed, Ib
0xf58e1004: 1 emited opcodes, state=1/0, set=3F, use=0, need=0
e2488008 SUB r8, r8, #0x8
0xf5ce2dd8: E8 83 09 00 00 CALL Id
0xf58e1008: 2 emited opcodes, state=1/1, set=3F, use=0, need=0
Hack for Call x86.get_pc_thunk.reg
e3027ddd MOVW r7, #0x2ddd
e34f75ce MOVT r7, #0xf5ce
0xf5ce2ddd: 81 C3 23 B2 01 00 ADD Ed, Id
0xf58e1010: 3 emited opcodes, state=1/1, set=3F, use=0, need=0
e30b3223 MOVW r3, #0xb223
e3403001 MOVT r3, #0x1
e0877003 ADD r7, r7, r3
0xf5ce2de3: 8B 83 F8 FF FF FF MOV Gd, Ed
0xf58e101c: 1 emited opcodes, state=0/1, set=0, use=0, need=0
e5174008 LDR r4, [r7, #-8]
0xf5ce2de9: 85 C0 TEST Ed, Gd
0xf58e1020: 5 emited opcodes, state=1/1, set=3F, use=0, need=8
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e0143004 ANDS r3, r4, r4
0300c001 MOVWEQ r12, #0x1
e580c03c STR r12, [r0, #60]
0xf5ce2deb: 74 05 JZ ib
0xf58e1034: 3 emited opcodes, state=0/1, set=0, use=8, need=0
e590203c LDR r2, [r0, #60]
e3520001 CMP r2, #0x1
0a000013 BEQ +21
----> potential Son here
0xf5ce2ded: E8 B6 02 00 00 CALL Id (=> /lib/i386-linux-gnu/libgcc_s.so.1/ + 8360)
0xf58e1040: 20 emited opcodes, state=1/0, set=3F, use=0, need=0
CStack PUSH 0xf5ce2df2/0xf58e1090-----
e5902374 LDR r2, [r0, #884]
e3001378 MOVW r1, #0x378
e3100004 TST r0, #0x4
12811004 ADDNE r1, r1, #0x4
e0811182 ADD r1, r1, r2, lsl #3
e2822001 ADD r2, r2, #0x1
e202201f AND r2, r2, #0x1f
e5802374 STR r2, [r0, #884]
e3022df2 MOVW r2, #0x2df2
e34f25ce MOVT r2, #0xf5ce
e3013090 MOVW r3, #0x1090
e34f358e MOVT r3, #0xf58e
e18020f1 STRD r2, r3, [r0, r1]
--------------CStack PUSH
e9280004 STMDB r8!, {r2}
Jump to linker (#0) nolinker=0
e303c0a8 MOVW r12, #0x30a8
e34fc5ce MOVT r12, #0xf5ce
e3091228 MOVW r1, #0x9228
e34012ce MOVT r1, #0x2ce
e5912000 LDR r2, [r1, #0]
e12fff12 BX r2
----> potential Son here
0xf5ce2df2: 83 C4 08 ADD Ed, Ib
0xf58e1090: 27 emited opcodes, state=1/0, set=3F, use=0, need=3F
e300c000 MOVW r12, #0x0
e580c2fc STR r12, [r0, #764]
e3883008 ORR r3, r8, #0x8
e208c008 AND r12, r8, #0x8
e2988008 ADDS r8, r8, #0x8
e1c33008 BIC r3, r3, r8
e183300c ORR r3, r3, r12
e7e0c1d3 UBFX r12, r3, #3, #1
e580c034 STR r12, [r0, #52]
13003000 MOVWNE r3, #0x0
03003001 MOVWEQ r3, #0x1
e580303c STR r3, [r0, #60]
2300c001 MOVWCS r12, #0x1
3300c000 MOVWCC r12, #0x0
e580c024 STR r12, [r0, #36]
7300c000 MOVWVC r12, #0x0
6300c001 MOVWVS r12, #0x1
e580c050 STR r12, [r0, #80]
e7e03fd8 UBFX r3, r8, #31, #1
e5803040 STR r3, [r0, #64]
e20830e0 AND r3, r8, #0xe0
e590c30c LDR r12, [r0, #780]
e79cc1a3 LDR r12, [r12, r3, lsr #3]
e208301f AND r3, r8, #0x1f
e1e0c33c MVN r12, r12, lsr r3
e20cc001 AND r12, r12, #0x1
e580c02c STR r12, [r0, #44]
0xf5ce2df5: 5B POP reg
0xf58e10fc: 1 emited opcodes, state=0/1, set=0, use=0, need=3F
e8b80080 LDM r8!, {r7}
0xf5ce2df6: C3 RET
0xf58e1100: 15 emited opcodes, state=0/1, set=0, use=1000, need=3F
Ret epilog
e8b81000 LDM r8!, {r12}
CStack POP----------------
e5901374 LDR r1, [r0, #884]
e2411001 SUB r1, r1, #0x1
e201101f AND r1, r1, #0x1f
e5801374 STR r1, [r0, #884]
e3002378 MOVW r2, #0x378
e3100004 TST r0, #0x4
12822004 ADDNE r2, r2, #0x4
e0821181 ADD r1, r2, r1, lsl #3
e18020d1 LDRD r2, r3, [r0, r1]
e15c0002 CMP r12, r2
012fff13 BXEQ r3
----------------CStack POP
e3072890 MOVW r2, #0x7890
e3402290 MOVT r2, #0x290
e12fff12 BX r2
---- END OF BLOCK ---- (11, 2 sons)
--- DynaRec Block created @0xf5ce2dd4:0xf5ce2df7 (0xf58e1000, 0x13c bytes, with 2 son(s))
Calling DynaRec Block @0xf5ce2dd4 (0xf58e1000) of 11 x86 instructions (nolinker=0, father=(nil)) emu=0x2bb36f8
GetDynablocksFromAddress(0xf796a008, 0xf5ce30a8) => 0x2c78d10 (0xff / 0xa3)
Emitting 56 bytes for 6 x86 bytes ( => /lib/i386-linux-gnu/libgcc_s.so.1/ + 8360)
0xf5ce30a8: FF A3 F8 FF FF FF JMP Ed
0xf58e1200: 14 emited opcodes, state=0/0, set=0, use=0, need=0
e517c008 LDR r12, [r7, #-8]
Jump to linker (#0) nolinker=0
e3091058 MOVW r1, #0x9058
e34012ce MOVT r1, #0x2ce
e1b12f9f LDREXD r2, r3, [r1]
e15c0003 CMP r12, r3
012fff12 BXEQ r2
e30728a0 MOVW r2, #0x78a0
e3402290 MOVT r2, #0x290
e1a0300c MOV r3, r12
e1a1cf92 STREXD r12, r2, r3, [r1]
e35c0001 CMP r12, #0x1
e1a0c003 MOV r12, r3
0afffff5 BEQ -9
e12fff12 BX r2
---- END OF BLOCK ---- (1, 0 sons)
--- DynaRec Block created @0xf5ce30a8:0xf5ce30ae (0xf58e1200, 0x38 bytes, with 0 son(s))

Program received signal SIGILL, Illegal instruction.
0xf5ce1000 in ?? ()
(gdb) x/10i $pc-32
0xf5ce0fe0: andeq r0, r0, r0
0xf5ce0fe4: andeq r0, r0, r0
0xf5ce0fe8: andeq r0, r0, r0
0xf5ce0fec: andeq r0, r0, r0
0xf5ce0ff0: andeq r0, r0, r0
0xf5ce0ff4: andeq r0, r0, r0
0xf5ce0ff8: andeq r0, r0, r0
0xf5ce0ffc: andeq r0, r0, r0
=> 0xf5ce1000: ; <UNDEFINED> instruction: 0x464c457f
0xf5ce1004: andeq r0, r1, r1, lsl #2
(gdb) backtrace full
#0 0xf5ce1000 in ?? ()
No symbol table info available.
#1 0x02893a30 in tableupdate (table=0x0, ref=4124041216, jumpto=<optimized out>)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
No locals.
#2 UpdateLinkTable (emu=<optimized out>, table=0x0, addr=4124041216)
at /mnt/crypt1/projects/builds/box86/src/dynarec/dynarec.c:87
current = 0x2cec6a0
block = 0x2c4b64c
father = <optimized out>
#3 0x02bb14e0 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
 
Back
Top