Shared publicly  - 
I am not making up the fact that I had a nightmare last night in which r12 (ARM IP register) was trying to kill me. I might have spent too long staring at kernel disassembly over the weekend.
Greg Tucker's profile photoJoe Zbiciak's profile photoJon Masters's profile photoNick Alcock's profile photo
It's not exactly clear how a register was personified, but it was mean I tell ya. Mean. Really, really ugly. And it wanted blood. So don't think I haven't had any scary audit-inspired nightmares, because I have. Complete with an actual cold sweat. FFS.
This is more weird than a dream of my colleague who was a C compiler, having a terrible headache every time he was unable to compile some crappy code.
Not the first ARM dream I have had. But the weirdest so far.
The frame pointer may cast aspersions but beware the return of the link register.
I had a bad dream that I was a fish for Tux...
I dunno. For me, certain registers in CP15 may as well be on Elm Street....
Well, that's true. But I (fortunately) wasn't directly worried about CP15 corruption in this case (I was last week, when I thought it was TLS corruption before I found it was IP actually and not the source of the TLS read). If that makes any sense to you, you also are spending too long with ARM kernels ;)
Looking forward to the demise of cp15 (see published v8 spec).
No it's the shadow registers that you have to worry about. r14_fiq hides where ordinary users can't find him waiting to trap you with the mysterious exception 0x14. Try not to dream about that tonight.
I soemtimes think FIQ should have been spelled with a different vowel. ;-)
+Greg Tucker Doesn't bother me. I prefer debugging userspace issues with a hardware debugger anyway ;) I just rewrite the cpsr to switch to whatever mode and then those registers are magically revealed.
Going to userspace and eschewing assembler doesn't help you. I got trapped in an infloop in elfutils nm(1) last night, round and round never stopping no no stop let me get OFF! (No guesses what I was debugging during the day.)

It's true what they say: toolchain and lowlevel stuff is dangerous to your sanity.
Uh-oh. I'm debugging an LLVM issue now...
Expect to have nightmares of intermediate representations with pointy teeth. (There's a reason it's called *bit*code.)
Add a comment...