HAVE_probe macro

Larin Hennessy larin@science.oregonstate.edu
Sun Feb 23 20:22:00 GMT 2003


In the process of looking at undocumented macros, I ran across the 
following in gcc/gcc/config/m68k/crds.h dating from 1997-02-15:

/* UNOS need stack probe :-( */

#if 0
#define HAVE_probe 1
#define gen_probe()  gen_rtx_ASM_INPUT (VOIDmode, "tstb 
-2048(sp)\t;probe\n")
#else
#undef NEED_PROBE
#define NEED_PROBE (-2048)
#endif

The only place that HAVE_probe seems to still be used is in 
gcc/gcc/explow.c:

  /* Some systems require a particular insn to refer to the stack
     to make the pages exist.  */
#ifdef HAVE_probe
  if (HAVE_probe)
    emit_insn (gen_probe ());
#endif

The only other refences I can find to HAVE_probe were from 
FSFChangeLog.10 and 11 relating to removing HAVE_probe from
i386/winnt.h in 1995 and the change to m68k/crds.h in 1997.

In fact, the only references to NEED_PROBE and gen_probe  seem to also 
be in a few lines of files crds.h, plexus.h, m68k.c, m68k.h,
m68k.md, and explow.c.  And none of these items appear to be documented.

m68k-crds-unos is still listed as a suported platform on the web pages, 
but m68k-plexus-sysv is not currently listed.

I do not have of these boxes to test with, but the above code could not 
have worked since 1997.  Should the plexus code be removed,
and explow changed to use NEED_PROBE?

I would be happy to put together a patch, but I was wondering what the 
correct course of action is in this case.

-Larin



More information about the Gcc mailing list