From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 37049 invoked by alias); 10 Apr 2019 16:53:14 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 37041 invoked by uid 89); 10 Apr 2019 16:53:14 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=char_traits X-HELO: mail-qt1-f174.google.com Received: from mail-qt1-f174.google.com (HELO mail-qt1-f174.google.com) (209.85.160.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 10 Apr 2019 16:53:12 +0000 Received: by mail-qt1-f174.google.com with SMTP id p20so3664021qtc.9 for ; Wed, 10 Apr 2019 09:53:12 -0700 (PDT) MIME-Version: 1.0 From: Brian Groose Date: Wed, 10 Apr 2019 16:53:00 -0000 Message-ID: Subject: Linux ppc64 - compatibility-ldbl.o can't find std::num_put To: binutils@sourceware.org Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-04/txt/msg00112.txt.bz2 It looks like I'm hitting the same issue that was reported in this invalid gcc bug, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968, which was closed because it is a binutils bug? I'm getting the exact same errors but running Linux on ppc64 instead of alpha. I have built binutils 2.25.1 and 2.32 from source, and both have hit the same linker errors as in that gcc bug. The same code with the same binutils and gcc versions links without error on Linux x86 and x64 (and 32-bit Solaris targets). I am NOT linking with -static, though I am using -static-libgcc and -static-libstdc++. I am unable to reproduce this with a small test case program such as the one found in the gcc bug. Can anyone give me any suggestions of things to try here or what might be wrong? /opt/gcc-5.3.0/lib/gcc/powerpc64-unknown-linux-gnu/5.3.0/../../../../lib64/libstdc++.a(compatibility-ldbl.o): In function `std::num_put > >::do_put(std::ostreambuf_iterator >, std::ios_base&, char, long) const': /root/gcc/gcc-5.3.0-sandbox/build-gcc/powerpc64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h:2510: undefined reference to `std::ostreambuf_iterator > std::num_put > >::_M_insert_int(std::ostreambuf_iterator >, std::ios_base&, char, long) const' ... and more, with just the type passed to do_put changing - unsigned long, void const*, long long, unsigned long long - and then wchar_t versions of the same. Followed by: /opt/gcc-5.3.0/lib/gcc/powerpc64-unknown-linux-gnu/5.3.0/../../../../lib64/libstdc++.a(compatibility-ldbl.o): In function `std::num_put > >::do_put(std::ostreambuf_iterator >, std::ios_base&, wchar_t, long) const': /root/gcc/gcc-5.3.0-sandbox/build-gcc/powerpc64-unknown-linux-gnu/libstdc++-v3/include/bits/locale_facets.h:2510: undefined reference to `std::ostreambuf_iterator > std::num_put > >::_M_insert_int(std::ostreambuf_iterator >, std::ios_base&, wchar_t, long) const' ... with the same type variations to follow.