How to build glibc with CLOCK_MONOTONIC support?

Matt Hoosier mwhoosier@gmail.com
Fri Jul 21 13:01:00 GMT 2006


I've been attempting to build an i686 toolchain with Crosstool 0.42
which contains support for the full set of Posix clocks. I used the
following configuration bits in my demo.sh:

    eval `cat i686.dat gcc-3.4.5-glibc-2.3.6.dat` ...

I set up a little chroot environment using the C library created by
that build. On a host system running a kernel which I know to support
monotonic clocks (stock Ubuntu dapper), the following test program
[when executed in that chroot] fails with an "Invalid argument"
message coming out of perror:

    #include <stdio.h>
    #include <time.h>
    #include <signal.h>

    int main ()
    {
        timer_t timerid;
        struct sigevent evp;

        if (timer_create( CLOCK_MONOTONIC, NULL, &timerid ) != 0)
            perror( "timer_create failure" );
    }

The libc-2.3.6.so produced by the Crosstool build, when executed,
gives up this metadata about itself:

> GNU C Library stable release version 2.3.6, by Roland McGrath et al.
> Copyright (C) 2005 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.
> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE.
> Compiled by GNU CC version 3.4.5.
> Compiled on a Linux 2.6.12 system on 2006-07-11.
> Available extensions:
>         GNU libio by Per Bothner
>         crypt add-on version 2.1 by Michael Glad and others
>         linuxthreads-0.10 by Xavier Leroy
>         BIND-8.2.3-T5B
>         libthread_db work sponsored by Alpha Processor Inc
>         NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/libc/bugs.html>.

But the same test program succeeds when executed against Dapper's
systemwide C library (also 2.3.6, and appears relatively unpatched).
Just for reference, the output from executing Dapper's libc-2.3.6.so
is:

> GNU C Library stable release version 2.3.6, by Roland McGrath et al.
> Copyright (C) 2005 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.
> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE.
> Compiled by GNU CC version 3.4.6 (Ubuntu 3.4.6-1ubuntu2).
> Compiled on a Linux 2.6.11 system on 2006-05-21.
> Available extensions:
>         GNU libio by Per Bothner
>         crypt add-on version 2.1 by Michael Glad and others
>         GNU Libidn by Simon Josefsson
>         linuxthreads-0.10 by Xavier Leroy
>         BIND-8.2.3-T5B
>         libthread_db work sponsored by Alpha Processor Inc
>         NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
> Thread-local storage support included.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/libc/bugs.html>.

The only real differences I spot are that the Ubuntu library claims to
have thread-local storage support.

Does the collective wisdom here have any leads on what might be
missing/not-enabled from the Crosstool-built C library?

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list