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.
12
5
Ralph Corderoy's profile photoNick Alcock's profile photoMatt Ranostaj's profile photoJoe Zbiciak's profile photo
15 comments
 
Ah work dreams aren't they always fun? :)
 
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 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...