https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124505
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- -m16 is only designed for the first few things of booting and changing into 32bit mode. I am not sure this is a GCC bug or maybe it is a binutils one.
