Thanks for the bug report. I have not been able to reproduce the link
error in my environment, but I've committed a change to use g++ instead
of gcc and I will see if the buildbot does better with that change. The
other issues I will fix when gcc is in stage 1.
Walter
On 2/7/2016 4:10 PM, Jan-Benedict Glaw wrote:
Hi!
Building current GCC on gcc21.fsffrance.org fails, see build
http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=490729:
(`make all-gcc' build log at
http://toolchain.lug-owl.de/buildbot/deliver_artifact.php?mode=view&id=4541729)
g++ -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE
-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-fno-common -DHAVE_CONFIG_H -I. -I. -I/scratch/4/jbglaw/regular/repos/gcc/gcc
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/.
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../include
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libcpp/include
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libdecnumber
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libbacktrace -o tilegx.o -MT
tilegx.o -MMD -MP -MF ./.deps/tilegx.TPo
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilegx/tilegx.c
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilegx/tilegx.c: In function
‘void tilegx_print_operand(FILE*, rtx, int)’:
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilegx/tilegx.c:5357:20:
warning: format not a string literal and no format arguments [-Wformat-security]
fprintf (file, reg);
^
g++ -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE
-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-fno-common -DHAVE_CONFIG_H -I. -I. -I/scratch/4/jbglaw/regular/repos/gcc/gcc
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/.
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../include
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libcpp/include
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libdecnumber
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libbacktrace -o linux.o -MT
linux.o -MMD -MP -MF ./.deps/linux.TPo
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/linux.c
gcc -I. -I/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilegx
-I/scratch/4/jbglaw/regular/repos/gcc/gcc
-I/scratch/4/jbglaw/regular/repos/gcc/gcc//scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilegx
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../include
-I/scratch/4/jbglaw/regular/repos/gcc/gcc/../libcpp/include -O2 -o
gen-mul-tables -lstdc++
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilepro/gen-mul-tables.cc;
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilepro/gen-mul-tables.cc: In
function ‘int main()’:
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilepro/gen-mul-tables.cc:1315:26:
warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but
argument 3 has type ‘long unsigned int’ [-Wformat=]
(unsigned MUL_TYPE) n);
^
/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilepro/gen-mul-tables.cc:1323:70:
warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but
argument 3 has type ‘long unsigned int’ [-Wformat=]
printf (" {%lldll /* 0x%llx */ ,\n {", n, (unsigned MUL_TYPE) n);
^
/tmp/ccGPqUhX.o: In function `find_sequences(ExpressionTree&, std::map<long long, ExpressionTree*,
std::less<long long>, std::allocator<std::pair<long long const, ExpressionTree*> >
>&)':
gen-mul-tables.cc:(.text+0x83a): undefined reference to `operator new(unsigned
long)'
gen-mul-tables.cc:(.text+0x8f6): undefined reference to `operator new(unsigned
long)'
gen-mul-tables.cc:(.text+0x934): undefined reference to
`std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
/tmp/ccGPqUhX.o: In function `std::_Rb_tree<long long, std::pair<long long const, ExpressionTree*>,
std::_Select1st<std::pair<long long const, ExpressionTree*> >, std::less<long long>,
std::allocator<std::pair<long long const, ExpressionTree*> > >::_M_erase(std::_Rb_tree_node<std::pair<long long
const, ExpressionTree*> >*)':
gen-mul-tables.cc:(.text._ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E[_ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E]+0x2f):
undefined reference to `operator delete(void*)'
/tmp/ccGPqUhX.o: In function `std::_Rb_tree<long long, std::pair<long long const, ExpressionTree*>,
std::_Select1st<std::pair<long long const, ExpressionTree*> >, std::less<long long>,
std::allocator<std::pair<long long const, ExpressionTree*> > >::_M_get_insert_unique_pos(long long
const&)':
gen-mul-tables.cc:(.text._ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE24_M_get_insert_unique_posERS1_[_ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE24_M_get_insert_unique_posERS1_]+0x7f):
undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
/tmp/ccGPqUhX.o: In function `std::_Rb_tree<long long, std::pair<long long const, ExpressionTree*>,
std::_Select1st<std::pair<long long const, ExpressionTree*> >, std::less<long long>,
std::allocator<std::pair<long long const, ExpressionTree*> >
>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator<std::pair<long long const, ExpressionTree*> >, long long
const&)':
gen-mul-tables.cc:(.text._ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERS1_[_ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERS1_]+0x39):
undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
gen-mul-tables.cc:(.text._ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERS1_[_ZNSt8_Rb_treeIxSt4pairIKxP14ExpressionTreeESt10_Select1stIS4_ESt4lessIxESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERS1_]+0x6f):
undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
/tmp/ccGPqUhX.o: In function `main':
gen-mul-tables.cc:(.text.startup+0x317): undefined reference to
`std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
/tmp/ccGPqUhX.o:(.eh_frame+0x6d7): undefined reference to `__gxx_personality_v0'
collect2: error: ld returned 1 exit status
make[1]: ***
[/scratch/4/jbglaw/regular/repos/gcc/gcc/config/tilegx/mul-tables.c] Error 1
make[1]: Leaving directory
`/scratch/4/jbglaw/regular/build/tilegx-linux/build-gcc/gcc'
make: *** [all-gcc] Error 2
The fprintf() warning could easily be silenced with a "%s". The next
two warnings can also be cured with simple casts. However, I'm not
sure about the linking error. `-lstdc++' is there, maybe it's too
early? Or just compile/link it with g++ instead of gcc?
MfG, JBG