diff options
author | Ulrich Drepper <drepper@redhat.com> | 2010-01-09 10:59:13 -0800 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-01-09 10:59:13 -0800 |
commit | 6651fa1216b5707b00668def26f43ee12b8cc59e (patch) | |
tree | 575e1ea8386d14c993049454641d6b591d8f9a36 | |
parent | f095bb7204d80f609a73a22796edd6cffd4c6add (diff) | |
parent | d5ea695b42aecd48a329756a8e93228d64714d17 (diff) | |
download | glibc-6651fa1216b5707b00668def26f43ee12b8cc59e.tar.gz glibc-6651fa1216b5707b00668def26f43ee12b8cc59e.tar.xz glibc-6651fa1216b5707b00668def26f43ee12b8cc59e.zip |
Merge branch 'master' of ssh://sources.redhat.com/git/glibc
Conflicts: ChangeLog
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | elf/dl-sysdep.c | 5 | ||||
-rw-r--r-- | elf/elf.h | 8 |
3 files changed, 17 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index a2f8d1b78f..0ff613c6f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -130,6 +130,13 @@ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. +2010-01-07 Roland McGrath <roland@redhat.com> + + * elf/elf.h (PN_XNUM): New macro. + + * elf/dl-sysdep.c (_dl_important_hwcaps): Use NT_GNU_HWCAP instead of + literal 2. + 2010-01-06 Ulrich Drepper <drepper@redhat.com> * dirent/dirent.h: Fix typo in feature selection macro use. diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c index 5700272f10..49c5dfb27d 100644 --- a/elf/dl-sysdep.c +++ b/elf/dl-sysdep.c @@ -1,5 +1,6 @@ /* Operating system support for run-time dynamic linker. Generic Unix version. - Copyright (C) 1995-1998, 2000-2008, 2009 Free Software Foundation, Inc. + Copyright (C) 1995-1998,2000-2008,2009,2010 + 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 @@ -390,7 +391,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz, while ((ElfW(Addr)) (note + 1) - start < phdr[i].p_memsz) { #define ROUND(len) (((len) + sizeof (ElfW(Word)) - 1) & -sizeof (ElfW(Word))) - if (note->type == 2 + if (note->type == NT_GNU_HWCAP && note->vendorlen == sizeof "GNU" && !memcmp ((note + 1), "GNU", sizeof "GNU") && note->datalen > 2 * sizeof (ElfW(Word)) + 2) diff --git a/elf/elf.h b/elf/elf.h index c772ff41ad..1bc8ef3489 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -1,5 +1,5 @@ /* This file defines standard ELF types, structures, and macros. - Copyright (C) 1995-2003,2004,2005,2006,2007,2008,2009 + Copyright (C) 1995-2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -558,6 +558,12 @@ typedef struct Elf64_Xword p_align; /* Segment alignment */ } Elf64_Phdr; +/* Special value for e_phnum. This indicates that the real number of + program headers is too large to fit into e_phnum. Instead the real + value is in the field sh_info of section 0. */ + +#define PN_XNUM 0xffff + /* Legal values for p_type (segment type). */ #define PT_NULL 0 /* Program header table entry unused */ |