After several hours trying to obtain access to an ARM64 machine where I could test the fix, vorlon kindly provided me with credentials to a machine that's capable of launching an armhf container.
I could reproduce the bug:
# gdb -q ./a.out -ex 'b 3' -ex r -ex c
Reading symbols from ./a.out...
Breakpoint 1, thumb_func () at 1.c:3
3 return 42;
Continuing.
Program received signal SIGILL, Illegal instruction.
0x00401004 in ?? ()
...
And also verify that Liu's package fixes the problem:
# gdb -q ./a.out -ex 'b 3' -ex r -ex c
Reading symbols from ./a.out...
Breakpoint 1 at 0x4d8: file 1.c, line 3.
Starting program: /root/a.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Breakpoint 1, thumb_func () at 1.c:3
3 return 42;
Continuing.
[Inferior 1 (process 2666) exited with code 052]
After several hours trying to obtain access to an ARM64 machine where I could test the fix, vorlon kindly provided me with credentials to a machine that's capable of launching an armhf container.
I could reproduce the bug:
# gdb -q ./a.out -ex 'b 3' -ex r -ex c
Reading symbols from ./a.out...
Breakpoint 1, thumb_func () at 1.c:3
3 return 42;
Continuing.
Program received signal SIGILL, Illegal instruction.
0x00401004 in ?? ()
...
And also verify that Liu's package fixes the problem:
# gdb -q ./a.out -ex 'b 3' -ex r -ex c linux-gnueabihf /libthread_ db.so.1" .
Reading symbols from ./a.out...
Breakpoint 1 at 0x4d8: file 1.c, line 3.
Starting program: /root/a.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-
Breakpoint 1, thumb_func () at 1.c:3
3 return 42;
Continuing.
[Inferior 1 (process 2666) exited with code 052]
Therefore, I sponsored the upload for him.