1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-09-02 16:01:20 +03:00
2000-07-09  Mark Kettenis  <kettenis@gnu.org>

	* elf/rtld.c (dl_main): Move call to __libc_check_standard_fds...
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): ... to here.

2000-07-10  Ulrich Drepper  <drepper@redhat.com>

	* include/features.h: Include ISO C99 features if the compiler used
	is an ISO C99 compiler.
	Patch by Joseph S. Myers <jsm28@cam.ac.uk>.

2000-07-08  Mark Kettenis  <kettenis@gnu.org>

	* iconv/gconv_conf.c: Include <bits/libc-lock.h>.
This commit is contained in:
Ulrich Drepper
2000-07-10 20:02:00 +00:00
parent 8fdc11384e
commit 47a81620ad
4 changed files with 26 additions and 10 deletions

View File

@@ -1,3 +1,18 @@
2000-07-09 Mark Kettenis <kettenis@gnu.org>
* elf/rtld.c (dl_main): Move call to __libc_check_standard_fds...
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): ... to here.
2000-07-10 Ulrich Drepper <drepper@redhat.com>
* include/features.h: Include ISO C99 features if the compiler used
is an ISO C99 compiler.
Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-07-08 Mark Kettenis <kettenis@gnu.org>
* iconv/gconv_conf.c: Include <bits/libc-lock.h>.
2000-07-10 Andreas Jaeger <aj@suse.de> 2000-07-10 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/sigaction.c: Make alias weak since * sysdeps/unix/sysv/linux/i386/sigaction.c: Make alias weak since

View File

@@ -52,9 +52,6 @@ extern void *_dl_sysdep_read_whole_file (const char *filename,
size_t *filesize_ptr, size_t *filesize_ptr,
int mmap_prot); int mmap_prot);
/* Protec SUID program against misuse of file descriptors. */
extern void __libc_check_standard_fds (void);
/* Helper function to handle errors while resolving symbols. */ /* Helper function to handle errors while resolving symbols. */
static void print_unresolved (int errcode, const char *objname, static void print_unresolved (int errcode, const char *objname,
const char *errsting); const char *errsting);
@@ -400,12 +397,6 @@ dl_main (const ElfW(Phdr) *phdr,
hp_timing_t diff; hp_timing_t diff;
#endif #endif
/* First thing, if this is a SUID program we make sure that FDs 0,
1, and 2 are allocated. If necessary we are doing it ourself.
If it is not possible we stop the program. */
if (__builtin_expect (__libc_enable_secure, 0))
__libc_check_standard_fds ();
/* Process the environment variable which control the behaviour. */ /* Process the environment variable which control the behaviour. */
process_envvars (&mode, &_dl_lazy); process_envvars (&mode, &_dl_lazy);

View File

@@ -152,7 +152,8 @@
which was used prior to the standard acceptance. This macro will which was used prior to the standard acceptance. This macro will
eventually go away and the features enabled by default once the ISO C99 eventually go away and the features enabled by default once the ISO C99
standard is widely adopted. */ standard is widely adopted. */
#if defined _ISOC99_SOURCE || defined _ISOC9X_SOURCE #if (defined _ISOC99_SOURCE || defined _ISOC9X_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
# define __USE_ISOC99 1 # define __USE_ISOC99 1
#endif #endif

View File

@@ -45,6 +45,9 @@ extern fpu_control_t _dl_fpu_control;
extern void _end; extern void _end;
extern void ENTRY_POINT (void); extern void ENTRY_POINT (void);
/* Protect SUID program against misuse of file descriptors. */
extern void __libc_check_standard_fds (void);
ElfW(Addr) _dl_base_addr; ElfW(Addr) _dl_base_addr;
int __libc_enable_secure; int __libc_enable_secure;
int __libc_multiple_libcs = 0; /* Defining this here avoids the inclusion int __libc_multiple_libcs = 0; /* Defining this here avoids the inclusion
@@ -167,6 +170,12 @@ _dl_sysdep_start (void **start_argptr,
will see this new value and not clobber our data. */ will see this new value and not clobber our data. */
__sbrk (_dl_pagesize - ((&_end - (void *) 0) & (_dl_pagesize - 1))); __sbrk (_dl_pagesize - ((&_end - (void *) 0) & (_dl_pagesize - 1)));
/* If this is a SUID program we make sure that FDs 0, 1, and 2 are
allocated. If necessary we are doing it ourself. If it is not
possible we stop the program. */
if (__builtin_expect (__libc_enable_secure, 0))
__libc_check_standard_fds ();
(*dl_main) (phdr, phnum, &user_entry); (*dl_main) (phdr, phnum, &user_entry);
return user_entry; return user_entry;
} }