In other words, when octave crashes, I want to produce a real corefile , not an octave-core. By default, octave catches the signal and produces an octave-core. However, because my segfault is happening deep within external libraries, the octave-core isn't particularly helpful. I'm hoping there is a way to produce a real core without having to actively change the octave source code.
About 10 years ago, this discussion was held here At nabble. At the time the conclusion was exactly what you said: in order to change the way that the interrupts and signals are handled you would have to do a fundamental rewrite of some of the core elements of Octave.
It looks like a year later the same question was raised, and someone had put in actual effort into rewriting Octave's signal handling. I have had the same question, as I enjoy in my C/C++ rewriting how signals are handled to clean up before my programs exit, examine on crash errors more closly etc. However it appears that Octave still doesn't do a very good job with this yet. I have found a few more discussions others have had about signal handling in the last year or so, but nothing that would provide a simple interface such as the one you are asking for.