> I made the jump table part of .text in order to make it RIP-relative

Did you do this manually?

gcc changed to put jump tables in .rodata always which causes problems when .rodata is stored in ROM.

It does have the `-fno-jump-tables` option but that just disables jump tables rather than allowing you to control where they go.