Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Fri, 25 May 2012 16:40:51 -0500
From: Richard Pennington <>
Subject: clang/musl progress and a small bug.


clang's libcompiler-rt doesn't have support for crtbegin.o and crtend.o so 
global constructors and destructors didn't work out of the box. If I link with 
the NetBSD versions of crtbegin.c and crtend.c in place of the musl crti.s and 
crtn.s everything works fine. For now, I've added them to the musl build under 

I think I found a bug while running my library regression test. The zero test 
failed in the following code:

    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?


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.