This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.16-ports-merge-742-g7e1be74
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 Nov 2012 14:40:45 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.16-ports-merge-742-g7e1be74
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 7e1be741255c40a2d71ea7c888eff39a3aaa32e9 (commit)
from 86fe56bbdece927de2b0c6f122493e97ad12937a (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=7e1be741255c40a2d71ea7c888eff39a3aaa32e9
commit 7e1be741255c40a2d71ea7c888eff39a3aaa32e9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Nov 21 06:33:19 2012 -0800
Check supported DF_1_XXX bits
diff --git a/ChangeLog b/ChangeLog
index 2391ce4..b2b2538 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2012-11-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf/elf.h (DF_1_NODIRECT): New macro.
+ (DF_1_IGNMULDEF): Likewise.
+ (DF_1_NOKSYMS): Likewise.
+ (DF_1_NOHDR): Likewise.
+ (DF_1_EDITED): Likewise.
+ (DF_1_NORELOC): Likewise.
+ (DF_1_SYMINTPOSE): Likewise.
+ (DF_1_GLOBAUDIT): Likewise.
+ (DF_1_SINGLETON): Likewise.
+ * elf/get-dynamic-info.h (elf_get_dynamic_info): Assert
+ DT_1_SUPPORTED_MASK bits.
+ * include/elf.h (DT_1_SUPPORTED_MASK): New macro.
+
2012-11-20 Carlos O'Donell <carlos_odonell@mentor.com>
* sysdeps/unix/make-syscalls.sh: Document prefixes.
diff --git a/elf/elf.h b/elf/elf.h
index 1effa07..b07e6ad 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -798,6 +798,15 @@ typedef struct
#define DF_1_ENDFILTEE 0x00004000 /* Filtee terminates filters search. */
#define DF_1_DISPRELDNE 0x00008000 /* Disp reloc applied at build time. */
#define DF_1_DISPRELPND 0x00010000 /* Disp reloc applied at run-time. */
+#define DF_1_NODIRECT 0x00020000 /* Object has no-direct binding. */
+#define DF_1_IGNMULDEF 0x00040000
+#define DF_1_NOKSYMS 0x00080000
+#define DF_1_NOHDR 0x00100000
+#define DF_1_EDITED 0x00200000 /* Object is modified after built. */
+#define DF_1_NORELOC 0x00400000
+#define DF_1_SYMINTPOSE 0x00800000 /* Object has individual interposers. */
+#define DF_1_GLOBAUDIT 0x01000000 /* Global auditin required. */
+#define DF_1_SINGLETON 0x02000000 /* Singleton symbols are used. */
/* Flags for the feature selection in DT_FEATURE_1. */
#define DTF_1_PARINIT 0x00000001
diff --git a/elf/get-dynamic-info.h b/elf/get-dynamic-info.h
index ffac75f..9e018de 100644
--- a/elf/get-dynamic-info.h
+++ b/elf/get-dynamic-info.h
@@ -151,6 +151,9 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
{
l->l_flags_1 = info[VERSYMIDX (DT_FLAGS_1)]->d_un.d_val;
+ /* Only DT_1_SUPPORTED_MASK bits are allowed. */
+ assert ((l->l_flags_1 & ~DT_1_SUPPORTED_MASK) == 0);
+
if (l->l_flags_1 & DF_1_NOW)
info[DT_BIND_NOW] = info[VERSYMIDX (DT_FLAGS_1)];
}
diff --git a/include/elf.h b/include/elf.h
index cdedd85..60658c6 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -3,4 +3,10 @@
/* Some information which is not meant for the public and therefore not
in <elf.h>. */
# include <dl-dtprocnum.h>
+# ifdef DT_1_SUPPORTED_MASK
+# error DT_1_SUPPORTED_MASK is defined!
+# endif
+# define DT_1_SUPPORTED_MASK \
+ (DF_1_NOW | DF_1_NODELETE | DF_1_INITFIRST | DF_1_NOOPEN \
+ | DF_1_ORIGIN | DF_1_NODEFLIB)
#endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 15 +++++++++++++++
elf/elf.h | 9 +++++++++
elf/get-dynamic-info.h | 3 +++
include/elf.h | 6 ++++++
4 files changed, 33 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources