Comment by ajross

Comment by ajross 3 days ago

3 replies

I think you're misunderstanding. 32 bit ARM has TWO instruction encodings. OpenBSD apparently only knows about one. In thumb encoding, the instruction is a branch, not a trap.

Someone 3 days ago

It can’t be a trap in regular ARM assembly, either, can it?

There, all instructions are 32 bits and D4D4 is only 16 bits.

  • [removed] 2 days ago
    [deleted]
  • ajross 2 days ago

    It just fills the memory with 0xd4 bytes. That happens to be a trapping instruction if it's filling space between aligned 32-bit ARM instructions. It doesn't work to infill 16-bit holes in thumb instructions at all (i.e. it's not a trap), but when used for its intended purpose it presumably works fine.