This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Issue with apache compilation : memmove & bcopy


Greetings,

I am a Graduate Student at UT-Austin and I am working on a class
project titled "Enhancing Server Availability through failure
oblivious computing methods". As part of the project, we are patching
GCC to produce a failure-oblivious compiler. We have built this
compiler based on the patch written by Richard Jones for a safe
compiler. The patch is available here:
http://sourceforge.net/projects/boundschecking/ . We are now trying to
compile apache against our compiler. On running ./configure I noticed
that there are some checks which
are different compared to the normal GCC compiler. The difference being that:

checking for memmove... no
checking for bcopy... no
checking for strncasecmp... no
checking for strcasecmp... no
checking for strdup... no
checking for strstr... no
checking for memchr... no

Further, when we go about trying to compile by typing "make" on the
command line we got the error:

Making all in srclib
make[1]: Entering directory `/home/ne0/Desktop/httpd- 2.2.6/srclib'
Making all in apr
make[2]: Entering directory `/home/ne0/Desktop/httpd-2.2.6/srclib/apr'
make[3]: Entering directory `/home/ne0/Desktop/httpd-2.2.6/srclib/apr'
/bin/bash /home/ne0/Desktop/httpd- 2.2.6/srclib/apr/libtool --silent
--mode=compile /home/ne0/gcc-4.0.2/objdir/gcc/xgcc -pthread
-B/home/ne0/gcc-4.0.2/objdir/gcc/ -fbounds-checking -fno-builtin -Wall
-O2 -g -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE
-D_LARGEFILE64_SOURCE   -I./include -I/home/ne0/Desktop/httpd-
2.2.6/srclib/apr/include/arch/unix -I./include/arch/unix
-I/home/ne0/Desktop/httpd-2.2.6/srclib/apr/include  -o
passwd/apr_getpass.lo -c passwd/apr_getpass.c && touch
passwd/apr_getpass.lo
In file included from ./include/apr_want.h:63,
                 from ./include/apr_pools.h:41,
                 from
/home/ne0/Desktop/httpd-2.2.6/srclib/apr/include/arch/unix/../apr_private_common.h:24,
                 from
/home/ne0/Desktop/httpd-2.2.6/srclib/apr/include/arch/unix/apr_private.h:779,
                 from passwd/apr_getpass.c:22:

/usr/include/string.h:293: error: conflicting types for 'bcopy'
/usr/include/string.h:44: error: previous declaration of 'bcopy' was here

make[3]: *** [passwd/apr_getpass.lo] Error 1
make[3]: Leaving directory `/home/ne0/Desktop/httpd-2.2.6/srclib/apr'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/ne0/Desktop/httpd- 2.2.6/srclib/apr'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ne0/Desktop/httpd-2.2.6/srclib'
make: *** [all-recursive] Error 1

bcopy is declared only once in string.h and it seems puzzling as to
where is being redeclared. Our xgcc compiler is being used with the
following CFLAGS:

"-B{path_of_directory containing_object_files} -fbounds-checking
-fno-builtin -Wall -O2 -g".

Both our failure-oblivious compiler and apache are installed on Ubuntu
linux. uname -a gave the following output:

Linux matrix 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007
i686 GNU/Linux.

We have been stuck with this issue for the last 3 days and any
pointers as to how this issue can be tackled would be greatly
appreciated.

Thanks & Regards
Sriram


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]