summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2010-01-11 10:31:49 +0100
committerAndreas Schwab <schwab@redhat.com>2010-01-11 10:31:49 +0100
commitc14a0516dbea2e1b794f9a09a8ea182fbe0dc349 (patch)
treeaea6ef619b1bb3ee704d5904f8209c33933c4822 /elf
parenta5683508bcdcfcbe8e486cbcdcaa3830d9ab22e8 (diff)
parent33780b6d332af9d94216eff880734be7748c2269 (diff)
downloadglibc-c14a0516dbea2e1b794f9a09a8ea182fbe0dc349.tar.gz
glibc-c14a0516dbea2e1b794f9a09a8ea182fbe0dc349.tar.xz
glibc-c14a0516dbea2e1b794f9a09a8ea182fbe0dc349.zip
Merge remote branch 'origin/master' into fedora/master
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-sysdep.c5
-rw-r--r--elf/elf.h8
2 files changed, 10 insertions, 3 deletions
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 */