summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorAndreas Schwab <aschwab@redhat.com>2009-06-10 14:04:22 +0200
committerAndreas Schwab <aschwab@redhat.com>2009-06-10 14:04:22 +0200
commit0d02cb10e8dd8639b86450cf8e597cf5e2e09894 (patch)
tree0f2174db43a501b946f0600d1b91ae4117977b04 /include
parentdfbbe67270efa9c03f9444d50d2f98a7a64622b4 (diff)
parent88ea382fda5af7717f85bb19837c9c99094f3df4 (diff)
downloadglibc-0d02cb10e8dd8639b86450cf8e597cf5e2e09894.tar.gz
glibc-0d02cb10e8dd8639b86450cf8e597cf5e2e09894.tar.xz
glibc-0d02cb10e8dd8639b86450cf8e597cf5e2e09894.zip
Merge commit 'origin/master' into fedora/master
Conflicts:
	ChangeLog
	sysdeps/unix/sysv/linux/i386/sysconf.c
	sysdeps/x86_64/cacheinfo.c
	version.h
Diffstat (limited to 'include')
-rw-r--r--include/atomic.h19
-rw-r--r--include/bits/setjmp2.h1
-rw-r--r--include/libc-symbols.h17
-rw-r--r--include/stdio.h3
-rw-r--r--include/unistd.h2
5 files changed, 32 insertions, 10 deletions
diff --git a/include/atomic.h b/include/atomic.h
index 7c0548b004..9366f78734 100644
--- a/include/atomic.h
+++ b/include/atomic.h
@@ -95,14 +95,15 @@
 #endif
 
 
-#if !defined catomic_compare_and_exchange_val_acq \
-    && defined __arch_c_compare_and_exchange_val_32_acq
-# define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
+#ifndef catomic_compare_and_exchange_val_acq
+# ifdef __arch_c_compare_and_exchange_val_32_acq
+#  define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
   __atomic_val_bysize (__arch_c_compare_and_exchange_val,acq,		      \
 		       mem, newval, oldval)
-#else
-# define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
+# else
+#  define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
   atomic_compare_and_exchange_val_acq (mem, newval, oldval)
+# endif
 #endif
 
 
@@ -125,8 +126,8 @@
 #  define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
   __atomic_bool_bysize (__arch_compare_and_exchange_bool,acq,		      \
 		        mem, newval, oldval)
-#  else
-#   define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
+# else
+#  define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
   ({ /* Cannot use __oldval here, because macros later in this file might     \
 	call this macro with __oldval argument.	 */			      \
      __typeof (oldval) __atg3_old = (oldval);				      \
@@ -142,8 +143,8 @@
 #  define catomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
   __atomic_bool_bysize (__arch_c_compare_and_exchange_bool,acq,		      \
 		        mem, newval, oldval)
-#  else
-#   define catomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
+# else
+#  define catomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
   ({ /* Cannot use __oldval here, because macros later in this file might     \
 	call this macro with __oldval argument.	 */			      \
      __typeof (oldval) __atg4_old = (oldval);				      \
diff --git a/include/bits/setjmp2.h b/include/bits/setjmp2.h
new file mode 100644
index 0000000000..bdb222cd2c
--- /dev/null
+++ b/include/bits/setjmp2.h
@@ -0,0 +1 @@
+#include <setjmp/bits/setjmp2.h>
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index d53bcb9b77..68da77c58e 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -845,4 +845,21 @@ for linking")
   }									\
   __asm__ (".type " #name ", %gnu_indirect_function");
 
+#ifdef HAVE_ASM_SET_DIRECTIVE
+# define libc_ifunc_hidden_def1(local, name)				\
+    __asm__ (declare_symbol_alias_1_stringify (ASM_GLOBAL_DIRECTIVE)	\
+	     " " #local "\n\t"						\
+	     ".hidden " #local "\n\t"					\
+	     ".set " #local ", " #name);
+#else
+# define libc_ifunc_hidden_def1(local, name)				\
+    __asm__ (declare_symbol_alias_1_stringify (ASM_GLOBAL_DIRECTIVE)	\
+	     " " #local "\n\t"						\
+	     ".hidden " #local "\n\t"					\
+	     #local " = " #name);
+#endif
+
+#define libc_ifunc_hidden_def(name) \
+  libc_ifunc_hidden_def1 (__GI_##name, name)
+
 #endif /* libc-symbols.h */
diff --git a/include/stdio.h b/include/stdio.h
index 9fdafe4a85..a8aab92aef 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -90,7 +90,8 @@ extern int __gen_tempname (char *__tmpl, int __flags, int __kind);
 extern void __libc_fatal (__const char *__message)
      __attribute__ ((__noreturn__));
 extern void __libc_message (int do_abort, __const char *__fnt, ...);
-extern void __fortify_fail (const char *msg) __attribute__ ((noreturn));
+extern void __fortify_fail (const char *msg)
+     __attribute__ ((__noreturn__)) internal_function;
 libc_hidden_proto (__fortify_fail)
 
 /* Acquire ownership of STREAM.  */
diff --git a/include/unistd.h b/include/unistd.h
index 34d7477f9e..72d7e2e88c 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -61,6 +61,8 @@ extern int __chdir (__const char *__path);
 extern int __fchdir (int __fd);
 extern char *__getcwd (char *__buf, size_t __size);
 extern int __rmdir (const char *__path);
+extern int __execvpe (const char *file, char *const argv[],
+		      char *const envp[]);
 
 /* Get the canonical absolute name of the named directory, and put it in SIZE
    bytes of BUF.  Returns NULL if the directory couldn't be determined or