I've tracked my problem down to something strange with the assembler - it's generating what the ARM ABI calls the "ARM-defined compact model" exception tables in the .ARM.extab section. However, to the best of my ability to check, the assembler that doesn't work is the same as the assembler that does (I have some coworkers who do NOT see this issue, but their assemblers have the same md5sum as mine....) If nobody can suggest something I'll go pester the binutils group....