On 18 September 2015 at 01:18, Moore, Catherine <catherine_mo...@mentor.com> wrote: > > >> -----Original Message----- >> From: Jonathan Wakely [mailto:jwak...@redhat.com] >> Sent: Thursday, September 17, 2015 6:54 PM >> To: Moore, Catherine; fdum...@gcc.gnu.org >> Cc: Gerald Pfeifer; libstd...@gcc.gnu.org; gcc-patches@gcc.gnu.org >> Subject: Re: [patch] libstdc++/65142 Check read() result in >> std::random_device. >> >> On 17/09/15 22:32 +0000, Moore, Catherine wrote: >> > >> > >> >> -----Original Message----- >> >> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- >> >> ow...@gcc.gnu.org] On Behalf Of Jonathan Wakely >> >> Sent: Thursday, September 17, 2015 5:28 PM >> >> To: Gerald Pfeifer >> >> Cc: libstd...@gcc.gnu.org; gcc-patches@gcc.gnu.org >> >> Subject: Re: [patch] libstdc++/65142 Check read() result in >> >> std::random_device. >> >> >> >> On 17/09/15 22:21 +0200, Gerald Pfeifer wrote: >> >> >On Thu, 17 Sep 2015, Jonathan Wakely wrote: >> >> >>> Any comments on this version? >> >> >> Committed to trunk. >> >> > >> >> >Unfortunately this broke bootstrap on FreeBSD 10.1. >> >> > >> >> >/scratch/tmp/gerald/gcc-HEAD/libstdc++-v3/src/c++11/random.cc: In >> >> member function 'std::random_device::result_type >> >> std::random_device::_M_getval()': >> >> >/scratch/tmp/gerald/gcc-HEAD/libstdc++- >> v3/src/c++11/random.cc:144:22: >> >> >error: 'errno' was not declared in this scope >> >> > else if (e != -1 || errno != EINTR) >> >> > ^ >> >> >/scratch/tmp/gerald/gcc-HEAD/libstdc++- >> v3/src/c++11/random.cc:144:31: >> >> >error: 'EINTR' was not declared in this scope >> >> > else if (e != -1 || errno != EINTR) >> >> > ^ >> >> >Makefile:545: recipe for target 'random.lo' failed >> >> > >> >> >I probably won't be able to dig in deeper today, but figured this >> >> >might already send you on the right path? >> >> > >> >> >Actually... >> >> > >> >> >...how about he patch below? Bootstraps on >> >> >i386-unknown-freebsd10.1, no regressions. >> >> >> >> Sorry about that, I've committed your patch. >> >> >> >> >Gerald >> >> > >> >> > >> >I'm still seeing errors for a build of the mips-sde-elf target with these >> patches. >> > >> >Errors are: >> >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s >> >rc/c++11/debug.cc: In function 'void >> {anonymous}::print_word({anonymous >> >}::PrintContext&, const char*, std::ptrdiff_t)': >> >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s >> >rc/c++11/debug.cc:573:10: error: 'stderr' was not declared in this scop >> >e >> > fprintf(stderr, "\n"); >> > ^ >> >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s >> >rc/c++11/debug.cc:573:22: error: 'fprintf' was not declared in this sco >> >pe >> > fprintf(stderr, "\n"); >> > ^ >> >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s >> >rc/c++11/debug.cc:596:14: error: 'stderr' was not declared in this scop e >> > fprintf(stderr, "%s", spacing); >> > ^ >> >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s >> >rc/c++11/debug.cc:596:35: error: 'fprintf' was not declared in this sco pe >> > fprintf(stderr, "%s", spacing); >> > ^ >> >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s >> >rc/c++11/debug.cc:600:24: error: 'stderr' was not declared in this >> >scope >> > int written = fprintf(stderr, "%s", word); >> > ^ >> >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s >> >rc/c++11/debug.cc:600:42: error: 'fprintf' was not declared in this >> >scop e >> > int written = fprintf(stderr, "%s", word); >> >> That's a different problem, due to https://gcc.gnu.org/r227885 >> >> François, could you take a look please? >> > > I've now committed this patch to solve this problem (pre-approved by > Jonathan). > > 2015-09-17 Catherine Moore <c...@codesourcery.com> > > * src/c++11/debug.cc: Include <cstdio>. > > Thanks Catherine, I confirm that it fixes the arm*elf and aarch64*elf builds too.
Christophe. > Index: src/c++11/debug.cc > =================================================================== > --- src/c++11/debug.cc (revision 227887) > +++ src/c++11/debug.cc (working copy) > @@ -32,6 +32,7 @@ > #include <debug/safe_local_iterator.h> > > #include <cassert> > +#include <cstdio> > > #include <algorithm> // for std::min > #include <functional> // for _Hash_impl