diff --git a/ChangeLog b/ChangeLog index 0de464a681..ce5a1b862f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1998-07-16 19:27 Ulrich Drepper + + * elf/rtld.c (process_envvars): Also recognize on as LD_BIND_NOW value. + (process_envvars): Append .PID to LD_DEBUG_OUTPUT file name. + 1998-07-16 13:44 Ulrich Drepper * argp/argp-fmtstream.c: Fix warnings introduced in last change. diff --git a/assert/assert-perr.c b/assert/assert-perr.c index 5b84acef12..ecfb5ee888 100644 --- a/assert/assert-perr.c +++ b/assert/assert-perr.c @@ -25,7 +25,7 @@ extern const char *__assert_program_name; /* In assert.c. */ #ifdef USE_IN_LIBIO -# include +# include # define fflush(s) _IO_fflush (s) #endif diff --git a/assert/assert.c b/assert/assert.c index 7a30f533c6..f1144101f8 100644 --- a/assert/assert.c +++ b/assert/assert.c @@ -25,7 +25,7 @@ const char *__assert_program_name; #ifdef USE_IN_LIBIO -# include +# include # define fflush(s) _IO_fflush (s) #endif diff --git a/elf/rtld.c b/elf/rtld.c index f60a357d98..3fd13179ba 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1137,7 +1137,9 @@ process_envvars (enum mode *modep, int *lazyp) /* Do we bind early? */ if (memcmp (&envline[3], "BIND_NOW", 8) == 0 && (envline[12] == '1' || envline[12] == 'y' - || envline[12] == 'Y')) + || envline[12] == 'Y' + || ((envline[12] == 'o' || envline[12] == 'O') + && (envline[13] == 'n' || envline[13] == 'N')))) bind_now = 1; break; @@ -1222,8 +1224,16 @@ process_envvars (enum mode *modep, int *lazyp) messages to this file. */ if (any_debug && debug_output != NULL && !__libc_enable_secure) { - _dl_debug_fd = __open (debug_output, O_WRONLY | O_APPEND | O_CREAT, - 0666); + size_t name_len = strlen (debug_output); + char buf[name_len + 12]; + char *startp; + + buf[name_len + 11] = '\0'; + startp = _itoa_word (__getpid (), &buf[name_len + 11], 10, 0); + *--startp = '.'; + startp = memcpy (startp - name_len, debug_output, name_len); + + _dl_debug_fd = __open (startp, O_WRONLY | O_APPEND | O_CREAT, 0666); if (_dl_debug_fd == -1) /* We use standard output if opening the file failed. */ _dl_debug_fd = STDOUT_FILENO;