This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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

Re: Failed to make h8300 toolchain.


On Mon, Jun 22, 2009 at 6:06 PM, ariga masahiro<ariga@link-lab.co.jp> wrote:
> Hello Khem and everyone,
>
> Thanks reply to my question.
> I abandoned gcc-4.3.2 and decided to use the latest version gcc-4.4.0,
> hoping that it resolved Segmentation error.
>
> As I expected it,it happend that Segmentation error never occurred,
> but near the last moment(I hope),there occurred another error.
> It says "error: no matching function for call to 'min(size_t&, int&)'".
> Please refer to error log below.
>
> I conjecture that it is caused by size_t,since "H8's int" is 2 bytes
> compared to normal 4 bytes.

you could try this patch/workaround

--- libstdc++-v3/./include/std/bitset.org	2009-06-23 11:48:50.000000000 -0700
+++ libstdc++-v3/./include/std/bitset	2009-06-23 11:49:58.000000000 -0700
@@ -1228,7 +1228,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GL
 		       size_t __pos, size_t __n, _CharT __zero, _CharT __one)
       {
 	reset();
-	const size_t __nbits = std::min(_Nb, std::min(__n, __len - __pos));
+	const size_t __tmp = __len - __pos;
+	const size_t __nbits = std::min(_Nb, std::min(__n, __tmp));
 	for (size_t __i = __nbits; __i > 0; --__i)
 	  {
 	    const _CharT __c = __s[__pos + __nbits - __i];



> gcc-4.4.0\fixincludes\tests\base\sys\types.h(20): typedef __SIZE_TYPE__
> size_t;
> gcc-4.4.0\gcc\ginclude\stddef.h(208): #define __SIZE_TYPE__ long unsigned
> int
> Please teach me the cause of it and how to avoid it.
>
> -- Source -- binutils-2.19.1.tar.bz2
> gcc-4.4.0.tar.bz2
> newlib-1.17.0.tar.gz
>
> --- configure command
> export TARGET=h8300-elf
> export PREFIX=/gnutools
> /src/gcc-4.4.0/configure --target=$TARGET --prefix=$PREFIX
> --enable-languages=c,c++
> --with-gnu-as --with-gnu-ld --with-newlib
> --with-ggxx-include-dir=/gnutools/sh-elf/include
> -v Â2>&1 | tee configgcc.out
> make -w all install 2>&1 | tee makegcc.txt
>
> -- error
> make[6]: Entering directory
> `/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3'
> make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc"
> "CC_FOR_TARGET=/tmp/build/build_gcc/./gcc/xgcc -B/tmp/build/build_gcc/./gcc/
> -nost
> dinc -B/tmp/build/build_gcc/h8300-elf/newlib/ -isystem
> /tmp/build/build_gcc/h8300-elf/newlib/targ-include -isystem /src/
> gcc-4.4.0/newlib/libc/include -B/gnutools/h8300-elf/bin/
> -B/gnutools/h8300-elf/lib/ -isystem /gnutools/h8300-elf/include
> -isystem /gnutools/h8300-elf/sys-include" "CFLAGS=-g -O2 Â Â-mh -mn -mint32"
> "CXXFLAGS=-g -O2 Â Â-mh -mn -mint32" "CFLA
> GS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/usr/bin/install
> -c" "INSTALL_DATA=/usr/bin/install -c -m 644"
> "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c"
> "LDFLAGS=-mh -mn -mint32" "LIBCFLAGS=-g -O2
> Â-mh -mn -mint32" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make"
> "MAKEINFO=makeinfo --split-size=5000000 --split-size=500000
> 0 Â Â " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS="
> "exec_prefix=/gnutools" "infodir=/gnutools/info
> " "libdir=/gnutools/lib" "includedir=/gnutools/include" "prefix=/gnutools"
> "tooldir=/gnutools/h8300-elf" "gxx_include_di
> r=/gnutools/h8300-elf/include/c++/4.4.0" "AR=/gnutools/h8300-elf/bin/ar"
> "AS=/tmp/build/build_gcc/./gcc/as" "LD=/tmp/bui
> ld/build_gcc/./gcc/collect-ld" "RANLIB=/gnutools/h8300-elf/bin/ranlib"
> "NM=/tmp/build/build_gcc/./gcc/nm" "NM_FOR_BUILD=
> " "NM_FOR_TARGET=/gnutools/h8300-elf/bin/nm" "DESTDIR=" "WERROR="
> all-recursive
> make[7]: Entering directory
> `/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3'
> Making all in include
> make[8]: Entering directory
> `/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3/include'
> mkdir -p ./h8300-elf/bits/stdc++.h.gch
> /tmp/build/build_gcc/./gcc/xgcc -shared-libgcc -B/tmp/build/build_gcc/./gcc
> Â-nostdinc++ -L/tmp/build/build_gcc/h8300-elf
> /h8300h/normal/int32/libstdc++-v3/src
> -L/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3/src/.libs
> -nostd
> inc -B/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/newlib/ -isystem
> /tmp/build/build_gcc/h8300-elf/h8300h/normal/i
> nt32/newlib/targ-include -isystem /src/gcc-4.4.0/newlib/libc/include
> -B/gnutools/h8300-elf/bin/ -B/gnutools/h8300-elf/li
> b/ -isystem /gnutools/h8300-elf/include -isystem
> /gnutools/h8300-elf/sys-include Â-mh -mn -mint32 -Winvalid-pch -x c++-h
> eader -g -O2 Â Â-mh -mn -mint32
> -I/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/h8300-elf
> -I/t
> mp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3/include
> -I/src/gcc-4.4.0/libstdc++-v3/libsupc++ -O0 -g /sr
> c/gcc-4.4.0/libstdc++-v3/include/precompiled/stdc++.h -o
> h8300-elf/bits/stdc++.h.gch/O0g.gch
> In file included from
> /src/gcc-4.4.0/libstdc++-v3/include/precompiled/stdc++.h:64:
> /tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/bitset:
> In member function 'void std::bitset<_Nb>::_M_copy_from_ptr(const _CharT*,
> size_t, size_t, size_t, _CharT, _CharT)':
> /tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/bitset:1231:
> error: no matching function for call to 'min(size_t&, int&)'
> make[8]: *** [h8300-elf/bits/stdc++.h.gch/O0g.gch] Error 1
> make[8]: Leaving directory
> `/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3/include'
> make[7]: *** [all-recursive] Error 1
> make[7]: Leaving directory
> `/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3'
> make[6]: *** [all] Error 2
> make[6]: Leaving directory
> `/tmp/build/build_gcc/h8300-elf/h8300h/normal/int32/libstdc++-v3'
> make[5]: *** [multi-do] Error 1
> make[5]: Leaving directory `/tmp/build/build_gcc/h8300-elf/libstdc++-v3'
> make[4]: *** [all-multi] Error 2
> make[4]: Leaving directory `/tmp/build/build_gcc/h8300-elf/libstdc++-v3'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/tmp/build/build_gcc/h8300-elf/libstdc++-v3'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/tmp/build/build_gcc/h8300-elf/libstdc++-v3'
> make[1]: *** [all-target-libstdc++-v3] Error 2
> make[1]: Leaving directory `/tmp/build/build_gcc'
> make: *** [all] Error 2
> make: Leaving directory `/tmp/build/build_gcc'
>
> Masahiro Ariga
>
>
>

--
For unsubscribe information see http://sourceware.org/lists.html#faq


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