[m68k] -pcrel fix for TARGET_COLDFIRE
Daniel Jacobowitz
drow@false.org
Sun Jul 31 04:55:00 GMT 2005
On Sun, Jul 31, 2005 at 04:13:08AM +0200, Bernardo Innocenti wrote:
>
>
> Daniel Jacobowitz wrote:
> > On Sat, Jul 30, 2005 at 05:31:36PM +0200, Bernardo Innocenti wrote:
> >
> >>We can't factor code like this since we need to say
> >>"%o0" with -mpcrel and "%0" with -fpic/-fPIC.
> >>
> >>%o is an m68k-specific formatting code:
> >>
> >> 'o' for operands to go directly to output_operand_address (bypassing
> >> print_operand_address--used only for SYMBOL_REFs under TARGET_PCREL)
> >
> >
> > Thanks - I missed that. In any case, I'd appreciate it if you fixed
> > the bsr.l for the !TARGET_PCREL case too. Otherwise I'll eventually
> > find a way to test a fix myself, but it's going to be a while.
>
> Tou mean _this_ brs.l?
>
> #if defined(USE_GAS)
> out = "bsr.l %0@PLTPC";
> #else
> out = "bsr %0@PLTPC";
> #endif
>
> What's wrong with it? I can't find your original patch in
> the archives.
The condition is if ((flag_pic == 1) || TARGET_68020), IIRC. It
triggers for ColdFire even if there's no bsr.l on that platform.
http://gcc.gnu.org/ml/gcc-patches/2005-04/msg01281.html
--
Daniel Jacobowitz
CodeSourcery, LLC
More information about the Gcc-patches
mailing list