This is the mail archive of the
mailing list for the binutils project.
Re: RFA: Support for Thumb in dynamic objects
Daniel Jacobowitz <email@example.com> writes:
> > There is, of course, a second related issue, which is whether the
> > other objects involved in the dynamic link are compiled with
> > interworking support. In my case I could not assume that. So while
> > my linker doesn't add a stub for each R_ARM_THM_PC22 reloc--it just
> > changes those to blx when appropriate--it does automatically add a
> > stub for ABS32 and GOT32 references to Thumb code. I don't have a
> > good automatic solution here--perhaps the new new ABI, which I gather
> > requires interworking support, will take the issue off the table.
> > Along similar lines it is quite easy for the linker to generate stubs
> > for all functions potentially referenced by non-interworking code, so
> > the need for the -mcallee-super-interworking option goes away.
> I haven't done any work on the linker equivalents of super
> interworking, since I didn't need them at the time. If you'd like to
> contribute it, of course... :-)
Of course, before I can contribute them, we have to work out the
issues of when you can use ARMv5T and when you can't assume
the code supports interworking....
(Of course the linker can only handle -mcallee-super-interworking.
-mcaller-super-interworking requires compiler support. That was
unfortunately broken since it was written; I implemented my own
version, only to discover that it has been fixed in the current
compiler anyhow. (Although I do wonder what happens with the current
compiler when using a shared libgcc and making a
caller-super-interworking call via ip.))