2004-04-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/shm_open.c (shm_unlink): Change EPERM into
	EACCES.

2004-04-20  Jakub Jelinek  <jakub@redhat.com>

	* stdio-common/vfscanf.c (_IO_vfscanf): Revert last %% whitespace
	handling change.
	* stdio-common/tst-sscanf.c (int_tests): Adjust.

	* nis/nss-nis.c: Include stdlib.h.

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Shut up a
	warning.
	* sysdeps/sparc/sparc64/memcmp.S (memcmp): Remove BP_SYM () from
	libc_hidden_builtin_def.

2004-04-20  Jim Meyering  <jim@meyering.net>

	* misc/error.c (error_tail): Don't leak upon realloc failure.

2004-04-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable):
	Use RETURN_ADDRESS instead of __builtin_return_address.
This commit is contained in:
Ulrich Drepper 2004-04-20 18:58:56 +00:00
parent af1ff65986
commit f9a06dc1b5
13 changed files with 62 additions and 23 deletions

View File

@ -1,3 +1,30 @@
2004-04-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/shm_open.c (shm_unlink): Change EPERM into
EACCES.
2004-04-20 Jakub Jelinek <jakub@redhat.com>
* stdio-common/vfscanf.c (_IO_vfscanf): Revert last %% whitespace
handling change.
* stdio-common/tst-sscanf.c (int_tests): Adjust.
* nis/nss-nis.c: Include stdlib.h.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Shut up a
warning.
* sysdeps/sparc/sparc64/memcmp.S (memcmp): Remove BP_SYM () from
libc_hidden_builtin_def.
2004-04-20 Jim Meyering <jim@meyering.net>
* misc/error.c (error_tail): Don't leak upon realloc failure.
2004-04-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable):
Use RETURN_ADDRESS instead of __builtin_return_address.
2004-04-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more

View File

@ -1,3 +1,7 @@
2004-04-20 Jakub Jelinek <jakub@redhat.com>
* oldsemaphore.c (SEM_VALUE_MAX): Remove.
2004-04-19 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Define

View File

@ -41,10 +41,6 @@ extern int __old_sem_post (old_sem_t *__sem);
extern int __old_sem_getvalue (old_sem_t *__sem, int *__sval);
extern int __old_sem_destroy (old_sem_t *__sem);
/* Maximum value the semaphore can have. */
#define SEM_VALUE_MAX ((int) ((~0u) >> 1))
static inline int sem_compare_and_swap(old_sem_t *sem, long oldval, long newval)
{
return compare_and_swap(&sem->sem_status, oldval, newval, &sem->sem_spinlock);

View File

@ -1,5 +1,5 @@
/* Error handler for noninteractive utilities
Copyright (C) 1990-1998, 2000-2002, 2003 Free Software Foundation, Inc.
Copyright (C) 1990-1998, 2000-2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib.
@ -192,18 +192,19 @@ error_tail (int status, int errnum, const char *message, va_list args)
if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
wmessage = NULL;
wmessage = (wchar_t *) realloc (wmessage,
len * sizeof (wchar_t));
if (wmessage == NULL)
wchar_t *p = (wchar_t *) realloc (wmessage,
len * sizeof (wchar_t));
if (p == NULL)
{
free (wmessage);
fputws_unlocked (L"out of memory\n", stderr);
return;
}
wmessage = p;
}
memset (&st, '\0', sizeof (st));
tmp =message;
tmp = message;
}
while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);

View File

@ -19,6 +19,7 @@
#include <ctype.h>
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
#include <string.h>
#include <rpcsvc/ypclnt.h>

View File

@ -1,3 +1,7 @@
2004-04-20 Jakub Jelinek <jakub@redhat.com>
* sem_unlink.c (sem_unlink): Change EPERM into EACCES.
2004-04-19 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Add frame info.

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2002 Free Software Foundation, Inc.
/* Copyright (C) 2002, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@ -60,5 +60,8 @@ sem_unlink (name)
name, namelen + 1);
/* Now try removing it. */
return unlink (fname);
int ret = unlink (fname);
if (ret < 0 && errno == EPERM)
__set_errno (EACCES);
return ret;
}

View File

@ -78,7 +78,6 @@ struct int_test
{ "foo\t", "foo bar", -1 },
{ "foo\t", "foo %d", -1 },
{ "foo\t", "foo\t%d", -1 },
{ "foo \t %bar1", "foo%%bar%d", 0 },
{ "foo", "foo", 0 },
{ "foon", "foo bar", 0 },
{ "foon", "foo %d", 0 },
@ -89,7 +88,9 @@ struct int_test
{ "foo bar", "foo %d", 0 },
{ "foo bar", "foon%d", 0 },
{ "foo ", "foo %n", 0 },
{ "foo%bar1", "foo%%bar%d", 1 }
{ "foo%bar1", "foo%%bar%d", 1 },
/* Some OSes skip whitespace here while others don't. */
{ "foo \t %bar1", "foo%%bar%d", 1 }
};
int

View File

@ -543,8 +543,7 @@ _IO_vfscanf (s, format, argptr, errp)
/* Find the conversion specifier. */
fc = *f++;
if (skip_space || (fc != L_('[') && fc != L_('c')
&& fc != L_('C') && fc != L_('n')
&& fc != L_('%')))
&& fc != L_('C') && fc != L_('n')))
{
/* Eat whitespace. */
int save_errno = errno;

View File

@ -441,9 +441,9 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
{
#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP
const Elf32_Sym *const refsym = sym;
#endif
#if defined USE_TLS && !defined RTLD_BOOTSTRAP
# ifdef USE_TLS
struct link_map *sym_map;
# endif
#endif
Elf32_Addr value;
#ifndef RESOLVE_CONFLICT_FIND_MAP

View File

@ -1,6 +1,6 @@
/* Compare two memory blocks for differences in the first COUNT bytes.
For SPARC v9.
Copyright (C) 1998,1999, 2004 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
@ -140,4 +140,4 @@ END(memcmp)
#undef bcmp
weak_alias(memcmp, bcmp)
libc_hidden_builtin_def (BP_SYM (memcmp))
libc_hidden_builtin_def (memcmp)

View File

@ -37,7 +37,7 @@ _dl_make_stack_executable (void **stack_endp)
& -(intptr_t) GLRO(dl_pagesize));
/* Challenge the caller. */
if (__builtin_expect (__check_caller (__builtin_return_address (0),
if (__builtin_expect (__check_caller (RETURN_ADDRESS (0),
allow_ldso|allow_libpthread) != 0, 0)
|| __builtin_expect (*stack_endp != __libc_stack_end, 0))
return EPERM;

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2001, 2002, 2003, 2004 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
@ -227,7 +227,10 @@ shm_unlink (const char *name)
name, namelen + 1);
/* And remove the file. */
return unlink (fname);
int ret = unlink (fname);
if (ret < 0 && errno == EPERM)
__set_errno (EACCES);
return ret;
}