https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94307
Bug ID: 94307 Summary: Provide a way to declare the *SAN exception handler -fsanitize-undefined-trap-on-error Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: kees at outflux dot net CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- Instead of unconditionally calling __builtin_trap() for -fsanitize-undefined-trap-on-error it would help the Linux kernel's use of UBSAN to have a way to specify the trap function. With that, Linux can use its own internal exception handling routines and avoid various confused states: https://lore.kernel.org/linux-next/20200324164433.qusyu5h7ykx3f2bu@treble/ For example something like -fsanitize-undefined-trap-function=__ubsan_trap and "__ubsan_trap" can then be defined by the kernel itself. Using the standard handler routines (__ubsan_handle_*) are too heavy duty for some builds, so a regular trap is needed for the kernel, but this allows us to provide a "continue anyway" option as well.