libc: implement drand48 et al.

Implement the 48-bit-state random number generation functions drand48()
and friends. This patch is trivial because we just take the implementation
from Musl.

These functions date from simpler times, and in 1989, with the release of
SVr4, they were even declared "obsolete". But in fact, they were never
actually been made obsolete, and later still appear in Posix standards,
and the function drand48() returning a random floating-point number still
has no convenient alternative in C, so some programs still use it.

Unfortunately, I wrote a simple test program and got a different random
sequence from the new drand48() and the one on Linux. That should NOT
have happened, because the Posix standard (and the Linux drand48(3) man
page) specify an explicit formula which should be used... But this
should probably be reported as a Musl bug, and fixed there.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Always show stubbing.hh's messages

Make stubbed/unimplemented function warnings *always* shown, regardless
of whether the "--verbose" kernel option is enabled.

stubbing.hh's warnings use debug() to print errors when a stubbed or
inimplemented function is called. So in a default run, without the
"--verbose" option to the kernel (run.py -V), these messages will not
be seen! This is bad, because the whole point of these messages is to
be seen - when we see one of these messages, it is likely the
application will not do what was intended.

As an example, thread_local destructors stopped working when compiled
on newer versions of gcc because __cxa_thread_atexit_impl() is stubbed
and is being used (see issue #501). But nobody noticed because, I guess,
nobody ran with "--verbose" and otherwise this message was invisible.

This patch adds new debug_always() functions which are like debug()
but don't depend on the "--verbose" option. Because we already have
way too many variants of debugging functions, I put these functions
only in stubbing.hh and not in the general debug.hh. If we like these
functions and want to use them from more places, we can move them to
debug.hh and/or debug.cc.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
--

changes in v2: debug_always() also uses fill_debug_buffer() - as
debug() does - and doesn't just print to the console.
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
libedit: pass CFLAGS and LDFLAGS to configure

Make doesn't pass CFLAGS and LDFLAGS automatically to sub-make, so
set CFLAGS and LDFLAGS as the environment variables of "configure"

Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>