[PATCH] MIPS gas: Reallow branches to global file-internal labels

Alexandre Oliva aoliva@redhat.com
Thu Feb 13 06:51:00 GMT 2003


On Feb 12, 2003, Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> wrote:

> This seems to be intentional, as the testcase was adjusted accordingly.

Yes, it is intentional.  Global symbols are supposed to be overridable
according to ELF library semantics.  Resolving them locally, like the
IRIX assembler does, looks like a bug to me.  If we can't represent
it, we can't, live it with.

> However, this breaks much code, especially performance-critical
> hand-coded one.

Hand-coded assembly can always be adjusted so as to use local labels,
such that only local labels are used as branch targets.

> To my knowledge, it affects at least the Linux
> Kernel, glibc and dietlibc.

Kernel is fixed.  Glibc fixes are still awaiting approval.  I haven't
looked at dietlibc.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer



More information about the Binutils mailing list