[PATCH] ld: add switch to disable use of BLX instructions
Fri Apr 13 15:48:00 GMT 2012
> If this is moving to a single '[no-]use' option, then why do we need
> > @@ -625,6 +628,10 @@ PARSE_AND_LIST_ARGS_CASES='
> > use_blx = 1;
> > break;
> > + case OPTION_NO_USE_BLX:
> > + no_use_blx = 1;
> > + break;
> > +
> ... 'use_blx' and 'no_use_blx'. Seems like we just need one of
Because "use_blx" means "force armv5 style interworking" and "no_use_blx" means "force armv4t style interworking". If you just set "use_blx" to 0 the linker picks for you. On a linker configured as "--with-arch=armv7-a --with-cpu=cortex-a9 --with-tune=cortex-a9" it *always* picks armv5 style interworking, even if all object files were compiled as "-mcpu=arm7tdmi -march=armv4t -mthumb-interwork"
More information about the Binutils