I wouldn't make the behavior conditional on the arch hook's definition. I think a consistent change to a real SIGTRAP signal is better for any arch. Until each arch defines the hook, it can just get the default siginfo_t contents of 0-fill.
This arch hook is purely for the single-step case. For that the name "arch_fill_sigtrap_info" is too generic-sounding. I'd make it fit in with the existing *_step stuff, e.g. "user_single_step_siginfo". I think for an arch_has_* #ifdef it is normal to make them uppercase. Anyway, those naming details can get upstream feedback when you post. Thanks, Roland