This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Community source repository for glibc add-on ports branch, master, updated. glibc-2.15-174-gf0984e2


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Community source repository for glibc add-on ports".

The branch, master has been updated
       via  f0984e264ed663c66151f759bb30118d08c4b619 (commit)
       via  4625d0ae8d5b2862c7ff8989cc8fd39320f4110c (commit)
       via  4723e427b515fdc8d05033474d12b06bb8e65404 (commit)
       via  756b23ec1b8c32fc8355beaecbdddada8b1b4402 (commit)
       via  91e5f2e441de61f8a2130b9eb5bf5ae0ada00357 (commit)
       via  e43013840b7e68e2f725b0d689bcd1d0f688de15 (commit)
       via  7e4fc5890e07549e5ad98b4244e3e0ed5c709e6a (commit)
       via  413a8f40ecad7b78ceed0c098832004d4f3cb16e (commit)
       via  16aca1f7711898a516c63b78528d33afa46213a2 (commit)
       via  421ff1c38d42f98a9a0922991c57639d66dbf144 (commit)
       via  293432b4af0862e35d74c1dc84cec496b6611daf (commit)
       via  60318997b84ab88b1a89f649a9c7dd832439091e (commit)
       via  6eeb0e8f7fc7c725a4605220c3f706b9eebdd83e (commit)
       via  d928ab870ea298961db30cb348e7f89b6225ff1b (commit)
       via  fd916d779be7ffa3e69c125dadf194e7ddd91cbc (commit)
       via  15be91c2a0f89940d6d6dc69fa698a32f6ee3078 (commit)
       via  5f870869a601ea2c5d25d4560187c82722806a32 (commit)
      from  4053d054cd15f9dd7cf60d19f72d143582f0b81a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=f0984e264ed663c66151f759bb30118d08c4b619

commit f0984e264ed663c66151f759bb30118d08c4b619
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Tue Apr 17 23:31:26 2012 -0400

    ia64: math: rename s_ilogbl.S to e_ilogbl.S
    
    The main tree renamed these files as well as the symbols.
    Update ia64 accordingly.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index b1c2537..4467e3c 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,11 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/fpu/s_ilogbl.S: Move to ...
+	* sysdeps/ia64/fpu/e_ilogbl.S: ... here.
+	(__ieee754_ilogbl): Rename from ilogbl.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_ACCEPT4):
 	Define.
 
diff --git a/sysdeps/ia64/fpu/s_ilogbl.S b/sysdeps/ia64/fpu/e_ilogbl.S
similarity index 99%
rename from sysdeps/ia64/fpu/s_ilogbl.S
rename to sysdeps/ia64/fpu/e_ilogbl.S
index 8a6c9dc..8d67d4f 100644
--- a/sysdeps/ia64/fpu/s_ilogbl.S
+++ b/sysdeps/ia64/fpu/e_ilogbl.S
@@ -103,7 +103,7 @@ fNorm_x             = f10
 f2to64              = f11
 
 .section .text
-GLOBAL_LIBM_ENTRY(ilogbl)
+GLOBAL_LIBM_ENTRY(__ieee754_ilogbl)
 
 // X NORMAL
 // TrueExp_x = exp(f8) - 0xffff
@@ -204,7 +204,7 @@ ILOGB_ZERO:
 }
 ;;
 
-GLOBAL_LIBM_END(ilogbl)
+GLOBAL_LIBM_END(__ieee754_ilogbl)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=4625d0ae8d5b2862c7ff8989cc8fd39320f4110c

commit 4625d0ae8d5b2862c7ff8989cc8fd39320f4110c
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:55:11 2012 -0400

    ia64: define __ASSUME_ACCEPT4
    
    The latest kernels finally added accept4() to the ia64 kernel.
    Define __ASSUME_ACCEPT4 accordingly.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 1e570b2..b1c2537 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,10 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_ACCEPT4):
+	Define.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/dl-tls.h (GET_ADDR_PARAM): Define.
 
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sysdeps/unix/sysv/linux/ia64/kernel-features.h b/sysdeps/unix/sysv/linux/ia64/kernel-features.h
index 3e97260..f8dc481 100644
--- a/sysdeps/unix/sysv/linux/ia64/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/ia64/kernel-features.h
@@ -53,6 +53,11 @@
 # define __ASSUME_DUP3		1
 #endif
 
+/* Support for the accept4 syscall was added in 3.3.  */
+#if __LINUX_KERNEL_VERSION >= 0x030300
+# define __ASSUME_ACCEPT4	1
+#endif
+
 #include_next <kernel-features.h>
 
 #endif /* _KERNEL_FEATURES_H */

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=4723e427b515fdc8d05033474d12b06bb8e65404

commit 4723e427b515fdc8d05033474d12b06bb8e65404
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:51:44 2012 -0400

    ia64: add new GET_ADDR_PARAM define
    
    The main tree updated the dl-tls code to use a new GET_ADDR_PARAM macro.
    We need to define that to fix a build error due to it missing.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index f9469b2..1e570b2 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,9 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/dl-tls.h (GET_ADDR_PARAM): Define.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/bits/byteswap.h (__bswap_16): Removed.
 	Include <bits/byteswap-16.h> to get __bswap_16.
 	* sysdeps/ia64/bits/byteswap-16.h: New file.
diff --git a/sysdeps/ia64/dl-tls.h b/sysdeps/ia64/dl-tls.h
index 9e7e7bc..1fc35bc 100644
--- a/sysdeps/ia64/dl-tls.h
+++ b/sysdeps/ia64/dl-tls.h
@@ -1,5 +1,5 @@
 /* Thread-local storage handling in the ELF dynamic linker.  IA-64 version.
-   Copyright (C) 2002, 2003, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 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
@@ -20,6 +20,7 @@
 /* On IA-64 the __tls_get_addr function take the module ID and the
    offset as parameters.  */
 #define GET_ADDR_ARGS		size_t m, size_t offset
+#define GET_ADDR_PARAM		m, offset
 #define GET_ADDR_MODULE		m
 #define GET_ADDR_OFFSET		offset
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=756b23ec1b8c32fc8355beaecbdddada8b1b4402

commit 756b23ec1b8c32fc8355beaecbdddada8b1b4402
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:47:48 2012 -0400

    ia64: split 16bit funcs out of byteswap.h and into byteswap-16.h
    
    The main tree split the 16bit byteswap funcs out into a dedicated header.
    Do the same for ia64.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 803a248..f9469b2 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,11 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/bits/byteswap.h (__bswap_16): Removed.
+	Include <bits/byteswap-16.h> to get __bswap_16.
+	* sysdeps/ia64/bits/byteswap-16.h: New file.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Delete __cplusplus
 	define check.
 
diff --git a/sysdeps/ia64/bits/byteswap-16.h b/sysdeps/ia64/bits/byteswap-16.h
new file mode 100644
index 0000000..0a85909
--- /dev/null
+++ b/sysdeps/ia64/bits/byteswap-16.h
@@ -0,0 +1,42 @@
+/* Macros to swap the order of bytes in 16-bit integer values.
+   Copyright (C) 1997-2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_BYTESWAP_H
+# error "Never use <bits/byteswap-16.h> directly; include <byteswap.h> instead."
+#endif
+
+#if defined __GNUC__ && __GNUC__ >= 2
+# define __bswap_16(x) \
+     (__extension__							      \
+      ({ register unsigned short int __v, __x = (x);			      \
+	 if (__builtin_constant_p (x))					      \
+	   __v = __bswap_constant_16 (__x);				      \
+	 else								      \
+	   __asm__ __volatile__ ("shl %0 = %1, 48 ;;"			      \
+				 "mux1 %0 = %0, @rev ;;"		      \
+				 : "=r" (__v)				      \
+				 : "r" ((unsigned short int) (__x)));	      \
+	 __v; }))
+#else
+/* This is better than nothing.  */
+static __inline unsigned short int
+__bswap_16 (unsigned short int __bsx)
+{
+  return __bswap_constant_16 (__bsx);
+}
+#endif
diff --git a/sysdeps/ia64/bits/byteswap.h b/sysdeps/ia64/bits/byteswap.h
index db7824a..6861248 100644
--- a/sysdeps/ia64/bits/byteswap.h
+++ b/sysdeps/ia64/bits/byteswap.h
@@ -1,6 +1,5 @@
 /* Macros to swap the order of bytes in integer values.
-   Copyright (C) 1997,1998,2000,2002,2003,2008,2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 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
@@ -28,27 +27,8 @@
 #define __bswap_constant_16(x) \
      ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
 
-#if defined __GNUC__ && __GNUC__ >= 2
-# define __bswap_16(x) \
-     (__extension__							      \
-      ({ register unsigned short int __v, __x = (x);			      \
-	 if (__builtin_constant_p (x))					      \
-	   __v = __bswap_constant_16 (__x);				      \
-	 else								      \
-	   __asm__ __volatile__ ("shl %0 = %1, 48 ;;"			      \
-				 "mux1 %0 = %0, @rev ;;"		      \
-				 : "=r" (__v)				      \
-				 : "r" ((unsigned short int) (__x)));	      \
-	 __v; }))
-#else
-/* This is better than nothing.  */
-static __inline unsigned short int
-__bswap_16 (unsigned short int __bsx)
-{
-  return __bswap_constant_16 (__bsx);
-}
-#endif
-
+/* Get __bswap_16.  */
+#include <bits/byteswap-16.h>
 
 /* Swap bytes in 32 bit value.  */
 #define __bswap_constant_32(x) \

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=91e5f2e441de61f8a2130b9eb5bf5ae0ada00357

