Richard Sandiford <[EMAIL PROTECTED]> writes: > Ian Lance Taylor <[EMAIL PROTECTED]> writes: > > Richard Sandiford <[EMAIL PROTECTED]> 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