Re: Gcc - can't branch to undefined symbol

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf Baechle wrote:
> On Thu, Jan 29, 2004 at 12:25:16PM -0800, Jerry Walden wrote:
> 
> > I am using gcc 3.3.2 - when I assemble a file that has a branch to a
> > label, and the label is not defined in the .S file (i.e. there is no
> > extern - the label exists in another .S file) the error "cannot branch
> > to an undefined symbol" results.  Using an older version of
> > mipsel-gnu-linux-gcc does not report this error.  Any idea what I am
> > doing wrong?
> 
> This construct is illegal because it cannot be represented in MIPS ELF.

MIPS ELF could do (modulo some documentation bug in the spec), it is
specifically the assembler which forbids branches to external labels.
I wrote once a patch to allow it, but this broke NewABI support in turn.

It would be nice optimization as long as the linker can guarantee the
code is in the maximum branch range (+-128k).


Thiemo


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux