mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
update from main archive 970214
1997-02-13 11:44 Andreas Jaeger <aj@arthur.pfalz.de> * stdlib/qsort.c: Add prototype for _quicksort. * stdlib/msort.c (qsort): Correct prototype for _quicksort. * sysdeps/i386/Makefile (CFLAGS-rtld.c): Change to prevent warning from dl-machine.h. 1997-02-13 18:18 Marcus G. Daniels <marcus@sysc.pdx.edu> * sysdeps/generic/dl-cache.c: Don't hardwire name of cache file. Allow user to overwrite it. 1997-02-13 17:55 Ulrich Drepper <drepper@cygnus.com> * libio/_G_config.h: Make sure win_t is also defined for old gcc versions. Reported by Andreas Jaeger. 1997-02-13 11:44 Andreas Jaeger <aj@arthur.pfalz.de> * db/btree/bt_split.c (bt_psplit): Fix typo in change of 1997-02-12. * time/tzfile.c (__tzfile_read): Change comment to follow change of 1997-02-12.
This commit is contained in:
27
ChangeLog
27
ChangeLog
@ -1,3 +1,30 @@
|
|||||||
|
1997-02-13 11:44 Andreas Jaeger <aj@arthur.pfalz.de>
|
||||||
|
|
||||||
|
* stdlib/qsort.c: Add prototype for _quicksort.
|
||||||
|
|
||||||
|
* stdlib/msort.c (qsort): Correct prototype for _quicksort.
|
||||||
|
|
||||||
|
* sysdeps/i386/Makefile (CFLAGS-rtld.c): Change to prevent warning
|
||||||
|
from dl-machine.h.
|
||||||
|
|
||||||
|
1997-02-13 18:18 Marcus G. Daniels <marcus@sysc.pdx.edu>
|
||||||
|
|
||||||
|
* sysdeps/generic/dl-cache.c: Don't hardwire name of cache file.
|
||||||
|
Allow user to overwrite it.
|
||||||
|
|
||||||
|
1997-02-13 17:55 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* libio/_G_config.h: Make sure win_t is also defined for old gcc
|
||||||
|
versions. Reported by Andreas Jaeger.
|
||||||
|
|
||||||
|
1997-02-13 11:44 Andreas Jaeger <aj@arthur.pfalz.de>
|
||||||
|
|
||||||
|
* db/btree/bt_split.c (bt_psplit): Fix typo in change of
|
||||||
|
1997-02-12.
|
||||||
|
|
||||||
|
* time/tzfile.c (__tzfile_read): Change comment to follow
|
||||||
|
change of 1997-02-12.
|
||||||
|
|
||||||
1997-02-13 02:32 Ulrich Drepper <drepper@cygnus.com>
|
1997-02-13 02:32 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* time/time.h (__nanosleep): Define only when struct timespec is
|
* time/time.h (__nanosleep): Define only when struct timespec is
|
||||||
|
@ -688,7 +688,7 @@ bt_psplit(t, h, l, r, pskip, ilen)
|
|||||||
memmove((char *)l + l->upper, src, nbytes);
|
memmove((char *)l + l->upper, src, nbytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
sed += nbytes + sizeof(indx_t);
|
used += nbytes + sizeof(indx_t);
|
||||||
if (used >= half) {
|
if (used >= half) {
|
||||||
if (!isbigkey || bigkeycnt == 3)
|
if (!isbigkey || bigkeycnt == 3)
|
||||||
break;
|
break;
|
||||||
|
@ -10,6 +10,14 @@
|
|||||||
#define __need_size_t
|
#define __need_size_t
|
||||||
#define __need_wint_t
|
#define __need_wint_t
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#ifndef _WINT_T
|
||||||
|
/* Integral type unchanged by default argument promotions that can
|
||||||
|
hold any value corresponding to members of the extended character
|
||||||
|
set, as well as at least one value that does not correspond to any
|
||||||
|
member of the extended character set. */
|
||||||
|
#define _WINT_T
|
||||||
|
typedef unsigned int wint_t;
|
||||||
|
#endif
|
||||||
#define _G_size_t size_t
|
#define _G_size_t size_t
|
||||||
#define _G_fpos_t __off_t
|
#define _G_fpos_t __off_t
|
||||||
#define _G_ssize_t __ssize_t
|
#define _G_ssize_t __ssize_t
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* msort -- an alternative to qsort, with an identical interface.
|
/* An alternative to qsort, with an identical interface.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
|
Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||||
Written by Mike Haertel, September 1988.
|
Written by Mike Haertel, September 1988.
|
||||||
@ -109,7 +109,7 @@ qsort (b, n, s, cmp)
|
|||||||
{
|
{
|
||||||
/* Couldn't get space, so use the slower algorithm
|
/* Couldn't get space, so use the slower algorithm
|
||||||
that doesn't need a temporary array. */
|
that doesn't need a temporary array. */
|
||||||
extern void _quicksort __P ((void *__base,
|
extern void _quicksort __P ((void *const __base,
|
||||||
size_t __nmemb, size_t __size,
|
size_t __nmemb, size_t __size,
|
||||||
__compar_fn_t __compar));
|
__compar_fn_t __compar));
|
||||||
_quicksort (b, n, s, cmp);
|
_quicksort (b, n, s, cmp);
|
||||||
|
@ -20,6 +20,9 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
extern void _quicksort __P ((void *const pbase, size_t total_elems,
|
||||||
|
size_t size, __compar_fn_t cmp));
|
||||||
|
|
||||||
/* Byte-wise swap two items of size SIZE. */
|
/* Byte-wise swap two items of size SIZE. */
|
||||||
#define SWAP(a, b, size) \
|
#define SWAP(a, b, size) \
|
||||||
do \
|
do \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
|
/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
|
||||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -27,6 +27,10 @@ extern void *_dl_sysdep_read_whole_file (const char *filename,
|
|||||||
size_t *filesize_ptr,
|
size_t *filesize_ptr,
|
||||||
int mmap_prot);
|
int mmap_prot);
|
||||||
|
|
||||||
|
#ifndef LD_SO_CACHE
|
||||||
|
#define LD_SO_CACHE "/etc/ld.so.cache"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CACHEMAGIC "ld.so-1.7.0"
|
#define CACHEMAGIC "ld.so-1.7.0"
|
||||||
|
|
||||||
struct cache_file
|
struct cache_file
|
||||||
@ -57,7 +61,7 @@ _dl_load_cache_lookup (const char *name)
|
|||||||
if (cache == NULL)
|
if (cache == NULL)
|
||||||
{
|
{
|
||||||
/* Read the contents of the file. */
|
/* Read the contents of the file. */
|
||||||
void *file = _dl_sysdep_read_whole_file ("/etc/ld.so.cache", &cachesize,
|
void *file = _dl_sysdep_read_whole_file (LD_SO_CACHE, &cachesize,
|
||||||
PROT_READ);
|
PROT_READ);
|
||||||
if (file && cachesize > sizeof *cache &&
|
if (file && cachesize > sizeof *cache &&
|
||||||
!memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1))
|
!memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1))
|
||||||
|
@ -6,7 +6,7 @@ asm-CPPFLAGS := $(asm-CPPFLAGS) -DGAS_SYNTAX
|
|||||||
long-double-fcts = yes
|
long-double-fcts = yes
|
||||||
|
|
||||||
ifeq ($(subdir),elf)
|
ifeq ($(subdir),elf)
|
||||||
CFLAGS-rtld.c += -Wno-uninitialized
|
CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused
|
||||||
CFLAGS-dl-load.c += -Wno-unused
|
CFLAGS-dl-load.c += -Wno-unused
|
||||||
CFLAGS-dl-reloc.c += -Wno-unused
|
CFLAGS-dl-reloc.c += -Wno-unused
|
||||||
endif
|
endif
|
||||||
|
@ -116,14 +116,15 @@ __tzfile_read (const char *file)
|
|||||||
{
|
{
|
||||||
/* We must not allow to read an arbitrary file in a setuid
|
/* We must not allow to read an arbitrary file in a setuid
|
||||||
program. So we fail for any file which is not in the
|
program. So we fail for any file which is not in the
|
||||||
directory hierachy starting at TZDIR. */
|
directory hierachy starting at TZDIR
|
||||||
|
and which is not the system wide default TZDEFAULT. */
|
||||||
if (__libc_enable_secure
|
if (__libc_enable_secure
|
||||||
&& ((*file == '/'
|
&& ((*file == '/'
|
||||||
&& (memcmp(file, TZDEFAULT, sizeof(TZDEFAULT) -1))
|
&& memcmp (file, TZDEFAULT, sizeof (TZDEFAULT) - 1)
|
||||||
&& memcmp (file, default_tzdir, sizeof (default_tzdir) - 1))
|
&& memcmp (file, default_tzdir, sizeof (default_tzdir) - 1))
|
||||||
|| strstr (file, "../") != NULL))
|
|| strstr (file, "../") != NULL))
|
||||||
/* This test a certainly a bit too restrictive but it should
|
/* This test is certainly a bit too restrictive but it should
|
||||||
catch all critical case. */
|
catch all critical cases. */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user