Bogus position independent code(PIC) emitted for ColdFire v4e
Richard Henderson
rth@redhat.com
Fri Dec 6 15:33:00 GMT 2002
On Fri, Dec 06, 2002 at 02:38:33PM -0500, Peter Barada wrote:
> Are there any gotchas that I should be aware of(i.e. using UNSPEC will
> definitely *break* something in the 68k port)?
Not that I can think of. If you wrap the UNSPEC in a CONST, then it
should be considered to be a 32-bit constant, and so will be accepted
anywhere a 32-bit constant is.
Which, for the '020 instruction set is ideal. Carefully constructed
predicates should be used to allow just the right combinations for
the coldfire. E.g.
(const (unspec [(symbol_ref "foo")] UNSPEC_GOT))
should expand to foo@GOT in the assembly. But during compilation
we look at -fpic vs -fPIC to determine if this is a 16-bit or a
32-bit quantity, and thus whether it's allowed in the immediate field
of an address.
r~
More information about the Gcc
mailing list