Unable to bootstrap gcc snapshot of 20001211 on Dynix/ptx

biswapesh.chattopadhyay@bt.com biswapesh.chattopadhyay@bt.com
Tue Dec 19 01:33:00 GMT 2000


> Ouch.  I was going to suggest just getting rid of the bcopy calls
> and rely on libiberty to provide memcpy and memmove for systems that
> lack it.  But libiberty appears to assume that it can 
> implement memmove, on
> systems that don't have it, as a wrapper around bcopy.

Probably the other way round as well - there is a macro in gcc code which
uses bcopy as a macro wrapper around memmove. This is activated when
HAVE_BCOPY is not defined. We'll just have to undef HAVE_BCOPY globally.
See:
----------------------------------------------------------------------------
----------------------
/var/opt/spool/out/em/biswa/gcc/src/gcc-20001211>find . -type f -print |
xargs grep "define bcopy"
./gcc/expr.h:#define bcopy_libfunc      (libfunc_table[LTI_bcopy])
./gcc/system.h:#  define bcopy(src,dst,len) memmove((dst),(src),(len))
./gcc/config/i386/xm-beos.h:#define bcopy(s,d,n)        memmove((d),(s),(n))
./gcc/config/romp/xm-romp.h:#define bcopy(s,d,l) memcpy(d,s,l)
./gcc/config/rs6000/xm-beos.h:#define bcopy(s,d,n)      memmove((d),(s),(n))
----------------------------------------------------------------------------
------

bcopy is also implemented in C (this is not buggy) in libiberty and memove
is a wrapper around this one. See libiberty/bcopy.c libiberty/memmove.c

So we won't have a problem.

Rgds.
Biswa.


More information about the Gcc mailing list