2005-04-28  Roland McGrath  <roland@redhat.com>
	[BZ #796]
	* sysdeps/unix/sysv/linux/dl-sysdep.h: New file.
	Define NEED_DL_SYSINFO_DSO for all platforms.

	* sysdeps/generic/dl-sysdep.h: Remove multiple inclusion protection.
	* sysdeps/alpha/dl-sysdep.h: Likewise.
	Use #include_next instead of duplicating generic file's contents.
	* sysdeps/ia64/dl-sysdep.h: Likewise.
	* sysdeps/sparc/dl-sysdep.h: Likewise.

2005-03-22  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/memset.S (memset): Make ___memset local.

2005-03-07  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #781]
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_TGKILL): Define for powerpc32/64 starting with 2.6.1.
	(__ASSUME_UTIMES): Define for powerpc32/64 starting with 2.6.1.
	(__ASSUME_FADVISE64_64_SYSCALL): Define for powerpc32 only starting
	with 2.6.1.
	(__ASSUME_WAITID_SYSCALL): Don't define for powerpc32/64.
This commit is contained in:
Roland McGrath 2005-04-28 22:31:00 +00:00
parent 0e03d56254
commit 453d8199be
7 changed files with 76 additions and 70 deletions

View File

@ -1,3 +1,29 @@
2005-04-28 Roland McGrath <roland@redhat.com>
[BZ #796]
* sysdeps/unix/sysv/linux/dl-sysdep.h: New file.
Define NEED_DL_SYSINFO_DSO for all platforms.
* sysdeps/generic/dl-sysdep.h: Remove multiple inclusion protection.
* sysdeps/alpha/dl-sysdep.h: Likewise.
Use #include_next instead of duplicating generic file's contents.
* sysdeps/ia64/dl-sysdep.h: Likewise.
* sysdeps/sparc/dl-sysdep.h: Likewise.
2005-03-22 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc64/memset.S (memset): Make ___memset local.
2005-03-07 Steven Munroe <sjmunroe@us.ibm.com>
[BZ #781]
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_TGKILL): Define for powerpc32/64 starting with 2.6.1.
(__ASSUME_UTIMES): Define for powerpc32/64 starting with 2.6.1.
(__ASSUME_FADVISE64_64_SYSCALL): Define for powerpc32 only starting
with 2.6.1.
(__ASSUME_WAITID_SYSCALL): Don't define for powerpc32/64.
2005-04-28 Ulrich Drepper <drepper@redhat.com> 2005-04-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/sysdep.h: Add cfi instrumentation to asm fragments. * sysdeps/i386/sysdep.h: Add cfi instrumentation to asm fragments.

View File

@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. Alpha version. /* System-specific settings for dynamic linker code. Alpha version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. Copyright (C) 2002, 2003, 2004, 2005 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
@ -17,25 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */ 02111-1307 USA. */
#ifndef _DL_SYSDEP_H #include_next <dl-sysdep.h>
#define _DL_SYSDEP_H 1
/* This macro must be defined to either 0 or 1.
If 1, then an errno global variable hidden in ld.so will work right with
all the errno-using libc code compiled for ld.so, and there is never a
need to share the errno location with libc. This is appropriate only if
all the libc functions that ld.so uses are called without PLT and always
get the versions linked into ld.so rather than the libc ones. */
#ifdef IS_IN_rtld
# define RTLD_PRIVATE_ERRNO 1
#else
# define RTLD_PRIVATE_ERRNO 0
#endif
/* _dl_argv cannot be attribute_relro, because _dl_start_user /* _dl_argv cannot be attribute_relro, because _dl_start_user
might write into it after _dl_start returns. */ might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1 #define DL_ARGV_NOT_RELRO 1
#endif /* dl-sysdep.h */

View File

@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. Generic version. /* System-specific settings for dynamic linker code. Generic version.
Copyright (C) 2002, 2003 Free Software Foundation, Inc. Copyright (C) 2002, 2003, 2005 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
@ -17,8 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */ 02111-1307 USA. */
#ifndef _DL_SYSDEP_H /* No multiple inclusion protection need here because it's just macros.
#define _DL_SYSDEP_H 1 We don't want to use _DL_SYSDEP_H in case we are #include_next'd. */
/* This macro must be defined to either 0 or 1. /* This macro must be defined to either 0 or 1.
@ -33,5 +33,3 @@
#else #else
# define RTLD_PRIVATE_ERRNO 0 # define RTLD_PRIVATE_ERRNO 0
#endif #endif
#endif /* dl-sysdep.h */

View File

@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. IA-64 version. /* System-specific settings for dynamic linker code. IA-64 version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. Copyright (C) 2002, 2003, 2004, 2005 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
@ -17,25 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */ 02111-1307 USA. */
#ifndef _DL_SYSDEP_H #include_next <dl-sysdep.h>
#define _DL_SYSDEP_H 1
/* This macro must be defined to either 0 or 1.
If 1, then an errno global variable hidden in ld.so will work right with
all the errno-using libc code compiled for ld.so, and there is never a
need to share the errno location with libc. This is appropriate only if
all the libc functions that ld.so uses are called without PLT and always
get the versions linked into ld.so rather than the libc ones. */
#ifdef IS_IN_rtld
# define RTLD_PRIVATE_ERRNO 1
#else
# define RTLD_PRIVATE_ERRNO 0
#endif
/* _dl_argv cannot be attribute_relro, because _dl_start_user /* _dl_argv cannot be attribute_relro, because _dl_start_user
might write into it after _dl_start returns. */ might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1 #define DL_ARGV_NOT_RELRO 1
#endif /* dl-sysdep.h */

View File

@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. SPARC version. /* System-specific settings for dynamic linker code. SPARC version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. Copyright (C) 2002, 2003, 2004, 2005 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
@ -17,25 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */ 02111-1307 USA. */
#ifndef _DL_SYSDEP_H #include_next <dl-sysdep.h>
#define _DL_SYSDEP_H 1
/* This macro must be defined to either 0 or 1.
If 1, then an errno global variable hidden in ld.so will work right with
all the errno-using libc code compiled for ld.so, and there is never a
need to share the errno location with libc. This is appropriate only if
all the libc functions that ld.so uses are called without PLT and always
get the versions linked into ld.so rather than the libc ones. */
#ifdef IS_IN_rtld
# define RTLD_PRIVATE_ERRNO 1
#else
# define RTLD_PRIVATE_ERRNO 0
#endif
/* _dl_argv cannot be attribute_relro, because _dl_start_user /* _dl_argv cannot be attribute_relro, because _dl_start_user
might write into it after _dl_start returns. */ might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1 #define DL_ARGV_NOT_RELRO 1
#endif /* dl-sysdep.h */

View File

@ -0,0 +1,27 @@
/* System-specific settings for dynamic linker code. Linux version.
Copyright (C) 2005 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
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include_next <dl-sysdep.h>
/* On many architectures the kernel provides a virtual DSO and gives
AT_SYSINFO_EHDR to point us to it. As this is introduced for new
machines, we should look at it for unwind information even if
we aren't making direct use of it. So enable this across the board. */
#define NEED_DL_SYSINFO_DSO 1

View File

@ -354,22 +354,24 @@
/* The tgkill syscall was instroduced for i386 in 2.5.75. For Alpha /* The tgkill syscall was instroduced for i386 in 2.5.75. For Alpha
it was introduced in 2.6.0-test1 which unfortunately cannot be it was introduced in 2.6.0-test1 which unfortunately cannot be
distinguished from 2.6.0. On x86-64 it was introduced in distinguished from 2.6.0. On x86-64, ppc, and ppc64 it was
2.6.0-test3. */ introduced in 2.6.0-test3. */
#if (__LINUX_KERNEL_VERSION >= 132427 && defined __i386__) \ #if (__LINUX_KERNEL_VERSION >= 132427 && defined __i386__) \
|| (__LINUX_KERNEL_VERSION >= 132609 && defined __alpha__) \ || (__LINUX_KERNEL_VERSION >= 132609 && defined __alpha__) \
|| (__LINUX_KERNEL_VERSION >= 132609 && defined __x86_64__) \ || (__LINUX_KERNEL_VERSION >= 132609 && defined __x86_64__) \
|| (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \
|| (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__) || (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__)
# define __ASSUME_TGKILL 1 # define __ASSUME_TGKILL 1
#endif #endif
/* The utimes syscall has been available for some architectures /* The utimes syscall has been available for some architectures
forever. For x86 it was introduced after 2.5.75, for x86-64 in forever. For x86 it was introduced after 2.5.75, for x86-64,
2.6.0-test3. */ ppc, and ppc64 it was introduced in 2.6.0-test3. */
#if defined __alpha__ || defined __ia64__ || defined __hppa__ \ #if defined __alpha__ || defined __ia64__ || defined __hppa__ \
|| defined __sparc__ \ || defined __sparc__ \
|| (__LINUX_KERNEL_VERSION > 132427 && defined __i386__) \ || (__LINUX_KERNEL_VERSION > 132427 && defined __i386__) \
|| (__LINUX_KERNEL_VERSION > 132609 && defined __x86_64__) \ || (__LINUX_KERNEL_VERSION > 132609 && defined __x86_64__) \
|| (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \
|| (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__) || (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__)
# define __ASSUME_UTIMES 1 # define __ASSUME_UTIMES 1
#endif #endif
@ -383,8 +385,11 @@
#endif #endif
/* The fixed version of the posix_fadvise64 syscall appeared in /* The fixed version of the posix_fadvise64 syscall appeared in
2.6.0-test3. At least for x86. */ 2.6.0-test3. At least for x86. Powerpc support appeared in
#if __LINUX_KERNEL_VERSION >= 132609 && defined __i386__ 2.6.2, but for 32-bit userspace only. */
#if (__LINUX_KERNEL_VERSION >= 132609 && defined __i386__) \
|| (__LINUX_KERNEL_VERSION >= 132610 && defined __powerpc__ \
&& !defined __powerpc64__)
# define __ASSUME_FADVISE64_64_SYSCALL 1 # define __ASSUME_FADVISE64_64_SYSCALL 1
#endif #endif
@ -419,8 +424,9 @@
# define __ASSUME_BRK_PAGE_ROUNDED 1 # define __ASSUME_BRK_PAGE_ROUNDED 1
#endif #endif
/* Starting with version 2.6.9, the waitid system call is available. */ /* Starting with version 2.6.9, the waitid system call is available.
#if __LINUX_KERNEL_VERSION >= 0x020609 Except for powerpc and powerpc64. */
#if __LINUX_KERNEL_VERSION >= 0x020609 && !defined __powerpc__
# define __ASSUME_WAITID_SYSCALL 1 # define __ASSUME_WAITID_SYSCALL 1
#endif #endif