From: John Spencer <maillist-musl@barfooze.de>
To: musl@lists.openwall.com, Richard Pennington <rich@pennware.com>
Subject: Re: clang/musl progress and a small bug.
Date: Thu, 26 Jul 2012 20:24:39 +0200 [thread overview]
Message-ID: <50118B67.8010208@barfooze.de> (raw)
In-Reply-To: <20120525231727.GA163@brightrain.aerifal.cx>
On 05/26/2012 01:17 AM, Rich Felker wrote:
> On Fri, May 25, 2012 at 04:40:51PM -0500, Richard Pennington wrote:
>
>> I think I found a bug while running my library regression test. The zero test
>> failed in the following code:
>>
>> TEST_TRACE(C99 7.20.3.1)
>> p = calloc(100, sizeof(char));
>> TEST(p != NULL, "calloc() returned a pointer");
>> int flag = 1;
>> for (i = 0; i< 100; ++i) {
>> if (p[i] != 0) {
>> flag = 0;
>> }
>> }
>> TEST(flag, "calloc() returned zeroed memory");
>>
>> The TEST() macro is kind of like assert but it prints out the message and
>> counts failures and successes:
>>
>> PASS: 001stdlib.c:74: Stdlib(Stdlib): calloc() returned a pointer
>> FAIL: 001stdlib.c:81: Stdlib(Stdlib): calloc() returned zeroed memory
>> Stdlib unit tests completed
>> 32 tests run
>> 1 test failed
>>
>> Am I missing something?
> I'm guessing clang miscompiled calloc.c due to not respecting
> -ffreestanding. There was a related issue reported a while back by
> someone experimenting with clang and musl but I don't know what came
> of it. Basically I think the issue is that clang is treating the
> malloc call calloc makes as a call to the standard malloc, and
> optimizing out inspections calloc makes on the returned memory because
> it's "indeterminate" and thus undefined behavior. This contradicts the
> meaning of -ffreestanding which is to behave as a freestanding C
> environment where malloc and other library functions are not special.
>
> I'm not sure how to work around the issue without making the code
> behave a lot worse. If you can determine this is the issue, I think it
> really calls for a bug report to clang...
>
> Rich
>
has this issue been reported on the LLVM list finally ?
imo this is a major blocker
next prev parent reply other threads:[~2012-07-26 18:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-25 21:40 Richard Pennington
2012-05-25 23:17 ` Rich Felker
2012-07-26 18:24 ` John Spencer [this message]
2012-05-26 10:28 ` aep
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=50118B67.8010208@barfooze.de \
--to=maillist-musl@barfooze.de \
--cc=musl@lists.openwall.com \
--cc=rich@pennware.com \
/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.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
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 NNTP newsgroup(s).