diff options
author | Roland McGrath <roland@hack.frob.com> | 2011-06-11 03:35:31 -0700 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2011-07-02 15:12:19 -0700 |
commit | 31fffa6b0700f9cc0f903a53489b829290168b4c (patch) | |
tree | de9c10931e9d246c3a4f65ac330cc80996b5aaff | |
parent | 4e34ac6a1e256f40ab0d8eeed37aa1ea83440e76 (diff) | |
download | glibc-31fffa6b0700f9cc0f903a53489b829290168b4c.zip glibc-31fffa6b0700f9cc0f903a53489b829290168b4c.tar.gz glibc-31fffa6b0700f9cc0f903a53489b829290168b4c.tar.bz2 |
Make asserts accept DT_FLAGS/DT_FLAGS_1 with zero flags.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dynamic-link.h | 6 |
2 files changed, 6 insertions, 3 deletions
@@ -1,5 +1,8 @@ 2011-07-02 Roland McGrath <roland@hack.frob.com> + * elf/dynamic-link.h (elf_get_dynamic_info): Make asserts accept + DT_FLAGS/DT_FLAGS_1 with zero flags. + * elf/Makefile ($(objpfx)ld.so): Use -defsym=_begin=0 instead of linker script munging. diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h index 6d7e142..9c16da4 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -1,5 +1,5 @@ /* Inline functions for dynamic linking. - Copyright (C) 1995-2005, 2006, 2008 Free Software Foundation, Inc. + Copyright (C) 1995-2005,2006,2008,2011 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 @@ -201,9 +201,9 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp) #ifdef RTLD_BOOTSTRAP /* Only the bind now flags are allowed. */ assert (info[VERSYMIDX (DT_FLAGS_1)] == NULL - || info[VERSYMIDX (DT_FLAGS_1)]->d_un.d_val == DF_1_NOW); + || (info[VERSYMIDX (DT_FLAGS_1)]->d_un.d_val & ~DF_1_NOW) == 0); assert (info[DT_FLAGS] == NULL - || info[DT_FLAGS]->d_un.d_val == DF_BIND_NOW); + || (info[DT_FLAGS]->d_un.d_val & ~DF_BIND_NOW) == 0); /* Flags must not be set for ld.so. */ assert (info[DT_RUNPATH] == NULL); assert (info[DT_RPATH] == NULL); |