pardo@june.cs.washington.edu (David Keppel) (10/11/88)
I first reported this in version 1.23 or so, it hasn't been fixed.
The idea in the program is to insert inline code to do a fast bcopy if
we happen to be compiling on the vax.
CONFIGURATION:
Machine: VAX 8550
OS: Ultrix V2.3
Gcc configuration files: vax.md, tm-ultrix, config-vax.h,
output-vax.h
WHAT I DID::
Script started on Mon Oct 10 11:49:02 1988
june 1 % make
gcc -g -O -S -v -c foo.c
gcc version 1.29
/uns/src/GNU/g++/lib/gcc-cpp -v -undef -D__GNU__ -D__GNUC__ -Dvax -Dunix -D__OPTIMIZE__ foo.c /tmp/cc014183.cpp
GNU CPP version 1.29
/uns/src/GNU/g++/lib/gcc-cc1 /tmp/cc014183.cpp -quiet -dumpbase foo.c -g -O -version -o foo.s
GNU C version 1.29 (vax) compiled by GNU C version 1.29.
gcc: Program cc1 got fatal signal 4.
*** Error code 1
Stop.
june 2 % more foo.c
#ifdef vax
#ifdef __GNUC__
# define bcopy(src,dest,count) {\
register void *__m_src = (src), *__m_dest = (dest); \
register unsigned int __m_count = (count); \
asm volatile \
("bcopy %0,%l,%2" \
: "=g"(__m_src) \
, "g"(__m_count) \
: "g"(__m_dest) \
); \
}
#endif
#endif
main()
{
char *src = "Hello world\n";
char dest[80];
int len;
len = strlen(src)+sizeof(char) ;
bcopy( src, dest, len );
printf( "%s", dest );
exit(0);
}
june 3 % exit
june 4 %
script done on Mon Oct 10 11:49:17 1988
;-D on ( The Deprogrammer ) Pardo
--
pardo@cs.washington.edu
{rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo