Hi,

I have a piece of code running fine on native Linux, but terminating unexpected with SIGSEGV while running on l4linux on the same piece of hardware.

The relevant code is in _armv7_neon_probe "vorr q15,q15,q15" (undefined instruction on ARMv5) which normally would throw SIGILL and thus being caught in the caller.

With CONFIG_L4_DEBUG_SEGFAULTS enabled, the exception is correctly printed as
> CPSR: 6000010 Err: 00100000
> MyApp/171: Undefined instruction at 0007c7e0 with content f26ee1fe, err 00100000

Unfortunately, when I look into l4linux/arch/l4/kernal/signal.c in l4x_deliver_signal(), errcode is not used at all and so IGSEGV will always be sent, regardless of the exceptions.


Martin


openssl/crypto/armv4cpuid.S:
.global        _armv7_neon_probe
.type        _armv7_neon_probe,%function
_armv7_neon_probe:
        .word        0xf26ee1fe        @ vorr        q15,q15,q15
        .word        0xe12fff1e        @ bx        lr
.size        _armv7_neon_probe,.-_armv7_neon_probe




_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

Reply via email to