Die return-Adresse zeigt nicht in die VecTab, weil in der VecTab ein jump steht (und nicht ein call). Das Problem ist nicht, die ret-Adresse auszuwerten, sondern an die Ort der ret-Adresse zu kommen. Das einzige, was es dafür gibt, wäre __builtin_return_address (ist aber ein Erratum, s.o.).

Die Return-Adresse oben wäre __vector_10+2, was der Linker zu einer Konstanten auflöst. Aber wie formulierst du den Ort der Return-Adresse?

Schreiben will ich in C, keine Frage. Aber die Welt ist eben nicht Schwarz-Weiß. Manchmal muss man sich in die Unterwelt begeben. Und den Aufenthalt dort macht man so kurz und knapp es eben geht.