This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH] ld: add switch to disable use of BLX instructions


> 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
> them.
> 

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"

-Allen

nvpublic


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]