From: bugs at busybox.net <bugs@busybox.net>
To: buildroot@busybox.net
Subject: [Buildroot] [buildroot 0001090]: stdlibc++ fails putting a double in a stream.
Date: Mon, 25 Aug 2008 05:31:54 -0700 [thread overview]
Message-ID: <9390a75d187845256e22e9a1e085fdbb@busybox.net> (raw)
A NOTE has been added to this issue.
======================================================================
http://busybox.net/bugs/view.php?id=1090
======================================================================
Reported By: GJanak
Assigned To: buildroot
======================================================================
Project: buildroot
Issue ID: 1090
Category: Architecture Specific
Reproducibility: always
Severity: major
Priority: normal
Status: assigned
======================================================================
Date Submitted: 11-14-2006 00:01 PST
Last Modified: 08-25-2008 05:31 PDT
======================================================================
Summary: stdlibc++ fails putting a double in a stream.
Description:
The problem was:
putting a double in a stream:
cout << 10.5 ;
Produce an empty string, or some garbage characters.
I could resolve the error down to some wired Code combination between
uclibc and libstdc++
======================================================================
----------------------------------------------------------------------
GJanak - 02-12-07 05:50
----------------------------------------------------------------------
I don't think it's an buildroot Problem.
Its an uclibc c++ error...
----------------------------------------------------------------------
GJanak - 08-27-07 05:02
----------------------------------------------------------------------
New info.
The Problem is: very old files are patched into current gcc releases.
I mean the toolchain/gcc/4.2.1/200-uclibc-locale.patch
which creates
gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc
The file created by the patch is based on the generic Config and than
patched for uclibc. But the generic is changed with 4.x.x.
Best solution would be to copy the gcc/libstdc++-v3/config/locale/generic
Dir and than add a patch on this Dir.
The Differences needed would be smaller. And perhaps the Patch would work
for multiple gcc versions.
----------------------------------------------------------------------
GJanak - 08-27-07 05:03
----------------------------------------------------------------------
The Patch gcc_snprintf_double_cssize.patch is a workaround, hacking the
change in gcc. But it isnt a good solution.
----------------------------------------------------------------------
ncoesel - 08-25-08 05:31
----------------------------------------------------------------------
I've been bitten by this as well. IMHO the proper solution is to mimic
non-C99 behaviour so convert_from_v should use sprintf instead of snprintf
when the size is 0. I attached the modified c_locale.h file.
Issue History
Date Modified Username Field Change
======================================================================
11-14-06 00:01 GJanak New Issue
11-14-06 00:01 GJanak Status new => assigned
11-14-06 00:01 GJanak Assigned To => uClibc
11-14-06 00:05 GJanak Issue Monitored: GJanak
02-12-07 05:34 vapier Assigned To uClibc => buildroot
02-12-07 05:50 GJanak Note Added: 0002152
08-27-07 05:02 GJanak Note Added: 0002698
08-27-07 05:02 GJanak File Added: gcc_snprintf_double_cssize.patch
08-27-07 05:03 GJanak Note Added: 0002699
08-25-08 05:31 ncoesel Note Added: 0010764
======================================================================
next reply other threads:[~2008-08-25 12:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-25 12:31 bugs at busybox.net [this message]
2009-01-29 19:54 ` [Buildroot] [buildroot 0001090]: stdlibc++ fails putting a double in a stream Javier Viguera
2009-01-29 20:04 ` Peter Korsgaard
-- strict thread matches above, loose matches on Subject: below --
2007-08-27 12:03 bugs at busybox.net
2007-08-27 12:02 bugs at busybox.net
2007-02-12 13:50 bugs at busybox.net
2007-02-12 13:34 bugs at busybox.net
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9390a75d187845256e22e9a1e085fdbb@busybox.net \
--to=bugs@busybox.net \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox