This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: Adding VxWorks PIC support to various backends
Richard Sandiford <richard@codesourcery.com> writes:
> Ian Lance Taylor <iant@google.com> writes:
> > Richard Sandiford <richard@codesourcery.com> writes:
> >> 1) Wrap it in #ifdef TARGET_VXWORKS_RTP.
> >>
> >> 2) Provide an always-false definition of TARGET_VXWORKS_RTP in
> >> arm.h, i386.h, etc. Also provide dummy definitions of the
> >> VXWORKS_GOTT_* macros.
> >>
> >> 3) Provide an always-false definition of TARGET_VXWORKS_RTP in
> >> defaults.h. Also provide dummy definitions of the VXWORKS_GOTT_*
> >> macros.
> >>
> >> 4) Like (3), but provide the real VxWorks default values of the
> >> VXWORKS_GOTT_* macros (rather than dummy ones).
> >
> > Provide an always-false definition of TARGET_VXWORKS_RTP in arm.h,
> > i386.h, etc. Define the other macros in config/vxworks.h. Add
> > vxworks.h to config.gcc for the appropriate targets.
>
> OK. If I've understood you correctly, the difference between that
> and (2) is that you wouldn't have the dummy definitions of the
> VXWORKS_GOTT_* macros in arm.h, etc. Is that right?
>
> So by appropriate targets, do you mean all arm, i386, etc. targets?
> It's just that if there are no definitions of the VXWORKS_GOTT_* macros,
> you'll get a compilation error.
Oh, right. I guess I would be inclined to use a #ifdef. Or maybe
write functions for VXWORKS_GOTT_* and stash them in varasm.c and have
them use a #ifdef. I don't know. I hope somebody else sees a less
ugly solution.
Ian