@ledoian@lcamtuf I'd guess the interrupt handler table would be a function pointer table, which is used pretty often in C. Dynamic linker… I'd doubt it would be like function pointers. https://git.musl-libc.org/cgit/musl/tree/ldso at least is pretty small but I've just woke up so bit hard to tell for sure.
@lanodan@lcamtuf I meant, if I were to implement switch in assembly, having a table determined by labels and indirectly jumping through it would make sense (and there are already examples of such tables).
I didn't expect that this would even work in C in any way (standard probably does not allow manipulating labels at all), though it is not surprising that GCC exposes this functionality (given many architectures support indirect jumps), TIL! I weren't aware that the original post was actually a valid gnu-c code…