commit 91e5f2e441de61f8a2130b9eb5bf5ae0ada00357
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:45:14 2012 -0400

    ia64: ucontext.h: drop __cplusplus
    
    Building a lot of glibc files trigger warnings like so:
    .../ucontext.h:52:25: warning: variably modified '_pad' at file scope
    
    The ia64 header protects the use of __builtin_offsetof by a C++
    compiler, but this builtin works just fine with C compilers, so
    allow it to be used there too.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index fea8582..803a248 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,10 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Delete __cplusplus
+	define check.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
 	(pthread_attr_t): Change union tag to pthread_attr_t.  Only define
 	typedef if not already defined.
diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h b/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
index 8525007..e1fa8c6 100644
--- a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2012 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
@@ -31,7 +31,7 @@
 
 typedef struct sigcontext mcontext_t;
 
-#if defined __cplusplus && __GNUC_PREREQ (3, 5)
+#if __GNUC_PREREQ (3, 5)
 # define _SC_GR0_OFFSET	\
 	__builtin_offsetof (struct sigcontext, sc_gr[0])
 #elif defined __GNUC__

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=e43013840b7e68e2f725b0d689bcd1d0f688de15

commit e43013840b7e68e2f725b0d689bcd1d0f688de15
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:44:55 2012 -0400

    ia64: pthread_attr_t type mangling
    
    This applies the same updates that already exist in the main tree for
    making the pthread_attr_t union more standards compliant.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 111cb5b..fea8582 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,11 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
+	(pthread_attr_t): Change union tag to pthread_attr_t.  Only define
+	typedef if not already defined.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/unix/sysv/linux/ia64/bits/mman.h (MAP_STACK): Define.
 	(MAP_HUGETLB): Likewise.
 
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
index 4f87f8b..5b30713 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -35,11 +35,15 @@
 typedef unsigned long int pthread_t;
 
 
-typedef union
+union pthread_attr_t
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
+};
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t	1
+#endif
 
 
 typedef struct __pthread_internal_list

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=7e4fc5890e07549e5ad98b4244e3e0ed5c709e6a

commit 7e4fc5890e07549e5ad98b4244e3e0ed5c709e6a
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:44:23 2012 -0400

    ia64: add MAP_{STACK,HUGETLB} to bits/mman.h
    
    Just adding new bit flags that newer kernels define.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 0d81ccd..111cb5b 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,10 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/unix/sysv/linux/ia64/bits/mman.h (MAP_STACK): Define.
+	(MAP_HUGETLB): Likewise.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/fpu/s_scalbn.c (__scalbn): Rename from scalbn.
 	Add weak alias from scalbn to __scalbn.
 	* sysdeps/ia64/fpu/s_scalbnf.c (__scalbnf): Rename from scalbnf.
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/mman.h b/sysdeps/unix/sysv/linux/ia64/bits/mman.h
index 7afb2e9..01c6b8a 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/mman.h
@@ -1,6 +1,5 @@
 /* Definitions for POSIX memory map interface.  Linux/ia64 version.
-   Copyright (C) 1997,1998,2000,2003,2005,2006,2009,2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 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
@@ -64,6 +63,8 @@
 # define MAP_NORESERVE	  0x04000	/* Don't check for reservations.  */
 # define MAP_POPULATE	  0x08000	/* Populate (prefault) pagetables.  */
 # define MAP_NONBLOCK	  0x10000	/* Do not block on IO.  */
+# define MAP_STACK	  0x20000	/* Allocation is for a stack.  */
+# define MAP_HUGETLB	  0x40000	/* Create huge page mapping.  */
 #endif
 
 /* Flags to `msync'.  */

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=413a8f40ecad7b78ceed0c098832004d4f3cb16e

commit 413a8f40ecad7b78ceed0c098832004d4f3cb16e
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:43:09 2012 -0400

    ia64: math: add __scalbn* aliases
    
    All other ports have __scalbn* aliases pointing back to scalbn*, but
    the ia64 code had omitted them.  This didn't really matter as none
    of the common code called them, but after a recent update, that's no
    longer true.  Add the aliases needed by some common code to fix link
    errors with libm due to them missing.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 83ae6bf..0d81ccd 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,14 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/fpu/s_scalbn.c (__scalbn): Rename from scalbn.
+	Add weak alias from scalbn to __scalbn.
+	* sysdeps/ia64/fpu/s_scalbnf.c (__scalbnf): Rename from scalbnf.
+	Add weak alias from scalbnf to __scalbnf.
+	* sysdeps/ia64/fpu/s_scalbnl.c (__scalbnl): Rename from scalbnl.
+	Add weak alias from scalbnl to __scalbnl.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/fpu/s_matherrf.c: Delete __STDC__.
 	* sysdeps/ia64/fpu/s_matherrl.c,
 	sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
diff --git a/sysdeps/ia64/fpu/s_scalbn.c b/sysdeps/ia64/fpu/s_scalbn.c
index 25cfad3..23e8d81 100644
--- a/sysdeps/ia64/fpu/s_scalbn.c
+++ b/sysdeps/ia64/fpu/s_scalbn.c
@@ -45,7 +45,7 @@
 double __libm_scalbn(double, int, int);
 
 
-double scalbn(double x, int n)
+double __scalbn(double x, int n)
 {
 
 #ifdef SIZE_INT_64
@@ -59,3 +59,5 @@ double scalbn(double x, int n)
 #endif
 
 }
+
+weak_alias (__scalbn, scalbn)
diff --git a/sysdeps/ia64/fpu/s_scalbnf.c b/sysdeps/ia64/fpu/s_scalbnf.c
index deab018..ec2582c 100644
--- a/sysdeps/ia64/fpu/s_scalbnf.c
+++ b/sysdeps/ia64/fpu/s_scalbnf.c
@@ -45,7 +45,7 @@
 float __libm_scalbnf(float, int, int);
 
 
-float scalbnf(float x, int n)
+float __scalbnf(float x, int n)
 {
 
 #ifdef SIZE_INT_64
@@ -59,3 +59,5 @@ float scalbnf(float x, int n)
 #endif
 
 }
+
+weak_alias (__scalbnf, scalbnf)
diff --git a/sysdeps/ia64/fpu/s_scalbnl.c b/sysdeps/ia64/fpu/s_scalbnl.c
index cfd078b..73ffb90 100644
--- a/sysdeps/ia64/fpu/s_scalbnl.c
+++ b/sysdeps/ia64/fpu/s_scalbnl.c
@@ -45,7 +45,7 @@
 long double __libm_scalbnl(long double, int, int);
 
 
-long double scalbnl(long double x, int n)
+long double __scalbnl(long double x, int n)
 {
 
 #ifdef SIZE_INT_64
@@ -59,3 +59,5 @@ long double scalbnl(long double x, int n)
 #endif
 
 }
+
+weak_alias (__scalbnl, scalbnl)

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=16aca1f7711898a516c63b78528d33afa46213a2

commit 16aca1f7711898a516c63b78528d33afa46213a2
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:39:07 2012 -0400

    ia64: drop __STDC__ handlings
    
    The main tree dropped support for !__STDC__ code, so drop it from the
    few places in the ia64 code too.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 3d7abe5..83ae6bf 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,11 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/fpu/s_matherrf.c: Delete __STDC__.
+	* sysdeps/ia64/fpu/s_matherrl.c,
+	sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/fpu/e_rem_pio2l.c: New file.
 
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sysdeps/ia64/fpu/s_matherrf.c b/sysdeps/ia64/fpu/s_matherrf.c
index 31f52aa..a47d4b8 100644
--- a/sysdeps/ia64/fpu/s_matherrf.c
+++ b/sysdeps/ia64/fpu/s_matherrf.c
@@ -15,16 +15,9 @@
 #include <math_private.h>
 #include "libm_support.h"
 
