This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: RFC: tunables failure indications...
- From: Siddhesh Poyarekar <siddhesh at gotplt dot org>
- To: DJ Delorie <dj at redhat dot com>
- Cc: codonell at redhat dot com, libc-alpha at sourceware dot org
- Date: Thu, 12 Dec 2019 09:20:04 +0530
- Subject: Re: RFC: tunables failure indications...
- References: <xnh826sesv.fsf@greed.delorie.com>
On 12/12/19 3:30 am, DJ Delorie wrote:
> diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c
> index e625ac1a7d..b55d677aee 100644
> --- a/elf/dl-tunables.c
> +++ b/elf/dl-tunables.c
> @@ -45,12 +45,15 @@ tunables_strdup (const char *in)
> while (in[i++] != '\0');
> char *out = __sbrk (i);
>
> - /* FIXME: In reality if the allocation fails, __sbrk will crash attempting to
> - set the thread-local errno since the TCB has not yet been set up. This
> - needs to be fixed with an __sbrk implementation that does not set
> - errno. */
> + /* For most of the tunables code, we ignore user errors. However,
> + this is a system error - and running out of memory at program
> + startup should be reported, so we do. */
> if (out == (void *)-1)
> - return NULL;
> + {
> +#define SBRKMSG "sbrk() failure while processing tunables"
> + write (2, SBRKMSG, sizeof(SBRKMSG) - 1);
> + _exit (1);
I think this could be a _dl_fatal_printf() or similar.
Siddhesh