From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10386 invoked by alias); 6 Oct 2011 08:46:48 -0000 Received: (qmail 10299 invoked by uid 22791); 6 Oct 2011 08:46:47 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 06 Oct 2011 08:46:32 +0000 From: "jakub at redhat dot com" To: glibc-bugs@sources.redhat.com Subject: [Bug libc/13246] RFE: strtold: do not include uninitialized bytes when converting "NaN" Date: Thu, 06 Oct 2011 08:46:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: libc X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at redhat dot com X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: drepper.fsp at gmail dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org X-SW-Source: 2011-10/txt/msg00016.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=13246 --- Comment #6 from Jakub Jelinek 2011-10-06 08:45:17 UTC --- First of all, it is impossible to do anything about this on the glibc side. Just look at the generated code, it is: call strtold@plt fstpt (%rsp) # resp. fstpt (%esp) For x86_64/i686 it would be sufficient if you used memset to clear the whole var, then store the value into it after making sure the compiler doesn't optimize it away. Perhaps something like: union U { long double l; unsigned char c[sizeof (long double); }; volatile union U u; size_t i; for (i = 0; i < sizeof (long double); i++) u.c[i] = 0; u.l = strtold (...); would do the job portably? -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.