Update.
1998-09-22 19:58 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * posix/execvp.c: Don't give up searching the PATH if execve returns ENOTDIR. 1998-09-22 12:53 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/init-first.c (init): Don't call setfpucw only if _dl_fpu_control_set is set. * sysdeps/generic/dl-sysdep.c: Don't set _dl_fpu_control_set. * elf/rtld.c: Don't define _dl_fpu_control_set. * elf/Versions: Remove _dl_fpu_control_set. 1998-09-22 11:51 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h (SA_ONSTACK): Define. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. Correct values of other SA_* macros according to kernel headers. 1998-09-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/dl-load.c (_dl_init_paths): Avoid warning about unused variable l. * elf/dl-error.c (_dl_catch_error): Avoid warning about clobbering old. 1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/ldsodefs.h: Fix typo in comment. 1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/genops.c (_IO_default_pbackfail): Add cast to unsigned char when comparing buffer contents with putback character. 1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (dl-routines, elide-routines.os, rtld-routines): Undo last change. * elf/Versions: Undo last change. Export _dl_fpu_control and _dl_fpu_control_set. * elf/rtld.c (_dl_fpu_control, _dl_fpu_control_set): New variables. Include <fpu_control.h>. * sysdeps/generic/dl-sysdep.c: Store AT_FPUCW value in _dl_fpu_control instead of __fpu_control, set _dl_fpu_control_set to indicate that is was seen. * sysdeps/unix/sysv/linux/init-first.c: Omit call to __setfpucw only if _dl_fpu_control was set and is equal to desired value. * math/Makefile (aux): Undo last change. * math/Versions: Export __fpu_control with version GLIBC_2.0.
This commit is contained in:
parent
e27b79d3ee
commit
c94a8080d8
52
ChangeLog
52
ChangeLog
@ -1,3 +1,55 @@
|
||||
1998-09-22 19:58 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* posix/execvp.c: Don't give up searching the PATH if execve
|
||||
returns ENOTDIR.
|
||||
|
||||
1998-09-22 12:53 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/init-first.c (init): Don't call setfpucw only
|
||||
if _dl_fpu_control_set is set.
|
||||
* sysdeps/generic/dl-sysdep.c: Don't set _dl_fpu_control_set.
|
||||
* elf/rtld.c: Don't define _dl_fpu_control_set.
|
||||
* elf/Versions: Remove _dl_fpu_control_set.
|
||||
|
||||
1998-09-22 11:51 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h (SA_ONSTACK): Define.
|
||||
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise.
|
||||
Correct values of other SA_* macros according to kernel headers.
|
||||
|
||||
1998-09-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* elf/dl-load.c (_dl_init_paths): Avoid warning about unused
|
||||
variable l.
|
||||
* elf/dl-error.c (_dl_catch_error): Avoid warning about clobbering
|
||||
old.
|
||||
|
||||
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* elf/ldsodefs.h: Fix typo in comment.
|
||||
|
||||
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* libio/genops.c (_IO_default_pbackfail): Add cast to unsigned
|
||||
char when comparing buffer contents with putback character.
|
||||
|
||||
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* elf/Makefile (dl-routines, elide-routines.os, rtld-routines):
|
||||
Undo last change.
|
||||
* elf/Versions: Undo last change. Export _dl_fpu_control and
|
||||
_dl_fpu_control_set.
|
||||
* elf/rtld.c (_dl_fpu_control, _dl_fpu_control_set): New
|
||||
variables. Include <fpu_control.h>.
|
||||
* sysdeps/generic/dl-sysdep.c: Store AT_FPUCW value in
|
||||
_dl_fpu_control instead of __fpu_control, set _dl_fpu_control_set
|
||||
to indicate that is was seen.
|
||||
* sysdeps/unix/sysv/linux/init-first.c: Omit call to __setfpucw
|
||||
only if _dl_fpu_control was set and is equal to desired value.
|
||||
* math/Makefile (aux): Undo last change.
|
||||
* math/Versions: Export __fpu_control with version GLIBC_2.0.
|
||||
|
||||
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* sysdeps/m68k/dl-machine.h (elf_machine_lazy_rel): Slightly
|
||||
|
@ -19,7 +19,7 @@ libc {
|
||||
GLIBC_2.1 {
|
||||
# global variables
|
||||
_dl_profile; _dl_profile_map; _dl_profile_output; _dl_start_profile;
|
||||
_dl_loaded; _dl_main_searchlist; __fpu_control;
|
||||
_dl_loaded; _dl_main_searchlist; _dl_fpu_control;
|
||||
|
||||
# functions used in other libraries
|
||||
_dl_mcount; _dl_mcount_wrapper; _dl_mcount_wrapper_check; _dl_unload_cache;
|
||||
|
@ -145,7 +145,8 @@ _dl_catch_error (char **errstring,
|
||||
void *args)
|
||||
{
|
||||
int errcode;
|
||||
struct catch *old, c;
|
||||
struct catch *volatile old;
|
||||
struct catch c;
|
||||
/* We need not handle `receiver' since setting a `catch' is handled
|
||||
before it. */
|
||||
|
||||
|
@ -456,10 +456,12 @@ _dl_init_paths (const char *llp)
|
||||
const char **strp;
|
||||
struct r_search_path_elem *pelem, **aelem;
|
||||
size_t round_size;
|
||||
#ifdef PIC
|
||||
struct link_map *l;
|
||||
#endif
|
||||
|
||||
/* Fill in the information about the application's RPATH and the
|
||||
directories addressed by the LD_LIBRARY_PATH environment variable. */
|
||||
struct link_map *l;
|
||||
|
||||
/* Get the capabilities. */
|
||||
capstr = _dl_important_hwcaps (_dl_platform, _dl_platformlen,
|
||||
|
@ -148,7 +148,7 @@ extern unsigned long int _dl_hwcap;
|
||||
/* Mask for important hardware capabilities we honour. */
|
||||
extern unsigned long int _dl_hwcap_mask;
|
||||
|
||||
/* File deccriptor to write debug messages to. */
|
||||
/* File descriptor to write debug messages to. */
|
||||
extern int _dl_debug_fd;
|
||||
|
||||
/* Names of shared object for which the RPATH should be ignored. */
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <elf/ldsodefs.h>
|
||||
#include <stdio-common/_itoa.h>
|
||||
#include <entry.h>
|
||||
#include <fpu_control.h>
|
||||
#include "dynamic-link.h"
|
||||
#include "dl-librecon.h"
|
||||
|
||||
@ -73,6 +74,7 @@ int _dl_verbose;
|
||||
const char *_dl_platform;
|
||||
size_t _dl_platformlen;
|
||||
unsigned long _dl_hwcap;
|
||||
fpu_control_t _dl_fpu_control = _FPU_DEFAULT;
|
||||
struct r_search_path *_dl_search_paths;
|
||||
const char *_dl_profile;
|
||||
const char *_dl_profile_output;
|
||||
|
@ -872,7 +872,7 @@ _IO_default_pbackfail (fp, c)
|
||||
int c;
|
||||
{
|
||||
if (fp->_IO_read_ptr > fp->_IO_read_base && !_IO_in_backup (fp)
|
||||
&& fp->_IO_read_ptr[-1] == c)
|
||||
&& (unsigned char) fp->_IO_read_ptr[-1] == c)
|
||||
--fp->_IO_read_ptr;
|
||||
else
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ headers := math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \
|
||||
distribute := math_private.h machine/asm.h machine/endian.h
|
||||
|
||||
# FPU support code.
|
||||
aux := setfpucw
|
||||
aux := setfpucw fpu_control
|
||||
|
||||
# Build the -lm library.
|
||||
|
||||
|
@ -4,6 +4,9 @@ libc {
|
||||
__isnan; __isnanf; __isnanl; __finite; __finitef; __finitel;
|
||||
__isinf; __isinff; __isinfl;
|
||||
|
||||
# global variables
|
||||
__fpu_control;
|
||||
|
||||
# c*
|
||||
copysign; copysignf; copysignl;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -121,6 +121,7 @@ execvp (file, argv)
|
||||
got_eacces = 1;
|
||||
case ENOENT:
|
||||
case ESTALE:
|
||||
case ENOTDIR:
|
||||
/* Those errors indicate the file is missing or not executable
|
||||
by us, in which case we want to just try the next path
|
||||
directory. */
|
||||
|
@ -41,6 +41,7 @@ extern size_t _dl_pagesize;
|
||||
extern const char *_dl_platform;
|
||||
extern unsigned long int _dl_hwcap;
|
||||
extern size_t _dl_platformlen;
|
||||
extern fpu_control_t _dl_fpu_control;
|
||||
extern void _end;
|
||||
extern void ENTRY_POINT (void);
|
||||
|
||||
@ -128,7 +129,7 @@ _dl_sysdep_start (void **start_argptr,
|
||||
_dl_hwcap = av->a_un.a_val;
|
||||
break;
|
||||
case AT_FPUCW:
|
||||
__fpu_control = av->a_un.a_val;
|
||||
_dl_fpu_control = av->a_un.a_val;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@ struct sigaction
|
||||
/* Bits in `sa_flags'. */
|
||||
#define SA_NOCLDSTOP 0x00000004 /* Don't send SIGCHLD when children stop. */
|
||||
#ifdef __USE_MISC
|
||||
# define SA_STACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
|
||||
# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
|
||||
# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */
|
||||
# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
|
||||
# define SA_NOMASK 0x00000008 /* Don't automatically block the signal
|
||||
@ -47,6 +47,7 @@ struct sigaction
|
||||
/* Some aliases for the SA_ constants. */
|
||||
# define SA_NODEFER SA_NOMASK
|
||||
# define SA_RESETHAND SA_ONESHOT
|
||||
# define SA_STACK SA_ONSTACK
|
||||
#endif
|
||||
|
||||
/* Values for the HOW argument to `sigprocmask'. */
|
||||
|
@ -34,6 +34,9 @@ static void init (int, char **, char **) __attribute__ ((unused));
|
||||
extern int _dl_starting_up;
|
||||
weak_extern (_dl_starting_up)
|
||||
|
||||
extern fpu_control_t _dl_fpu_control;
|
||||
extern int _dl_fpu_control_set;
|
||||
|
||||
/* Set nonzero if we have to be prepared for more then one libc being
|
||||
used in the process. Safe assumption if initializer never runs. */
|
||||
int __libc_multiple_libcs = 1;
|
||||
@ -61,8 +64,11 @@ init (int argc, char **argv, char **envp)
|
||||
__personality (PER_LINUX);
|
||||
|
||||
/* Set the FPU control word to the proper default value if the
|
||||
kernel would use a different value. */
|
||||
if (__fpu_control != _FPU_DEFAULT)
|
||||
kernel would use a different value. (In a static program we
|
||||
don't have this information.) */
|
||||
#ifdef PIC
|
||||
if (__fpu_control != _dl_fpu_control)
|
||||
#endif
|
||||
__setfpucw (__fpu_control);
|
||||
}
|
||||
|
||||
|
@ -45,16 +45,17 @@ struct sigaction
|
||||
/* Bits in `sa_flags'. */
|
||||
#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */
|
||||
#ifdef __USE_MISC
|
||||
# define SA_STACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
|
||||
# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
|
||||
# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
|
||||
# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
|
||||
# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
|
||||
# define SA_RESTART 0x00000004 /* Restart syscall on signal return. */
|
||||
# define SA_INTERRUPT 0x00000000 /* Historical no-op. */
|
||||
# define SA_NODEFER 0x00000010 /* Don't automatically block the signal when
|
||||
its handler is being executed. */
|
||||
# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
|
||||
# define SA_RESETHAND 0x00000002 /* Reset to SIG_DFL on entry to handler. */
|
||||
|
||||
/* Some aliases for the SA_ constants. */
|
||||
# define SA_NOMASK SA_NODEFER
|
||||
# define SA_ONESHOT SA_RESETHAND
|
||||
# define SA_STACK SA_ONSTACK
|
||||
#endif
|
||||
|
||||
/* Values for the HOW argument to `sigprocmask'. */
|
||||
|
@ -43,7 +43,7 @@ struct sigaction
|
||||
#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with
|
||||
three arguments instead of one. */
|
||||
#ifdef __USE_MISC
|
||||
# define SA_STACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
|
||||
# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
|
||||
# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */
|
||||
# define SA_INTERRUPT 0x00000010 /* Historical no-op. */
|
||||
# define SA_NOMASK 0x00000020 /* Don't automatically block the signal when
|
||||
@ -53,6 +53,7 @@ struct sigaction
|
||||
/* Some aliases for the SA_ constants. */
|
||||
# define SA_NODEFER SA_NOMASK
|
||||
# define SA_RESETHAND SA_ONESHOT
|
||||
# define SA_STACK SA_ONSTACK
|
||||
#endif
|
||||
|
||||
/* Values for the HOW argument to `sigprocmask'. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user