The GCC compile farm has a big-endian 64-bit MIPS box. The kernel is:
Linux erpro8-fsf1 3.14.10-er8mod-00013-ge0fe977 #1 SMP PREEMPT Wed Jan
14 12:33:22 PST 2015 mips64 GNU/Linux
Which is a vendor kernel for the EdgeRouter Pro-8.
/proc/cpuinfo reports:
system type : UBNT_E200 (CN6120p1.1-1000-NSP)
machine : Unknown
processor : 0
cpu model : Cavium Octeon II V0.1
While testing W^X (execmod, DEP, NX) stack enforcement, I noticed that
once I try to execute code off a non-executable page, I do not get a
signal, but the code appears to enter an infinite loop. The generated
function starts with a jump instruction to return to the caller, but
instead, the program counter does not seem to change at all.
“si” in GDB also hangs (but can be interrupted with ^C).
My test code is here:
https://pagure.io/execmod-tests
Is this a kernel bug or an issue with the silicon?
Thanks,
Florian