-#ifdef __STDC__
-	int
-	weak_function
-	 __matherrf(struct exceptionf *x)
-#else
-	int
-	weak_function
-	__matherrf(x)
-	struct exceptionf *x;
-#endif
+int
+weak_function
+__matherrf(struct exceptionf *x)
 {
 	int n=0;
 	if(x->arg1!=x->arg1) return 0;
diff --git a/sysdeps/ia64/fpu/s_matherrl.c b/sysdeps/ia64/fpu/s_matherrl.c
index e0bf638..6fe92d7 100644
--- a/sysdeps/ia64/fpu/s_matherrl.c
+++ b/sysdeps/ia64/fpu/s_matherrl.c
@@ -15,16 +15,9 @@
 #include <math_private.h>
 #include "libm_support.h"
 
-#ifdef __STDC__
-	int
-	weak_function
-	 __matherrl(struct exceptionl *x)
-#else
-	int
-	weak_function
-	__matherrl(x)
-	struct exceptionl *x;
-#endif
+int
+weak_function
+__matherrl(struct exceptionl *x)
 {
 	int n=0;
 	if(x->arg1!=x->arg1) return 0;
diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep.h b/sysdeps/unix/sysv/linux/ia64/sysdep.h
index 2927634..ebaec95 100644
--- a/sysdeps/unix/sysv/linux/ia64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/ia64/sysdep.h
@@ -1,5 +1,4 @@
-/* Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
+/* Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
    Based on code originally written by David Mosberger-Tang
@@ -38,11 +37,7 @@
    of the kernel.  But these symbols do not follow the SYS_* syntax
    so we have to redefine the `SYS_ify' macro here.  */
 #undef SYS_ify
-#ifdef __STDC__
-# define SYS_ify(syscall_name)	__NR_##syscall_name
-#else
-# define SYS_ify(syscall_name)	__NR_/**/syscall_name
-#endif
+#define SYS_ify(syscall_name)	__NR_##syscall_name
 
 /* This is a kludge to make syscalls.list find these under the names
    pread and pwrite, since some kernel headers define those names

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=421ff1c38d42f98a9a0922991c57639d66dbf144

commit 421ff1c38d42f98a9a0922991c57639d66dbf144
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:36:02 2012 -0400

    ia64: math: stub out new e_rem_pio2l func
    
    The ia64 math code stubs out the existing [er]_rem_*.c files, but the
    main tree has added a new one since its removal.  Stub out that new
    file too.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 6bdca2c..3d7abe5 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,9 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/fpu/e_rem_pio2l.c: New file.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/bits/fenv.h: Change __const to const.
 	* sysdeps/unix/sysv/linux/ia64/swapcontext.c: Likewise.
 
diff --git a/sysdeps/ia64/fpu/e_rem_pio2l.c b/sysdeps/ia64/fpu/e_rem_pio2l.c
new file mode 100644
index 0000000..41254ae
--- /dev/null
+++ b/sysdeps/ia64/fpu/e_rem_pio2l.c
@@ -0,0 +1 @@
+/* Not needed. */

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=293432b4af0862e35d74c1dc84cec496b6611daf

commit 293432b4af0862e35d74c1dc84cec496b6611daf
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:21:32 2012 -0400

    ia64: convert __const to const
    
    The main tree decided to drop support for pre-ISO C code, so we
    can use "const" instead of "__const".
    
    Processed with a simple sed script:
    
    find `find sysdeps/ -name ia64` -type f -exec sed -i \
    	's:\<__const\>:const:' {} +
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index f48cbf9..6bdca2c 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,10 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/bits/fenv.h: Change __const to const.
+	* sysdeps/unix/sysv/linux/ia64/swapcontext.c: Likewise.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/fpu/s_matherrf.c: Change "math.h" and "math_private.h"
 	to <math.h> and <math_private.h>.
 	* sysdeps/ia64/fpu/s_matherrl.c: Likewise.
diff --git a/sysdeps/ia64/bits/fenv.h b/sysdeps/ia64/bits/fenv.h
index 0422a95..342605d 100644
--- a/sysdeps/ia64/bits/fenv.h
+++ b/sysdeps/ia64/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2012 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
@@ -72,15 +72,15 @@ typedef unsigned long int fexcept_t;
 typedef unsigned long int fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((__const fenv_t *) 0xc009804c0270033fUL)
+#define FE_DFL_ENV	((const fenv_t *) 0xc009804c0270033fUL)
 
 #ifdef __USE_GNU
 /* Floating-point environment where only FE_UNNORMAL is masked since this
    exception is not generally supported by glibc.  */
-# define FE_NOMASK_ENV	((__const fenv_t *) 0xc009804c02700302UL)
+# define FE_NOMASK_ENV	((const fenv_t *) 0xc009804c02700302UL)
 
 /* Floating-point environment with (processor-dependent) non-IEEE
    floating point.  In this case, turning on flush-to-zero mode for
    s0, s2, and s3.  */
-# define FE_NONIEEE_ENV ((__const fenv_t *) 0xc009a04d0270037fUL)
+# define FE_NONIEEE_ENV ((const fenv_t *) 0xc009a04d0270037fUL)
 #endif
diff --git a/sysdeps/unix/sysv/linux/ia64/swapcontext.c b/sysdeps/unix/sysv/linux/ia64/swapcontext.c
index 2ccc2ee..20a20ac 100644
--- a/sysdeps/unix/sysv/linux/ia64/swapcontext.c
+++ b/sysdeps/unix/sysv/linux/ia64/swapcontext.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
      Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
 
@@ -25,7 +25,7 @@ struct rv
   };
 
 extern struct rv __getcontext (ucontext_t *__ucp) __THROW;
-extern int __setcontext (__const ucontext_t *__ucp) __THROW;
+extern int __setcontext (const ucontext_t *__ucp) __THROW;
 
 int
 __swapcontext (ucontext_t *oucp, const ucontext_t *ucp)

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=60318997b84ab88b1a89f649a9c7dd832439091e

commit 60318997b84ab88b1a89f649a9c7dd832439091e
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:19:02 2012 -0400

    ia64: convert "math{,_private}.h" to <math{,_private}.h>
    
    The main tree decided to change all these includes to <...>, so update
    the ia64 code accordingly.
    
    Processed with a simple sed script:
    
    find `find sysdeps/ -name ia64` -type f -exec sed -i \
    	-r '/include/s:"(math.h|math_private.h)":<\1>:' {} +
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 85a3129..f48cbf9 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,11 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/fpu/s_matherrf.c: Change "math.h" and "math_private.h"
+	to <math.h> and <math_private.h>.
+	* sysdeps/ia64/fpu/s_matherrl.c: Likewise.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/hp-timing.h: Change stdio-common/_itoa.h to _itoa.h.
 	* sysdeps/unix/sysv/linux/ia64/register-dump.h: Likewise.
 
diff --git a/sysdeps/ia64/fpu/s_matherrf.c b/sysdeps/ia64/fpu/s_matherrf.c
index 4b3033e..31f52aa 100644
--- a/sysdeps/ia64/fpu/s_matherrf.c
+++ b/sysdeps/ia64/fpu/s_matherrf.c
@@ -11,8 +11,8 @@
  */
 
 
-#include "math.h"
-#include "math_private.h"
+#include <math.h>
+#include <math_private.h>
 #include "libm_support.h"
 
 #ifdef __STDC__
diff --git a/sysdeps/ia64/fpu/s_matherrl.c b/sysdeps/ia64/fpu/s_matherrl.c
index 751cc6b..e0bf638 100644
--- a/sysdeps/ia64/fpu/s_matherrl.c
+++ b/sysdeps/ia64/fpu/s_matherrl.c
@@ -11,8 +11,8 @@
  */
 
 
-#include "math.h"
-#include "math_private.h"
+#include <math.h>
+#include <math_private.h>
 #include "libm_support.h"
 
 #ifdef __STDC__

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=6eeb0e8f7fc7c725a4605220c3f706b9eebdd83e

commit 6eeb0e8f7fc7c725a4605220c3f706b9eebdd83e
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:16:47 2012 -0400

    ia64: convert <stdio-common/_itoa.h> to <_itoa.h>
    
    The main tree relocated the _itoa.h header, so update our include
    paths to match.
    
    Processed with a simple sed script:
    
    find `find sysdeps/ -name ia64` -type f -exec sed -i \
    	'/<stdio-common._itoa.h>/s:<stdio-common/_itoa.h>:<_itoa.h>:' {} +
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index b8fb1ce..85a3129 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,10 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/hp-timing.h: Change stdio-common/_itoa.h to _itoa.h.
+	* sysdeps/unix/sysv/linux/ia64/register-dump.h: Likewise.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/crti.S: New file.
 	* sysdeps/ia64/crtn.S: Likewise.
 	* sysdeps/ia64/elf/initfini.c: Delete.
diff --git a/sysdeps/ia64/hp-timing.h b/sysdeps/ia64/hp-timing.h
index 2ee6237..93f091a 100644
--- a/sysdeps/ia64/hp-timing.h
+++ b/sysdeps/ia64/hp-timing.h
@@ -1,5 +1,5 @@
 /* High precision, low overhead timing functions.  IA-64 version.
-   Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
 
@@ -22,7 +22,7 @@
 
 #include <string.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <ia64intrin.h>
 
 /* The macros defined here use the timestamp counter in IA-64.  They
diff --git a/sysdeps/unix/sysv/linux/ia64/register-dump.h b/sysdeps/unix/sysv/linux/ia64/register-dump.h
index 42b99c3..ac34a81 100644
--- a/sysdeps/unix/sysv/linux/ia64/register-dump.h
+++ b/sysdeps/unix/sysv/linux/ia64/register-dump.h
@@ -1,5 +1,5 @@
 /* Dump registers.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
 
@@ -19,7 +19,7 @@
 
 #include <string.h>
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=d928ab870ea298961db30cb348e7f89b6225ff1b

commit d928ab870ea298961db30cb348e7f89b6225ff1b
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:28:03 2012 -0400

    ia64: initfini.c -> crt{i,n}.S split
    
    This was done mostly by looking at the processed crt{i,n}.S files in
    glibc-2.15, and then added the required update for using in either
    csu/ or nptl/.
    
    Seems to work -- when an earlier version didn't call the initializers,
    many tests (pthread related) failed.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index cb07ff5..b8fb1ce 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,12 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/crti.S: New file.
+	* sysdeps/ia64/crtn.S: Likewise.
+	* sysdeps/ia64/elf/initfini.c: Delete.
+	* sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c: Likewise.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/elf/configure.in: Merge contents to ...
 	* sysdeps/ia64/configure.in: ... here.
 	* sysdeps/ia64/elf/configure: Delete.
diff --git a/sysdeps/ia64/crti.S b/sysdeps/ia64/crti.S
new file mode 100644
index 0000000..ce13046
--- /dev/null
+++ b/sysdeps/ia64/crti.S
@@ -0,0 +1,160 @@
+/* Special .init and .fini section support for IA64.
+   Copyright (C) 2000-2012 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.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* crti.S puts a function prologue at the beginning of the .init and
+   .fini sections and defines global symbols for those addresses, so
+   they can be called as functions.  The symbols _init and _fini are
+   magic and cause the linker to emit DT_INIT and DT_FINI.  */
+
+#include <libc-symbols.h>
+#include <sysdep.h>
+#undef ret
+
+#ifndef PREINIT_FUNCTION
+# define PREINIT_FUNCTION __gmon_start__
+#endif
+
+#ifndef PREINIT_FUNCTION_WEAK
+# define PREINIT_FUNCTION_WEAK 1
+#endif
+
+#if PREINIT_FUNCTION_WEAK
+	weak_extern (PREINIT_FUNCTION)
+#else
+	.hidden PREINIT_FUNCTION
+#endif
+
+/* If we have working .init_array support, we want to keep the .init
+   section empty (apart from the mandatory prologue/epilogue.  This
+   ensures that the default unwind conventions (return-pointer in b0,
+   frame state in ar.pfs, etc.)  will do the Right Thing.  To ensure
+   an empty .init section, we register gmon_initializer() via the
+   .init_array.
+
+    --davidm 02/10/29 */
+
+#if PREINIT_FUNCTION_WEAK
+/* This blob of assembly code is one simple C function:
+
+static void
+__attribute__ ((used))
+gmon_initializer (void)
+{
+  extern void weak_function __gmon_start__ (void);
+
+  if (__gmon_start__)
+    (*__gmon_start__)();
+}
+ */
+	.text
+	.align 64
+	.proc gmon_initializer#
+gmon_initializer:
+	.prologue 12, 32
+	.mmi
+	.save ar.pfs, r33
+	alloc r33 = ar.pfs, 0, 3, 0, 0
+	addl r14 = @ltoff(@fptr(PREINIT_FUNCTION#)), gp
+	.save rp, r32
+	mov r32 = b0
+	.mmi
+	mov r34 = r1
+	.body
+	;;
+	ld8 r14 = [r14]
+	nop 0
+	;;
+	.mib
+	cmp.eq p6, p7 = 0, r14
+	nop 0
+	(p6) br.cond.spnt .L1
+	;;
+	.mib
+	nop 0
+	nop 0
+	br.call.sptk.many b0 = PREINIT_FUNCTION#
+	;;
+	.mmi
+	mov r1 = r34
+	nop 0
+	nop 0
+.L1:
+	.mii
+	nop 0
+	mov ar.pfs = r33
+	nop 0
+	;;
+	.mib
+	nop 0
+	mov b0 = r32
+	br.ret.sptk.many b0
+	.endp gmon_initializer#
+# undef PREINIT_FUNCTION
+# define PREINIT_FUNCTION gmon_initializer
+#endif
+	.section .init_array, "aw"
+	data8 @fptr(PREINIT_FUNCTION)
+
+	.section .init,"ax",@progbits
+	.global _init#
+	.proc _init#
+_init:
+	.prologue
+	.save ar.pfs, r34
+	alloc r34 = ar.pfs, 0, 3, 0, 0
+	.vframe r32
+	mov r32 = r12
+	.save rp, r33
+	mov r33 = b0
+	.body
+	adds r12 = -16, r12
+	;;		/* see gmon_initializer() above */
+	.endp _init#
+
+	.section .fini,"ax",@progbits
+	.global _fini#
+	.proc _fini#
+_fini:
+	.prologue
+	.save ar.pfs, r34
+	alloc r34 = ar.pfs, 0, 3, 0, 0
+	.vframe r32
+	mov r32 = r12
+	.save rp, r33
+	mov r33 = b0
+	.body
+	adds r12 = -16, r12
+	;;
+	.endp _fini#
diff --git a/sysdeps/ia64/crtn.S b/sysdeps/ia64/crtn.S
new file mode 100644
index 0000000..89b44d1
--- /dev/null
+++ b/sysdeps/ia64/crtn.S
@@ -0,0 +1,69 @@
+/* Special .init and .fini section support for ARM.
+   Copyright (C) 2000-2012 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.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#undef ret
+
+/* crtn.S puts function epilogues in the .init and .fini sections
+   corresponding to the prologues in crti.S. */
+
+	.section .init,"ax",@progbits
+	.proc _init#
+_init:
+	.prologue
+	.save ar.pfs, r34
+	.vframe r32
+	.save rp, r33
+	.body
+	.regstk 0,2,0,0
+	mov r12 = r32
+	mov ar.pfs = r34
+	mov b0 = r33
+	br.ret.sptk.many b0
+	.endp _init#
+
+	.section .fini,"ax",@progbits
+	.proc _fini#
+_fini:
+	.prologue
+	.save ar.pfs, r34
+	.vframe r32
+	.save rp, r33
+	.body
+	mov r12 = r32
+	mov ar.pfs = r34
+	mov b0 = r33
+	br.ret.sptk.many b0
+	.endp _fini#
diff --git a/sysdeps/ia64/elf/initfini.c b/sysdeps/ia64/elf/initfini.c
deleted file mode 100644
index 3cae895..0000000
--- a/sysdeps/ia64/elf/initfini.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Special .init and .fini section support for ia64.
-   Copyright (C) 2000, 2002, 2003, 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.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file. (The GNU Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   Note that people who make modified versions of this file are not
-   obligated to grant this special exception for their modified
-   versions; it is their choice whether to do so. The GNU Lesser
-   General Public License gives permission to release a modified
-   version without this exception; this exception also makes it
-   possible to release a modified version which carries forward this
-   exception.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * crti.s puts a function prologue at the beginning of the
-   .init and .fini sections and defines global symbols for
-   those addresses, so they can be called as functions.
-
-   * crtn.s puts the corresponding function epilogues
-   in the .init and .fini sections. */
-
-__asm__ ("\n\n"
-"#include \"defs.h\"\n"
-"\n"
-"/*@HEADER_ENDS*/\n"
-"\n"
-"/*@_init_PROLOG_BEGINS*/\n");
-
-
-/* If we have working .init_array support, we want to keep the .init
-   section empty (apart from the mandatory prologue/epilogue.  This
-   ensures that the default unwind conventions (return-pointer in b0,
-   frame state in ar.pfs, etc.)  will do the Right Thing.  To ensure
-   an empty .init section, we register gmon_initializer() via the
-   .init_array.
-
-	--davidm 02/10/29 */
-
-static void
-__attribute__ ((used))
-gmon_initializer (void)
-{
-  extern void weak_function __gmon_start__ (void);
-
-  if (__gmon_start__)
-    (*__gmon_start__)();
-}
-
-__asm__ (".section .init_array, \"aw\"\n"
-	 "\tdata8 @fptr(gmon_initializer)\n");
-
-
-__asm__ (".section .init\n"
-"	.global _init#\n"
-"	.proc _init#\n"
-"_init:\n"
-"	.prologue\n"
-"	.save ar.pfs, r34\n"
-"	alloc r34 = ar.pfs, 0, 3, 0, 0\n"
-"	.vframe r32\n"
-"	mov r32 = r12\n"
-"	.save rp, r33\n"
-"	mov r33 = b0\n"
-"	.body\n"
-"	adds r12 = -16, r12\n"
-"	;;\n"		/* see gmon_initializer() above */
-"	.endp _init#\n"
-"\n"
-"/*@_init_PROLOG_ENDS*/\n"
-"\n"
-"/*@_init_EPILOG_BEGINS*/\n"
-"	.section .init\n"
-"	.proc _init#\n"
-"_init:\n"
-"	.prologue\n"
-"	.save ar.pfs, r34\n"
-"	.vframe r32\n"
-"	.save rp, r33\n"
-"	.body\n"
-"	.regstk 0,2,0,0\n"
-"	mov r12 = r32\n"
-"	mov ar.pfs = r34\n"
-"	mov b0 = r33\n"
-"	br.ret.sptk.many b0\n"
-"	.endp _init#\n"
-"/*@_init_EPILOG_ENDS*/\n"
-"\n"
-"/*@_fini_PROLOG_BEGINS*/\n"
-"	.section .fini\n"
-"	.global _fini#\n"
-"	.proc _fini#\n"
-"_fini:\n"
-"	.prologue\n"
-"	.save ar.pfs, r34\n"
-"	alloc r34 = ar.pfs, 0, 3, 0, 0\n"
-"	.vframe r32\n"
-"	mov r32 = r12\n"
-"	.save rp, r33\n"
-"	mov r33 = b0\n"
-"	.body\n"
-"	adds r12 = -16, r12\n"
-"	;;\n"
-"	.endp _fini#\n"
-"\n"
-"/*@_fini_PROLOG_ENDS*/\n"
-"	br.call.sptk.many b0 = i_am_not_a_leaf# ;;\n"
-"	;;\n"
-"\n"
-"/*@_fini_EPILOG_BEGINS*/\n"
-"	.section .fini\n"
-"	.proc _fini#\n"
-"_fini:\n"
-"	.prologue\n"
-"	.save ar.pfs, r34\n"
-"	.vframe r32\n"
-"	.save rp, r33\n"
-"	.body\n"
-"	mov r12 = r32\n"
-"	mov ar.pfs = r34\n"
-"	mov b0 = r33\n"
-"	br.ret.sptk.many b0\n"
-"	.endp _fini#\n"
-"\n"
-"/*@_fini_EPILOG_ENDS*/\n"
-"\n"
-"/*@TRAILER_BEGINS*/\n"
-);
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c b/sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c
deleted file mode 100644
index b6d2cec..0000000
--- a/sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Special .init and .fini section support for ia64. NPTL version.
-   Copyright (C) 2000, 2001, 2002, 2003, 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.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file.  (The Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   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; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * crti.s puts a function prologue at the beginning of the
-   .init and .fini sections and defines global symbols for
-   those addresses, so they can be called as functions.
-
-   * crtn.s puts the corresponding function epilogues
-   in the .init and .fini sections. */
-
-#include <stddef.h>
-
-
-__asm__ ("\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-	.xdata8 \".init_array\",@fptr(__pthread_initialize_minimal_internal)\n\
-/*@_init_PROLOG_ENDS*/\n\
-");

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=fd916d779be7ffa3e69c125dadf194e7ddd91cbc

commit fd916d779be7ffa3e69c125dadf194e7ddd91cbc
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:30:43 2012 -0400

    ia64: merge sysdeps/ia64/elf/ into sysdeps/ia64/
    
    Moved the files, and then pasted the configure.in contents into the
    parent file.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 24f310a..cb07ff5 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,16 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/elf/configure.in: Merge contents to ...
+	* sysdeps/ia64/configure.in: ... here.
+	* sysdeps/ia64/elf/configure: Delete.
+	* sysdeps/ia64/configure: Regenerate.
+	* sysdeps/ia64/elf/entry.h: Move to ...
+	* sysdeps/ia64/entry.h: ... here.
+	* sysdeps/ia64/elf/start.S: Move to ...
+	* sysdeps/ia64/start.S: ... here.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/elf/stackguard-macros.h: New stub include file.
 	* sysdeps/ia64/ldsodefs.h: Move ia64 logic from
 	sysdeps/generic/ldsodefs.h.
diff --git a/sysdeps/ia64/configure b/sysdeps/ia64/configure
index 67a4b7e..a3a1137 100644
--- a/sysdeps/ia64/configure
+++ b/sysdeps/ia64/configure
@@ -1,9 +1,91 @@
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/ia64.
 
-{ $as_echo "$as_me:$LINENO: checking if -g produces usable source locations for assembler-with-cpp" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -g produces usable source locations for assembler-with-cpp" >&5
 $as_echo_n "checking if -g produces usable source locations for assembler-with-cpp... " >&6; }
-if test "${libc_cv_cpp_asm_debuginfo+set}" = set; then
+if ${libc_cv_cpp_asm_debuginfo+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat > conftest.S <<EOF
@@ -24,19 +106,19 @@ foo:
 	nop.b	0;;
 EOF
 if { ac_try='${CC-cc} $CPPFLAGS $ASFLAGS -g -c conftest.S 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } && {
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } && {
    ac_pattern='conftest\.S'
    { ac_try='readelf --debug-dump=line conftest.o |
 		   grep $ac_pattern 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
   }; then
   libc_cv_cpp_asm_debuginfo=yes
 else
@@ -44,11 +126,51 @@ else
 fi
 rm -f conftest*
 fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_cpp_asm_debuginfo" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cpp_asm_debuginfo" >&5
 $as_echo "$libc_cv_cpp_asm_debuginfo" >&6; }
 if test $libc_cv_cpp_asm_debuginfo = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_CPP_ASM_DEBUGINFO 1
-_ACEOF
+  $as_echo "#define HAVE_CPP_ASM_DEBUGINFO 1" >>confdefs.h
 
 fi
+
+# Check for support of thread-local storage handling in assembler and
+# linker.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ia64 TLS support" >&5
+$as_echo_n "checking for ia64 TLS support... " >&6; }
+if ${libc_cv_ia64_tls+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat > conftest.s <<\EOF
+	.section ".tdata","awT",@progbits
+foo:    data8   25
+	.text
+	addl    r16 = @ltoff(@dtpmod(foo#)), gp
+	addl    r17 = @ltoff(@dtprel(foo#)), gp
+	addl    r18 = @ltoff(@tprel(foo#)), gp
+	addl    r19 = @dtprel(foo#), gp
+	adds    r21 = @dtprel(foo#), r13
+	movl    r23 = @dtprel(foo#)
+	addl    r20 = @tprel(foo#), gp
+	adds    r22 = @tprel(foo#), r13
+	movl    r24 = @tprel(foo#)
+EOF
+if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+  libc_cv_ia64_tls=yes
+else
+  libc_cv_ia64_tls=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ia64_tls" >&5
+$as_echo "$libc_cv_ia64_tls" >&6; }
+if test $libc_cv_ia64_tls = no; then
+  as_fn_error $? "the assembler must support TLS" "$LINENO" 5
+fi
+
+$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
+
diff --git a/sysdeps/ia64/configure.in b/sysdeps/ia64/configure.in
index 887b4cb..5f1b112 100644
--- a/sysdeps/ia64/configure.in
+++ b/sysdeps/ia64/configure.in
@@ -33,3 +33,35 @@ rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
 if test $libc_cv_cpp_asm_debuginfo = yes; then
   AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
 fi
+
+# Check for support of thread-local storage handling in assembler and
+# linker.
+AC_CACHE_CHECK(for ia64 TLS support, libc_cv_ia64_tls, [dnl
+cat > conftest.s <<\EOF
+	.section ".tdata","awT",@progbits
+foo:    data8   25
+	.text
+	addl    r16 = @ltoff(@dtpmod(foo#)), gp
+	addl    r17 = @ltoff(@dtprel(foo#)), gp
+	addl    r18 = @ltoff(@tprel(foo#)), gp
+	addl    r19 = @dtprel(foo#), gp
+	adds    r21 = @dtprel(foo#), r13
+	movl    r23 = @dtprel(foo#)
+	addl    r20 = @tprel(foo#), gp
+	adds    r22 = @tprel(foo#), r13
+	movl    r24 = @tprel(foo#)
+EOF
+dnl
+if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+  libc_cv_ia64_tls=yes
+else
+  libc_cv_ia64_tls=no
+fi
+rm -f conftest*])
+if test $libc_cv_ia64_tls = no; then
+  AC_MSG_ERROR([the assembler must support TLS])
+fi
+
+dnl It is always possible to access static and hidden symbols in an
+dnl position independent way.
+AC_DEFINE(PI_STATIC_AND_HIDDEN)
diff --git a/sysdeps/ia64/elf/configure b/sysdeps/ia64/elf/configure
deleted file mode 100644
index aa30dd0..0000000
--- a/sysdeps/ia64/elf/configure
+++ /dev/null
@@ -1,126 +0,0 @@
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
- # Local configure fragment for sysdeps/ia64/elf.
-
-# Check for support of thread-local storage handling in assembler and
-# linker.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ia64 TLS support" >&5
-$as_echo_n "checking for ia64 TLS support... " >&6; }
-if ${libc_cv_ia64_tls+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.s <<\EOF
-	.section ".tdata","awT",@progbits
-foo:    data8   25
-	.text
-	addl    r16 = @ltoff(@dtpmod(foo#)), gp
-	addl    r17 = @ltoff(@dtprel(foo#)), gp
-	addl    r18 = @ltoff(@tprel(foo#)), gp
-	addl    r19 = @dtprel(foo#), gp
-	adds    r21 = @dtprel(foo#), r13
-	movl    r23 = @dtprel(foo#)
-	addl    r20 = @tprel(foo#), gp
-	adds    r22 = @tprel(foo#), r13
-	movl    r24 = @tprel(foo#)
-EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-  libc_cv_ia64_tls=yes
-else
-  libc_cv_ia64_tls=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ia64_tls" >&5
-$as_echo "$libc_cv_ia64_tls" >&6; }
-if test $libc_cv_ia64_tls = no; then
-  as_fn_error $? "the assembler must support TLS" "$LINENO" 5
-fi
-
-$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
-
diff --git a/sysdeps/ia64/elf/configure.in b/sysdeps/ia64/elf/configure.in
deleted file mode 100644
index 396b9c4..0000000
--- a/sysdeps/ia64/elf/configure.in
+++ /dev/null
@@ -1,34 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/ia64/elf.
-
-# Check for support of thread-local storage handling in assembler and
-# linker.
-AC_CACHE_CHECK(for ia64 TLS support, libc_cv_ia64_tls, [dnl
-cat > conftest.s <<\EOF
-	.section ".tdata","awT",@progbits
-foo:    data8   25
-	.text
-	addl    r16 = @ltoff(@dtpmod(foo#)), gp
-	addl    r17 = @ltoff(@dtprel(foo#)), gp
-	addl    r18 = @ltoff(@tprel(foo#)), gp
-	addl    r19 = @dtprel(foo#), gp
-	adds    r21 = @dtprel(foo#), r13
-	movl    r23 = @dtprel(foo#)
-	addl    r20 = @tprel(foo#), gp
-	adds    r22 = @tprel(foo#), r13
-	movl    r24 = @tprel(foo#)
-EOF
-dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
-  libc_cv_ia64_tls=yes
-else
-  libc_cv_ia64_tls=no
-fi
-rm -f conftest*])
-if test $libc_cv_ia64_tls = no; then
-  AC_MSG_ERROR([the assembler must support TLS])
-fi
-
-dnl It is always possible to access static and hidden symbols in an
-dnl position independent way.
-AC_DEFINE(PI_STATIC_AND_HIDDEN)
diff --git a/sysdeps/ia64/elf/entry.h b/sysdeps/ia64/entry.h
similarity index 100%
rename from sysdeps/ia64/elf/entry.h
rename to sysdeps/ia64/entry.h
diff --git a/sysdeps/ia64/elf/start.S b/sysdeps/ia64/start.S
similarity index 100%
rename from sysdeps/ia64/elf/start.S
rename to sysdeps/ia64/start.S

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=15be91c2a0f89940d6d6dc69fa698a32f6ee3078

commit 15be91c2a0f89940d6d6dc69fa698a32f6ee3078
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:52:56 2012 -0400

    ia64: add split-out settings into dedicated files
    
    Logic specific to ia64 used to live in the main tree in common files.
    Now that we can't do that (with #ifdef and such), we need to add that
    logic into dedicated overriding files.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 07dc47c..24f310a 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,5 +1,24 @@
 2012-04-27  Mike Frysinger  <vapier@gentoo.org>
 
+	* sysdeps/ia64/elf/stackguard-macros.h: New stub include file.
+	* sysdeps/ia64/ldsodefs.h: Move ia64 logic from
+	sysdeps/generic/ldsodefs.h.
+	* sysdeps/ia64/nptl/shlib-versions: Move ia64 logic from
+	nptl/shlib-versions.
+	* sysdeps/ia64/preconfigure: Move ia64 logic from configure.in.
+	* sysdeps/ia64/shlib-versions: Move ia64 logic from shlib-versions.
+	* sysdeps/ia64/stackguard-macros.h: Move ia64 logic from
+	elf/stackguard-macros.h.
+	* sysdeps/ia64/tls-macros.h: Move ia64 logic from elf/tls-macros.h.
+	* sysdeps/ia64/tst-audit.h: Move ia64 logic from elf/tst-auditmod1.c.
+	* sysdeps/unix/sysv/linux/ia64/configure.in: Move ia64 logic from
+	sysdeps/unix/sysv/linux/configure.
+	* sysdeps/unix/sysv/linux/ia64/configure: Generate.
+	* sysdeps/unix/sysv/linux/ia64/kernel-features.h: Move ia64 logic
+	from sysdeps/unix/sysv/linux/kernel-features.h.
+
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
 	* sysdeps/ia64/backtrace.c: Replace all contents with a single
 	include of sysdeps/x86_64/backtrace.c.
 	* sysdeps/unix/sysv/linux/ia64/nptl/fork.c: Change include path
diff --git a/sysdeps/ia64/elf/stackguard-macros.h b/sysdeps/ia64/elf/stackguard-macros.h
new file mode 100644
index 0000000..606ad58
--- /dev/null
+++ b/sysdeps/ia64/elf/stackguard-macros.h
@@ -0,0 +1,3 @@
+/* Tests in nptl/ look for <elf/stackguard-macros.h> while tests
+   in elf/ look for <stackguard-macros.h>.  Provide both.  */
+#include "../stackguard-macros.h"
diff --git a/sysdeps/ia64/ldsodefs.h b/sysdeps/ia64/ldsodefs.h
new file mode 100644
index 0000000..269319e
--- /dev/null
+++ b/sysdeps/ia64/ldsodefs.h
@@ -0,0 +1,42 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects.
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __LDSODEFS_H
+
+#include <elf.h>
+
+struct La_ia64_regs;
+struct La_ia64_retval;
+
+#define ARCH_PLTENTER_MEMBERS						\
+    Elf64_Addr (*ia64_gnu_pltenter) (Elf64_Sym *, unsigned int,		\
+				     uintptr_t *, uintptr_t *,		\
+				     const struct La_ia64_regs *,	\
+				     unsigned int *, const char *name,  \
+				     long int *framesizep);
+
+#define ARCH_PLTEXIT_MEMBERS						\
+    unsigned int (*ia64_gnu_pltexit) (Elf64_Sym *, unsigned int,	\
+				      uintptr_t *, uintptr_t *,		\
+				      const struct La_ia64_regs *,	\
+				      struct La_ia64_retval *,		\
+				      const char *);
+
+#include_next <ldsodefs.h>
+
+#endif
diff --git a/sysdeps/ia64/nptl/shlib-versions b/sysdeps/ia64/nptl/shlib-versions
new file mode 100644
index 0000000..90015eb
--- /dev/null
+++ b/sysdeps/ia64/nptl/shlib-versions
@@ -0,0 +1 @@
+ia64.*-.*-linux.*	libpthread=0		GLIBC_2.2
diff --git a/sysdeps/ia64/preconfigure b/sysdeps/ia64/preconfigure
new file mode 100644
index 0000000..76cb729
--- /dev/null
+++ b/sysdeps/ia64/preconfigure
@@ -0,0 +1,3 @@
+case "$machine" in
+ia64*)		libc_commonpagesize=0x4000 ;;
+esac
diff --git a/sysdeps/ia64/shlib-versions b/sysdeps/ia64/shlib-versions
new file mode 100644
index 0000000..b41f6c2
--- /dev/null
+++ b/sysdeps/ia64/shlib-versions
@@ -0,0 +1,6 @@
+ia64-.*-linux.*		libc=6.1		GLIBC_2.2
+ia64-.*-linux.*		libm=6.1		GLIBC_2.2
+
+ia64-.*-linux.*		ld=ld-linux-ia64.so.2	GLIBC_2.2
+
+ia64-.*-.*		libBrokenLocale=1	GLIBC_2.2
diff --git a/sysdeps/ia64/stackguard-macros.h b/sysdeps/ia64/stackguard-macros.h
new file mode 100644
index 0000000..dc683c2
--- /dev/null
+++ b/sysdeps/ia64/stackguard-macros.h
@@ -0,0 +1,4 @@
+#include <stdint.h>
+
+#define STACK_CHK_GUARD \
+  ({ uintptr_t x; asm ("adds %0 = -8, r13;; ld8 %0 = [%0]" : "=r" (x)); x; })
diff --git a/sysdeps/ia64/tls-macros.h b/sysdeps/ia64/tls-macros.h
new file mode 100644
index 0000000..13b216d
--- /dev/null
+++ b/sysdeps/ia64/tls-macros.h
@@ -0,0 +1,66 @@
+/* Macros to support TLS testing in times of missing compiler support.  */
+
+extern void *__tls_get_addr (void *);
+
+# define TLS_LE(x) \
+  ({ void *__l;								      \
+     asm ("mov r2=r13\n\t"						      \
+         ";;\n\t"							      \
+         "addl %0=@tprel(" #x "),r2\n\t"				      \
+         : "=r" (__l) : : "r2"  ); __l; })
+
+# define TLS_IE(x) \
+  ({ void *__l;								      \
+     register long __gp asm ("gp");					      \
+     asm (";;\n\t"							      \
+	 "addl r16=@ltoff(@tprel(" #x ")),gp\n\t"			      \
+         ";;\n\t"							      \
+         "ld8 r17=[r16]\n\t"						      \
+         ";;\n\t"							      \
+         "add %0=r13,r17\n\t"						      \
+         ";;\n\t"							      \
+         : "=r" (__l) : "r" (__gp) : "r16", "r17" ); __l; })
+
+# define __TLS_CALL_CLOBBERS \
+  "r2", "r3", "r8", "r9", "r10", "r11", "r14", "r15", "r16", "r17",	      \
+  "r18", "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26",	      \
+  "r27", "r28", "r29", "r30", "r31",					      \
+  "p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13", "p14", "p15",	      \
+  "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",	      \
+  "b6", "b7",								      \
+  "out0", "out1", "out2", "out3", "out4", "out5", "out6", "out7"
+
+# define TLS_LD(x) \
+  ({ void *__l;								      \
+     register long __gp asm ("gp");					      \
+     asm (";;\n\t"							      \
+	 "mov loc0=gp\n\t"						      \
+         "addl r16=@ltoff(@dtpmod(" #x ")),gp\n\t"			      \
+         "addl out1=@dtprel(" #x "),r0\n\t"				      \
+         ";;\n\t"							      \
+         "ld8 out0=[r16]\n\t"						      \
+         "br.call.sptk.many b0=__tls_get_addr"				      \
+         ";;\n\t"							      \
+         "mov gp=loc0\n\t"						      \
+         "mov %0=r8\n\t"						      \
+         ";;\n\t"							      \
+         : "=r" (__l) : "r" (__gp) : "loc0", __TLS_CALL_CLOBBERS);	      \
+     __l; })
+
+# define TLS_GD(x) \
+  ({ void *__l;								      \
+     register long __gp asm ("gp");					      \
+     asm (";;\n\t"							      \
+	 "mov loc0=gp\n\t"						      \
+         "addl r16=@ltoff(@dtpmod(" #x ")),gp\n\t"			      \
+         "addl r17=@ltoff(@dtprel(" #x ")),gp\n\t"			      \
+         ";;\n\t"							      \
+         "ld8 out0=[r16]\n\t"						      \
+         "ld8 out1=[r17]\n\t"						      \
+         "br.call.sptk.many b0=__tls_get_addr"				      \
+         ";;\n\t"							      \
+         "mov gp=loc0\n\t"						      \
+         "mov %0=r8\n\t"						      \
+         ";;\n\t"							      \
+          : "=r" (__l) : "r" (__gp) : "loc0", __TLS_CALL_CLOBBERS);	      \
+     __l; })
diff --git a/sysdeps/ia64/tst-audit.h b/sysdeps/ia64/tst-audit.h
new file mode 100644
index 0000000..cb4af25
--- /dev/null
+++ b/sysdeps/ia64/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  IA64 version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_ia64_gnu_pltenter
+#define pltexit la_ia64_gnu_pltexit
+#define La_regs La_ia64_regs
+#define La_retval La_ia64_retval
+#define int_retval lrv_r8
diff --git a/sysdeps/unix/sysv/linux/ia64/configure b/sysdeps/unix/sysv/linux/ia64/configure
new file mode 100644
index 0000000..3d025f9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/configure
@@ -0,0 +1,10 @@
+# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/ia64
+
+# There are several bits that no longer compile cleanly without
+# realtime signal support (ver 2.2.0).  Given that we also now
+# require TLS (ver 2.6.0), it seems pointless to fix them.
+# ??? Surely this should now be the generic default.
+arch_minimum_kernel=2.6.0
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/ia64/configure.in b/sysdeps/unix/sysv/linux/ia64/configure.in
new file mode 100644
index 0000000..99057b8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/configure.in
@@ -0,0 +1,10 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/ia64
+
+# There are several bits that no longer compile cleanly without
+# realtime signal support (ver 2.2.0).  Given that we also now
+# require TLS (ver 2.6.0), it seems pointless to fix them.
+# ??? Surely this should now be the generic default.
+arch_minimum_kernel=2.6.0
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/ia64/kernel-features.h b/sysdeps/unix/sysv/linux/ia64/kernel-features.h
new file mode 100644
index 0000000..3e97260
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/kernel-features.h
@@ -0,0 +1,58 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 2010-2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _KERNEL_FEATURES_H
+#define _KERNEL_FEATURES_H 1
+
+/* The late 2.5 kernels saw a lot of new CLONE_* flags.  Summarize
+   their availability with one define.  */
+#if __LINUX_KERNEL_VERSION >= 132416
+# define __ASSUME_CLONE_THREAD_FLAGS   1
+#endif
+
+/* The utimes syscall has been available for some architectures
+   forever.  */
+#define __ASSUME_UTIMES	1
+
+/* pselect/ppoll were introduced just after 2.6.16-rc1.  Due to the way
+   the kernel versions are advertised we can only rely on 2.6.17 to have
+   the code.  */
+#if __LINUX_KERNEL_VERSION >= 0x020616
+# define __ASSUME_PSELECT	1
+# define __ASSUME_PPOLL		1
+#endif
+
+/* Support for various CLOEXEC and NONBLOCK flags was added in 2.6.23.  */
+#if __LINUX_KERNEL_VERSION >= 0x020617
+# define __ASSUME_O_CLOEXEC	1
+#endif
+
+/* Support for various CLOEXEC and NONBLOCK flags was added in 2.6.27.  */
+#if __LINUX_KERNEL_VERSION >= 0x02061b
+# define __ASSUME_SOCK_CLOEXEC	1
+# define __ASSUME_IN_NONBLOCK	1
+# define __ASSUME_PIPE2		1
+# define __ASSUME_EVENTFD2	1
+# define __ASSUME_SIGNALFD4	1
+# define __ASSUME_DUP3		1
+#endif
+
+#include_next <kernel-features.h>
+
+#endif /* _KERNEL_FEATURES_H */

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=5f870869a601ea2c5d25d4560187c82722806a32

commit 5f870869a601ea2c5d25d4560187c82722806a32
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Apr 16 22:46:52 2012 -0400

    ia64: update include paths
    
    We need to update the file paths after the ia64 code was moved from
    the main tree to ports/.  In the case of backtrace.c, the main tree
    actually copied the ia64 version to the x86_64 code, so we can go
    ahead and drop the ia64 version.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

diff --git a/ChangeLog.ia64 b/ChangeLog.ia64
index 456360e..07dc47c 100644
--- a/ChangeLog.ia64
+++ b/ChangeLog.ia64
@@ -1,3 +1,17 @@
+2012-04-27  Mike Frysinger  <vapier@gentoo.org>
+
+	* sysdeps/ia64/backtrace.c: Replace all contents with a single
+	include of sysdeps/x86_64/backtrace.c.
+	* sysdeps/unix/sysv/linux/ia64/nptl/fork.c: Change include path
+	prefix from ../ to sysdeps/unix/sysv/linux/, and "..." to <...>.
+	* sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c,
+	sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c,
+	sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c,
+	sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c,
+	sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c,
+	sysdeps/unix/sysv/linux/ia64/sysconf.c,
+	sysdeps/unix/sysv/linux/ia64/system.c: Likewise.
+
 2012-04-25  Mike Frysinger  <vapier@gentoo.org>
 
 	* sysdeps/unix/sysv/linux/ia64/nptl/bits/local_lim.h: Replace
diff --git a/sysdeps/ia64/backtrace.c b/sysdeps/ia64/backtrace.c
index 7c1f33f..27ce597 100644
--- a/sysdeps/ia64/backtrace.c
+++ b/sysdeps/ia64/backtrace.c
@@ -1,132 +1 @@
-/* Return backtrace of current program state.
-   Copyright (C) 2003-2005, 2007, 2009, 2011 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <bits/libc-lock.h>
-#include <dlfcn.h>
-#include <execinfo.h>
-#include <stdlib.h>
-#include <unwind.h>
-
-struct trace_arg
-{
-  void **array;
-  _Unwind_Word cfa;
-  int cnt;
-  int size;
-};
-
-#ifdef SHARED
-static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *);
-static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *);
-static _Unwind_Word (*unwind_getcfa) (struct _Unwind_Context *);
-static void *libgcc_handle;
-
-
-/* Dummy version in case libgcc_s does not contain the real code.  */
-static _Unwind_Word
-dummy_getcfa (struct _Unwind_Context *ctx __attribute__ ((unused)))
-{
-  return 0;
-}
-
-
-static void
-init (void)
-{
-  libgcc_handle = __libc_dlopen ("libgcc_s.so.1");
-
-  if (libgcc_handle == NULL)
-    return;
-
-  unwind_backtrace = __libc_dlsym (libgcc_handle, "_Unwind_Backtrace");
-  unwind_getip = __libc_dlsym (libgcc_handle, "_Unwind_GetIP");
-  if (unwind_getip == NULL)
-    unwind_backtrace = NULL;
-  unwind_getcfa = (__libc_dlsym (libgcc_handle, "_Unwind_GetCFA")
-		   ?: dummy_getcfa);
-}
-#else
-# define unwind_backtrace _Unwind_Backtrace
-# define unwind_getip _Unwind_GetIP
-# define unwind_getcfa _Unwind_GetCFA
-#endif
-
-static _Unwind_Reason_Code
-backtrace_helper (struct _Unwind_Context *ctx, void *a)
-{
-  struct trace_arg *arg = a;
-
-  /* We are first called with address in the __backtrace function.
-     Skip it.  */
-  if (arg->cnt != -1)
-    {
-      arg->array[arg->cnt] = (void *) unwind_getip (ctx);
-
-      /* Check whether we make any progress.  */
-      _Unwind_Word cfa = unwind_getcfa (ctx);
-
-      if (arg->cnt > 0 && arg->array[arg->cnt - 1] == arg->array[arg->cnt]
-	  && cfa == arg->cfa)
-	return _URC_END_OF_STACK;
-      arg->cfa = cfa;
-    }
-  if (++arg->cnt == arg->size)
-    return _URC_END_OF_STACK;
-  return _URC_NO_REASON;
-}
-
-int
-__backtrace (array, size)
-     void **array;
-     int size;
-{
-  struct trace_arg arg = { .array = array, .cfa = 0, .size = size, .cnt = -1 };
-#ifdef SHARED
-  __libc_once_define (static, once);
-
-  __libc_once (once, init);
-  if (unwind_backtrace == NULL)
-    return 0;
-#endif
-
-  if (size >= 1)
-    unwind_backtrace (backtrace_helper, &arg);
-
-  /* _Unwind_Backtrace on IA-64 seems to put NULL address above
-     _start.  Fix it up here.  */
-  if (arg.cnt > 1 && arg.array[arg.cnt - 1] == NULL)
-    --arg.cnt;
-  return arg.cnt != -1 ? arg.cnt : 0;
-}
-weak_alias (__backtrace, backtrace)
-libc_hidden_def (__backtrace)
-
-
-#ifdef SHARED
-/* Free all resources if necessary.  */
-libc_freeres_fn (free_mem)
-{
-  unwind_backtrace = NULL;
-  if (libgcc_handle != NULL)
-    {
-      __libc_dlclose (libgcc_handle);
-      libgcc_handle = NULL;
-    }
-}
-#endif
+#include <sysdeps/x86_64/backtrace.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/fork.c b/sysdeps/unix/sysv/linux/ia64/nptl/fork.c
index 6770dd2..9767d2a 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/fork.c
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/fork.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -27,4 +27,4 @@
 		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	      \
 		  NULL, 0, NULL, &THREAD_SELF->tid, NULL)
 
-#include "../fork.c"
+#include <sysdeps/unix/sysv/linux/fork.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c b/sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c
index 172223a..1ac4c6a 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c
@@ -1 +1 @@
-#include "../x86_64/timer_create.c"
+#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_create.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c b/sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c
index 537516e..9bffef3 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c
@@ -1 +1 @@
-#include "../x86_64/timer_delete.c"
+#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_delete.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c b/sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c
index 3f21a73..24533a0 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c
@@ -1 +1 @@
-#include "../x86_64/timer_getoverr.c"
+#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c b/sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c
index a50143a..c110669 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c
@@ -1 +1 @@
-#include "../x86_64/timer_gettime.c"
+#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c b/sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c
index 37baeff..93d4ad9 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c
@@ -1 +1 @@
-#include "../x86_64/timer_settime.c"
+#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/sysconf.c b/sysdeps/unix/sysv/linux/ia64/sysconf.c
index 2ff8324..3cfb0a9 100644
--- a/sysdeps/unix/sysv/linux/ia64/sysconf.c
+++ b/sysdeps/unix/sysv/linux/ia64/sysconf.c
@@ -1,5 +1,5 @@
 /* Get file-specific information about a file.  Linux/ia64 version.
-   Copyright (C) 2003, 2004, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2012 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
@@ -27,4 +27,4 @@
 
 
 /* Now the generic Linux version.  */
-#include "../sysconf.c"
+#include <sysdeps/unix/sysv/linux/sysconf.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/system.c b/sysdeps/unix/sysv/linux/ia64/system.c
index d029cdf..f02a99e 100644
--- a/sysdeps/unix/sysv/linux/ia64/system.c
+++ b/sysdeps/unix/sysv/linux/ia64/system.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2012 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
@@ -31,4 +31,4 @@
 		  &pid, NULL, NULL)
 #endif
 
-#include "../system.c"
+#include <sysdeps/unix/sysv/linux/system.c>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog.ia64                                     |  123 ++++++++++++++++
 sysdeps/ia64/backtrace.c                           |  133 +-----------------
 sysdeps/ia64/bits/byteswap-16.h                    |   42 ++++++
 sysdeps/ia64/bits/byteswap.h                       |   26 +---
 sysdeps/ia64/bits/fenv.h                           |    8 +-
 sysdeps/ia64/configure                             |  146 +++++++++++++++++--
 sysdeps/ia64/configure.in                          |   32 ++++
 sysdeps/{mips/mips64/n32 => ia64}/crti.S           |  133 +++++++++++++----
 sysdeps/{arm => ia64}/crtn.S                       |   46 ++++--
 sysdeps/ia64/dl-tls.h                              |    3 +-
 sysdeps/ia64/elf/configure                         |  126 ----------------
 sysdeps/ia64/elf/configure.in                      |   34 -----
 sysdeps/ia64/elf/initfini.c                        |  151 --------------------
 sysdeps/ia64/elf/stackguard-macros.h               |    3 +
 sysdeps/ia64/{elf => }/entry.h                     |    0
 sysdeps/ia64/fpu/{s_ilogbl.S => e_ilogbl.S}        |    4 +-
 sysdeps/ia64/fpu/{e_atan2l.c => e_rem_pio2l.c}     |    0
 sysdeps/ia64/fpu/s_matherrf.c                      |   17 +--
 sysdeps/ia64/fpu/s_matherrl.c                      |   17 +--
 sysdeps/ia64/fpu/s_scalbn.c                        |    4 +-
 sysdeps/ia64/fpu/s_scalbnf.c                       |    4 +-
 sysdeps/ia64/fpu/s_scalbnl.c                       |    4 +-
 sysdeps/ia64/hp-timing.h                           |    4 +-
 sysdeps/{alpha => ia64}/ldsodefs.h                 |   14 +-
 sysdeps/ia64/nptl/shlib-versions                   |    1 +
 sysdeps/ia64/preconfigure                          |    3 +
 sysdeps/ia64/shlib-versions                        |    6 +
 sysdeps/ia64/stackguard-macros.h                   |    4 +
 sysdeps/ia64/{elf => }/start.S                     |    0
 sysdeps/ia64/tls-macros.h                          |   66 +++++++++
 sysdeps/{alpha => ia64}/tst-audit.h                |   12 +-
 sysdeps/unix/sysv/linux/ia64/bits/mman.h           |    5 +-
 sysdeps/unix/sysv/linux/{alpha => ia64}/configure  |    5 +-
 .../unix/sysv/linux/{alpha => ia64}/configure.in   |    5 +-
 sysdeps/unix/sysv/linux/ia64/kernel-features.h     |   63 ++++++++
 .../unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h  |   10 +-
 sysdeps/unix/sysv/linux/ia64/nptl/fork.c           |    4 +-
 sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c    |   50 -------
 sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c   |    2 +-
 sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c   |    2 +-
 sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c |    2 +-
 sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c  |    2 +-
 sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c  |    2 +-
 sysdeps/unix/sysv/linux/ia64/register-dump.h       |    4 +-
 sysdeps/unix/sysv/linux/ia64/swapcontext.c         |    4 +-
 sysdeps/unix/sysv/linux/ia64/sys/ucontext.h        |    4 +-
 sysdeps/unix/sysv/linux/ia64/sysconf.c             |    4 +-
 sysdeps/unix/sysv/linux/ia64/sysdep.h              |    9 +-
 sysdeps/unix/sysv/linux/ia64/system.c              |    4 +-
 49 files changed, 688 insertions(+), 659 deletions(-)
 create mode 100644 sysdeps/ia64/bits/byteswap-16.h
 copy sysdeps/{mips/mips64/n32 => ia64}/crti.S (55%)
 copy sysdeps/{arm => ia64}/crtn.S (79%)
 delete mode 100644 sysdeps/ia64/elf/configure
 delete mode 100644 sysdeps/ia64/elf/configure.in
 delete mode 100644 sysdeps/ia64/elf/initfini.c
 create mode 100644 sysdeps/ia64/elf/stackguard-macros.h
 rename sysdeps/ia64/{elf => }/entry.h (100%)
 rename sysdeps/ia64/fpu/{s_ilogbl.S => e_ilogbl.S} (99%)
 copy sysdeps/ia64/fpu/{e_atan2l.c => e_rem_pio2l.c} (100%)
 copy sysdeps/{alpha => ia64}/ldsodefs.h (79%)
 create mode 100644 sysdeps/ia64/nptl/shlib-versions
 create mode 100644 sysdeps/ia64/preconfigure
 create mode 100644 sysdeps/ia64/shlib-versions
 create mode 100644 sysdeps/ia64/stackguard-macros.h
 rename sysdeps/ia64/{elf => }/start.S (100%)
 create mode 100644 sysdeps/ia64/tls-macros.h
 copy sysdeps/{alpha => ia64}/tst-audit.h (77%)
 copy sysdeps/unix/sysv/linux/{alpha => ia64}/configure (69%)
 copy sysdeps/unix/sysv/linux/{alpha => ia64}/configure.in (69%)
 create mode 100644 sysdeps/unix/sysv/linux/ia64/kernel-features.h
 delete mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c


hooks/post-receive
-- 
Community source repository for glibc add-on ports


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]