https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114756
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Basically what is happening is the linker relaxation code is turning it into something which is wrong. But GCC's invalid use of %lo(n+4)(a5) with a (invalid) corresponding %hi(n) is confusing the relaxation code really.