Fixed or forbidden register was spilled

Mark Mitchell mark@markmitchell.com
Thu Nov 26 10:43:00 GMT 1998


  mark@markmitchell.com (Mark Mitchell) writes:

  > Does anyone have answers to these questions?

  I've posted this a few times already in the Linux mailing listss and
  newsgroups.

But, sadly, not anywhere that I've seen it... :-) Gerald, would you
mind making Ulrich's solution a FAQ entry?  Hopefully, that will save
us all some grief in the future.

  # define __FD_ZERO(fdsetp) \
    do {                                                                        \
      int __d0, __d1;							      \
    __asm__ __volatile__ ("cld; rep; stosl"				      \
			  : "=m" (((__fd_mask *)				      \
				   (fdsetp))[__FDELT (__FD_SETSIZE)]),	      \
			    "=&c" (__d0), "=&D" (__d1)			      \
			  : "a" (0), "1" (sizeof (__fd_set)		      \
					  / sizeof (__fd_mask)),		      \
			    "2" ((__fd_mask *) (fdsetp))			      \
			  : "memory");					      \
    } while (0)

-- 
Mark Mitchell 			mark@markmitchell.com
Mark Mitchell Consulting	http://www.markmitchell.com



More information about the Gcc-bugs mailing list