This is the mail archive of the gcc@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]

Are binutils and gcc's include/hashtab.h supposed to be in sync?


I am building, from time to time, the gcc and binutils cvs sources at
the same time. I have a directory where the sources both reside,
/usr/local/src/gcc-binutils/trunk, i.e., the binutils cvs trunk source
tree (top src) and gccc cvs trunk source tree (top gcc) are in that
dir.

Now, to jointly build the sources, I created a directory
/usr/local/src/gcc-binutils/trunk/gcc-binutils and in that dir, I
first created an include subdir. Then, I made symbolic links

chj@fw:/usr/local/src/gcc-binutils/branch$ mkdir gcc-binutils
chj@fw:/usr/local/src/gcc-binutils/branch$ cd gcc-binutils
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils$ mkdir include
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils$ ln -s ../gcc/* .
ln: `./include': cannot overwrite directory
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils$ ls
COPYING      LAST_UPDATED  config        configure     include     libjava       ltcf-cxx.sh         missing         ylwrap
COPYING.LIB  MAINTAINERS   config-ml.in  configure.in  install-sh  libobjc       ltcf-gcj.sh         mkdep           zlib
CVS          Makefile.in   config.guess  contrib       libf2c      libstdc++-v3  ltconfig            mkinstalldirs
ChangeLog    README        config.if     fastjar       libffi      libtool.m4    ltmain.sh           move-if-change
INSTALL      boehm-gc      config.sub    gcc           libiberty   ltcf-c.sh     maintainer-scripts  symlink-tree
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils$ ln -s ../src/* .
ln: `./COPYING': File exists
ln: `./COPYING.LIB': File exists
ln: `./CVS': File exists
ln: `./ChangeLog': File exists
ln: `./LAST_UPDATED': File exists
ln: `./MAINTAINERS': File exists
ln: `./Makefile.in': File exists
ln: `./README': File exists
ln: `./config': File exists
ln: `./config-ml.in': File exists
ln: `./config.guess': File exists
ln: `./config.if': File exists
ln: `./config.sub': File exists
ln: `./configure': File exists
ln: `./configure.in': File exists
ln: `./contrib': File exists
ln: `./include': cannot overwrite directory
ln: `./install-sh': File exists
ln: `./libiberty': File exists
ln: `./libtool.m4': File exists
ln: `./ltcf-c.sh': File exists
ln: `./ltcf-cxx.sh': File exists
ln: `./ltcf-gcj.sh': File exists
ln: `./ltconfig': File exists
ln: `./ltmain.sh': File exists
ln: `./missing': File exists
ln: `./mkdep': File exists
ln: `./mkinstalldirs': File exists
ln: `./move-if-change': File exists
ln: `./symlink-tree': File exists
ln: `./ylwrap': File exists
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils$ cd include/
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils/include$ ln -s ../../gcc/include/* .
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils/include$ ln -s ../../src/include/* .
ln: `./COPYING': File exists
ln: `./CVS': File exists
ln: `./ChangeLog': File exists
ln: `./ansidecl.h': File exists
ln: `./demangle.h': File exists
ln: `./dyn-string.h': File exists
ln: `./fibheap.h': File exists
ln: `./floatformat.h': File exists
ln: `./fnmatch.h': File exists
ln: `./getopt.h': File exists
ln: `./hashtab.h': File exists
ln: `./libiberty.h': File exists
ln: `./md5.h': File exists
ln: `./objalloc.h': File exists
ln: `./obstack.h': File exists
ln: `./partition.h': File exists
ln: `./safe-ctype.h': File exists
ln: `./sort.h': File exists
ln: `./splay-tree.h': File exists
ln: `./symcat.h': File exists
ln: `./ternary.h': File exists
ln: `./xregex.h': File exists
ln: `./xregex2.h': File exists
chj@fw:/usr/local/src/gcc-binutils/branch/gcc-binutils/include$

Now, building the joint sources gave me a hint... things aren't perhaps too good here...

gcc-3.2 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -o .libs/size size.o bucomm.o version.o filemode.o  ../bfd/.libs/libbfd.so -L/usr/local/src/gcc-binutils/branch/objdir/libiberty/pic -liberty ../libiberty/libiberty.a -Wl,--rpath -Wl,/usr/local/gcc-binutils/32/lib
bucomm.o(.text+0x64c): In function `make_tempname':
/usr/local/src/gcc-binutils/branch/gcc-binutils/binutils/bucomm.c:238: the use of `mktemp' is dangerous, better use `mkstemp'
../bfd/.libs/libbfd.so: undefined reference to `htab_create_alloc'
collect2: ld returned 1 exit status
make[3]: *** [size] Error 1
make[3]: Leaving directory `/exports/gcc-binutils/branch/objdir/binutils'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/exports/gcc-binutils/branch/objdir/binutils'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory `/exports/gcc-binutils/branch/objdir/binutils'
make: *** [all-binutils] Error 2

So, I started to look again... It comes out that the hashtab.h in
binutils cvs is not in sync with gcc's one...

hmm, am I perhaps doing the joining of the sources in a wrong way?

is it perhaps just so that this specific file happened to be out of
sync?

Cheers,

/ChJ


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