public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/58763] New: 4.8.x won't build for x86_64-linux-uclibc: undefined reference to 'operator new(unsigned long)'
@ 2013-10-17  1:51 jody at jodybruchon dot com
  2013-10-17  2:09 ` [Bug bootstrap/58763] " pinskia at gcc dot gnu.org
  2013-10-17  2:58 ` jody at jodybruchon dot com
  0 siblings, 2 replies; 3+ messages in thread
From: jody at jodybruchon dot com @ 2013-10-17  1:51 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58763

            Bug ID: 58763
           Summary: 4.8.x won't build for x86_64-linux-uclibc: undefined
                    reference to 'operator new(unsigned long)'
           Product: gcc
           Version: 4.8.1
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jody at jodybruchon dot com

Created attachment 31022
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31022&action=edit
uClibc x86_64 configuration file

I built a fresh x86_64-unknown-linux-gnu environment with binutils-2.23.2,
gcc-4.8.1, headers_install from linux-3.10, and glibc-2.17, and built that
environment again within itself. Using this clean build environment, I
attempted to bootstrap a uClibc toolchain (x86_64-linux-uclibc) and gcc-4.8.1
fails to bootstrap.

I built and installed the cross-compiler targeted binutils-2.23.2,
uClibc-20131017, linux-3.10 headers (in /usr/x86_64-linux-uclibc/). Building
the initial gcc fails as follows (but this failure does not occur with
gcc-4.7.3 or lower):

../gcc-4.8.1/configure --prefix=/usr --target=x86_64-unknown-linux-uclibc
--enable-languages=c --disable-nls --disable-multilib

make -j12 all-gcc

[...lots of build stuff...]

make[1]: Entering directory `/usr/src/build-gcc/gcc'
g++   -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 -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
-static-libstdc++ -static-libgcc  -o cc1 c/c-lang.o c-family/stub-objc.o
attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o
c/c-objc-common.o c/c-parser.o c-family/c-common.o c-family/c-cppbuiltin.o
c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o
c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o
c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o
c-family/c-ada-spec.o tree-mudflap.o i386-c.o glibc-c.o \
  cc1-checksum.o libbackend.a main.o  libcommon-target.a libcommon.a
../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a
../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a
../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   -lmpc -lmpfr -lgmp
-rdynamic -ldl  -L../zlib -lz
libbackend.a(sel-sched-ir.o): In function `vec_free<basic_block_def*>':
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/vec.h:1329: undefined reference to
`operator delete(void*)'
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/vec.h:1329: undefined reference to
`operator delete(void*)'
libbackend.a(sel-sched-ir.o): In function `vec_alloc<basic_block_def*>':
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/vec.h:1303: undefined reference to
`operator new(unsigned long)'
libbackend.a(sel-sched-ir.o): In function `vec_free<basic_block_def*>':
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/vec.h:1329: undefined reference to
`operator delete(void*)'
libbackend.a(tree-ssa-sccvn.o): In function `vn_reference_lookup_3':
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/tree-ssa-sccvn.c:1455: undefined
reference to `__cxa_guard_acquire'
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/tree-ssa-sccvn.c:1455: undefined
reference to `__cxa_guard_release'
libbackend.a(tree-sra.o): In function `vec_free<access*>':
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/vec.h:1329: undefined reference to
`operator delete(void*)'
libbackend.a(tree-sra.o): In function `vec_alloc<access*>':
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/vec.h:1303: undefined reference to
`operator new(unsigned long)'
libcommon-target.a(opts.o): In function `vec_alloc<char*>':
/usr/src/build-gcc/gcc/../../gcc-4.8.1/gcc/vec.h:1303: undefined reference to
`operator new(unsigned long)'
collect2: error: ld returned 1 exit status
make[1]: *** [cc1] Error 1
make[1]: Leaving directory `/usr/src/build-gcc/gcc'
make: *** [all-gcc] Error 2

My "gcc -v" output:
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.8.1/configure --prefix=/usr --mandir=/usr/man
--libexecdir=/usr/lib --enable-languages=c,c++,objc --enable-threads=posix
--enable-clocale=gnu --enable-shared --disable-nls --with-x=no
--with-system-zlib --disable-multilib --enable-lto --disable-bootstrap
Thread model: posix
gcc version 4.8.1 (GCC)

It should also be noted that when I performed the same procedure with the
x86_64 toolchain included with CRUX 2.8 64-bit (gcc-4.7.2, binutils-2.22,
glibc-2.16), "make all-gcc" worked, so I guess it has something to do with the
change to C++ in the 4.8 series.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug bootstrap/58763] 4.8.x won't build for x86_64-linux-uclibc: undefined reference to 'operator new(unsigned long)'
  2013-10-17  1:51 [Bug bootstrap/58763] New: 4.8.x won't build for x86_64-linux-uclibc: undefined reference to 'operator new(unsigned long)' jody at jodybruchon dot com
@ 2013-10-17  2:09 ` pinskia at gcc dot gnu.org
  2013-10-17  2:58 ` jody at jodybruchon dot com
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2013-10-17  2:09 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58763

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2013-10-17
     Ever confirmed|0                           |1
           Severity|major                       |normal

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This sounds like a bug in your host compiler and your host libstdc++.  Those
symbols are all in libstdc++.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug bootstrap/58763] 4.8.x won't build for x86_64-linux-uclibc: undefined reference to 'operator new(unsigned long)'
  2013-10-17  1:51 [Bug bootstrap/58763] New: 4.8.x won't build for x86_64-linux-uclibc: undefined reference to 'operator new(unsigned long)' jody at jodybruchon dot com
  2013-10-17  2:09 ` [Bug bootstrap/58763] " pinskia at gcc dot gnu.org
@ 2013-10-17  2:58 ` jody at jodybruchon dot com
  1 sibling, 0 replies; 3+ messages in thread
From: jody at jodybruchon dot com @ 2013-10-17  2:58 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58763

Jody Lee Bruchon <jody at jodybruchon dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Jody Lee Bruchon <jody at jodybruchon dot com> ---
As suggested, a standalone rebuild and reinstall of gcc-4.8.1/libstdc++-v3
inside the clean build environment fixed the problem. At least the problem will
now be on record in case anyone else runs into this issue! Thanks for your
help!


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-10-17  2:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-17  1:51 [Bug bootstrap/58763] New: 4.8.x won't build for x86_64-linux-uclibc: undefined reference to 'operator new(unsigned long)' jody at jodybruchon dot com
2013-10-17  2:09 ` [Bug bootstrap/58763] " pinskia at gcc dot gnu.org
2013-10-17  2:58 ` jody at jodybruchon dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).