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]

GNU C Library master sources branch master updated. glibc-2.16-ports-merge-257-gd3bafbc


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 "GNU C Library master sources".

The branch, master has been updated
       via  d3bafbc98e91e97b67b5402ec5f87eef7edfd64b (commit)
      from  4efcc022656a709cc78cd9078a5bfc2b19323bc7 (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.git;a=commitdiff;h=d3bafbc98e91e97b67b5402ec5f87eef7edfd64b

commit d3bafbc98e91e97b67b5402ec5f87eef7edfd64b
Author: Steve McIntyre <steve.mcintyre@linaro.org>
Date:   Thu Aug 23 20:38:25 2012 +0000

    Check floating-point ABI in ARM VALID_ELF_HEADER.

diff --git a/ChangeLog b/ChangeLog
index 3a5a2cc..7bc3a24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-23  Steve McIntyre  <steve.mcintyre@linaro.org>
+
+	* elf/elf.h (EF_ARM_ABI_FLOAT_SOFT): New macro.
+	(EF_ARM_ABI_FLOAT_HARD): Likewise.
+
 2012-08-23  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/dl-fxstatat64.c: Use <> instead of "" in
diff --git a/elf/elf.h b/elf/elf.h
index 1e67ef5..6c85f92 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -2250,6 +2250,9 @@ typedef Elf32_Addr Elf32_Conflict;
 #define EF_ARM_VFP_FLOAT	0x400
 #define EF_ARM_MAVERICK_FLOAT	0x800
 
+#define EF_ARM_ABI_FLOAT_SOFT	0x200   /* NB conflicts with EF_ARM_SOFT_FLOAT */
+#define EF_ARM_ABI_FLOAT_HARD	0x400   /* NB conflicts with EF_ARM_VFP_FLOAT */
+
 
 /* Other constants defined in the ARM ELF spec. version B-01.  */
 /* NB. These conflict with values defined above.  */
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 4acc473..f9f616f 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,9 @@
+2012-08-23  Steve McIntyre  <steve.mcintyre@linaro.org>
+
+	* sysdeps/unix/sysv/linux/arm/ldsodefs.h (VALID_FLOAT_ABI): Define
+	depending on __ARM_PCS_VFP.
+	(VALID_ELF_HEADER): Also check VALID_FLOAT_ABI.
+
 2012-08-20  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/arm/kernel-features.h
diff --git a/ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h b/ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h
index 8980bb1..d958862 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h
@@ -27,10 +27,22 @@
 
 #define EXTRA_OSABI ELFOSABI_ARM_AEABI
 
+#ifdef __ARM_PCS_VFP
+# define VALID_FLOAT_ABI(x) \
+  ((EF_ARM_EABI_VERSION ((x)) != EF_ARM_EABI_VER5)	\
+   || !((x) & EF_ARM_ABI_FLOAT_SOFT))
+#else
+# define VALID_FLOAT_ABI(x) \
+  ((EF_ARM_EABI_VERSION ((x)) != EF_ARM_EABI_VER5)	\
+   || !((x) & EF_ARM_ABI_FLOAT_HARD))
+#endif
+
+#undef VALID_ELF_HEADER
 #define VALID_ELF_HEADER(hdr,exp,size)		\
-  (memcmp (hdr, exp, size) == 0			\
-   || memcmp (hdr, expected2, size) == 0	\
-   || memcmp (hdr, expected3, size) == 0)
+  ((memcmp (hdr, exp, size) == 0		\
+    || memcmp (hdr, expected2, size) == 0	\
+    || memcmp (hdr, expected3, size) == 0)	\
+   && VALID_FLOAT_ABI (ehdr->e_flags))
 #define VALID_ELF_OSABI(osabi)		(osabi == ELFOSABI_SYSV		\
 					 || osabi == EXTRA_OSABI	\
 					 || osabi == ELFOSABI_LINUX)

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

Summary of changes:
 ChangeLog                                    |    5 +++++
 elf/elf.h                                    |    3 +++
 ports/ChangeLog.arm                          |    6 ++++++
 ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h |   18 +++++++++++++++---
 4 files changed, 29 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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