SOURCES: elfutils-alpha.patch - removed obsolete parts

qboosh qboosh at pld-linux.org
Sat Dec 24 21:41:28 CET 2005


Author: qboosh                       Date: Sat Dec 24 20:41:28 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- removed obsolete parts

---- Files affected:
SOURCES:
   elfutils-alpha.patch (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/elfutils-alpha.patch
diff -u SOURCES/elfutils-alpha.patch:1.1 SOURCES/elfutils-alpha.patch:1.2
--- SOURCES/elfutils-alpha.patch:1.1	Sat Nov 26 21:24:26 2005
+++ SOURCES/elfutils-alpha.patch	Sat Dec 24 21:41:23 2005
@@ -3,17 +3,6 @@
 	* src/elflint.c (valid_e_machine) Add EM_ALPHA to valid machines.
 	  (check_hash): Support hash bucket size of 8 on alpha and s390x.
 	  (check_sections): Support arch-specific section flags.
-	* libebl/alpha_symbol.c: Update, including:
-	  (reloc_map_table) Include appear field.
-	  (alpha_reloc_type_name) Updated for new reloc_map_table.
-	  (alpha_reloc_type_check) Likewise.
-	  (alpha_reloc_valid_use) New function.
-	  (alpha_reloc_simple_type) Likewise.
-	* libebl/alpha_init.c (alpha_init): Initialize reloc_valid_use and
-	  reloc_simple_type fields.
-	* libebl/libebl_alpha.h: Add alpha_reloc_valid_use and
-	  alpha_reloc_simple_type functions.
-	* libebl/Makefile.am: Link libebl_alpha.so with libelf.
 	* libelf/elf32_getshdr.c: Fix assert condition; handle unaligned
 	  section header with same endianess properly.
 
@@ -142,196 +131,6 @@
        if (shdr->sh_flags & ~ALL_SH_FLAGS)
  	ERROR (gettext ("section [%2zu] '%s' contains unknown flag(s)"
  			" %#" PRIx64 "\n"),
---- elfutils-0.116/libebl/alpha_symbol.c.orig	2005-08-07 09:59:17.000000000 +0200
-+++ elfutils-0.116/libebl/alpha_symbol.c	2005-11-26 14:41:48.000000000 +0100
-@@ -16,6 +16,7 @@
- # include <config.h>
- #endif
- 
-+#include <assert.h>
- #include <elf.h>
- #include <stddef.h>
- 
-@@ -31,41 +32,45 @@
- 
- 
- /* Relocation mapping table.  */
--static const char *reloc_map_table[] =
-+static struct
-+{
-+  const char *name;
-+  enum { both = 0, rel = 1, exec = 2 } appear;
-+} reloc_map_table[] =
-   {
--    [R_ALPHA_NONE] = "R_ALPHA_NONE",
--    [R_ALPHA_REFLONG] = "R_ALPHA_REFLONG",
--    [R_ALPHA_REFQUAD] = "R_ALPHA_REFQUAD",
--    [R_ALPHA_GPREL32] = "R_ALPHA_GPREL32",
--    [R_ALPHA_LITERAL] = "R_ALPHA_LITERAL",
--    [R_ALPHA_LITUSE] = "R_ALPHA_LITUSE",
--    [R_ALPHA_GPDISP] = "R_ALPHA_GPDISP",
--    [R_ALPHA_BRADDR] = "R_ALPHA_BRADDR",
--    [R_ALPHA_HINT] = "R_ALPHA_HINT",
--    [R_ALPHA_SREL16] = "R_ALPHA_SREL16",
--    [R_ALPHA_SREL32] = "R_ALPHA_SREL32",
--    [R_ALPHA_SREL64] = "R_ALPHA_SREL64",
--    [R_ALPHA_GPRELHIGH] = "R_ALPHA_GPRELHIGH",
--    [R_ALPHA_GPRELLOW] = "R_ALPHA_GPRELLOW",
--    [R_ALPHA_GPREL16] = "R_ALPHA_GPREL16",
--    [R_ALPHA_COPY] = "R_ALPHA_COPY",
--    [R_ALPHA_GLOB_DAT] = "R_ALPHA_GLOB_DAT",
--    [R_ALPHA_JMP_SLOT] = "R_ALPHA_JMP_SLOT",
--    [R_ALPHA_RELATIVE] = "R_ALPHA_RELATIVE",
--    [R_ALPHA_TLS_GD_HI] = "R_ALPHA_TLS_GD_HI",
--    [R_ALPHA_TLSGD] = "R_ALPHA_TLSGD",
--    [R_ALPHA_TLS_LDM] = "R_ALPHA_TLS_LDM",
--    [R_ALPHA_DTPMOD64] = "R_ALPHA_DTPMOD64",
--    [R_ALPHA_GOTDTPREL] = "R_ALPHA_GOTDTPREL",
--    [R_ALPHA_DTPREL64] = "R_ALPHA_DTPREL64",
--    [R_ALPHA_DTPRELHI] = "R_ALPHA_DTPRELHI",
--    [R_ALPHA_DTPRELLO] = "R_ALPHA_DTPRELLO",
--    [R_ALPHA_DTPREL16] = "R_ALPHA_DTPREL16",
--    [R_ALPHA_GOTTPREL] = "R_ALPHA_GOTTPREL",
--    [R_ALPHA_TPREL64] = "R_ALPHA_TPREL64",
--    [R_ALPHA_TPRELHI] = "R_ALPHA_TPRELHI",
--    [R_ALPHA_TPRELLO] = "R_ALPHA_TPRELLO",
--    [R_ALPHA_TPREL16] = "R_ALPHA_TPREL16"
-+    [R_ALPHA_NONE] = { "R_ALPHA_NONE", both },
-+    [R_ALPHA_REFLONG] = { "R_ALPHA_REFLONG", both },
-+    [R_ALPHA_REFQUAD] = { "R_ALPHA_REFQUAD", both },
-+    [R_ALPHA_GPREL32] = { "R_ALPHA_GPREL32", rel },
-+    [R_ALPHA_LITERAL] = { "R_ALPHA_LITERAL", rel },
-+    [R_ALPHA_LITUSE] = { "R_ALPHA_LITUSE", rel },
-+    [R_ALPHA_GPDISP] = { "R_ALPHA_GPDISP", rel },
-+    [R_ALPHA_BRADDR] = { "R_ALPHA_BRADDR", rel },
-+    [R_ALPHA_HINT] = { "R_ALPHA_HINT", rel },
-+    [R_ALPHA_SREL16] = { "R_ALPHA_SREL16", rel },
-+    [R_ALPHA_SREL32] = { "R_ALPHA_SREL32", rel },
-+    [R_ALPHA_SREL64] = { "R_ALPHA_SREL64", rel },
-+    [R_ALPHA_GPRELHIGH] = { "R_ALPHA_GPRELHIGH", rel },
-+    [R_ALPHA_GPRELLOW] = { "R_ALPHA_GPRELLOW", rel },
-+    [R_ALPHA_GPREL16] = { "R_ALPHA_GPREL16", rel },
-+    [R_ALPHA_COPY] = { "R_ALPHA_COPY", exec },
-+    [R_ALPHA_GLOB_DAT] = { "R_ALPHA_GLOB_DAT", exec },
-+    [R_ALPHA_JMP_SLOT] = { "R_ALPHA_JMP_SLOT", exec },
-+    [R_ALPHA_RELATIVE] = { "R_ALPHA_RELATIVE", exec },
-+    [R_ALPHA_TLS_GD_HI] = { "R_ALPHA_TLS_GD_HI", rel },
-+    [R_ALPHA_TLSGD] = { "R_ALPHA_TLSGD", rel },
-+    [R_ALPHA_TLS_LDM] = { "R_ALPHA_TLS_LDM", rel },
-+    [R_ALPHA_DTPMOD64] = { "R_ALPHA_DTPMOD64", exec },
-+    [R_ALPHA_GOTDTPREL] = { "R_ALPHA_GOTDTPREL", rel },
-+    [R_ALPHA_DTPREL64] = { "R_ALPHA_DTPREL64", exec },
-+    [R_ALPHA_DTPRELHI] = { "R_ALPHA_DTPRELHI", rel },
-+    [R_ALPHA_DTPRELLO] = { "R_ALPHA_DTPRELLO", rel },
-+    [R_ALPHA_DTPREL16] = { "R_ALPHA_DTPREL16", rel },
-+    [R_ALPHA_GOTTPREL] = { "R_ALPHA_GOTTPREL", rel },
-+    [R_ALPHA_TPREL64] = { "R_ALPHA_TPREL64", exec },
-+    [R_ALPHA_TPRELHI] = { "R_ALPHA_TPRELHI", rel },
-+    [R_ALPHA_TPRELLO] = { "R_ALPHA_TPRELLO", rel },
-+    [R_ALPHA_TPREL16] = { "R_ALPHA_TPREL16", rel }
-   };
- 
- 
-@@ -74,12 +79,10 @@
- alpha_reloc_type_name (int type, char *buf __attribute__ ((unused)),
- 		       size_t len __attribute__ ((unused)))
- {
--  if (type < 0
--      || ((size_t) type
--	  >= sizeof (reloc_map_table) / sizeof (reloc_map_table[0])))
-+  if (type < 0 || type >= R_ALPHA_NUM)
-     return NULL;
- 
--  return reloc_map_table[type];
-+  return reloc_map_table[type].name;
- }
- 
- 
-@@ -87,10 +90,43 @@
- bool
- alpha_reloc_type_check (int type)
- {
--  return (type >= R_ALPHA_NONE
--	  && ((size_t) type
--	      < sizeof (reloc_map_table) / sizeof (reloc_map_table[0]))
--	  && reloc_map_table[type] != NULL) ? true : false;
-+  return (type >= R_ALPHA_NONE && type < R_ALPHA_NUM
-+	  && reloc_map_table[type].name != NULL) ? true : false;
-+}
-+
-+/* Check for correct relocation type use.  */
-+bool
-+alpha_reloc_valid_use (Elf *elf, int type)
-+{
-+  if (type < R_ALPHA_NONE || type >= R_ALPHA_NUM
-+      || reloc_map_table[type].name == NULL)
-+    return false;
-+
-+  Elf64_Ehdr *ehdr = elf64_getehdr (elf);
-+  assert (ehdr != NULL);
-+  if (reloc_map_table[type].appear == rel)
-+    return ehdr->e_type == ET_REL;
-+
-+  if (reloc_map_table[type].appear == exec)
-+    return ehdr->e_type != ET_REL;
-+
-+  assert (reloc_map_table[type].appear == both);
-+  return true;
-+}
-+
-+/* Check for the simple reloc types.  */
-+Elf_Type
-+alpha_reloc_simple_type (Elf *elf __attribute__ ((unused)), int type)
-+{
-+  switch (type)
-+    {
-+    case R_ALPHA_REFLONG:
-+      return ELF_T_WORD;
-+    case R_ALPHA_REFQUAD:
-+      return ELF_T_XWORD;
-+    default:
-+      return ELF_T_NUM;
-+    }
- }
- 
- 
---- elfutils-0.116/libebl/Makefile.am.orig	2005-11-26 10:28:00.000000000 +0100
-+++ elfutils-0.116/libebl/Makefile.am	2005-11-26 12:52:21.000000000 +0100
-@@ -120,7 +120,7 @@
- libebl_alpha.so: libebl_alpha_pic.a libebl_alpha.map
- 	$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
- 		-Wl,--version-script,$(srcdir)/libebl_alpha.map \
--		-Wl,-z,defs $(libmudflap)
-+		-Wl,-z,defs $(libelf) $(libmudflap)
- 	$(textrel_check)
- 
- 
---- elfutils-0.116/libebl/alpha_init.c.orig	2005-08-07 09:58:18.000000000 +0200
-+++ elfutils-0.116/libebl/alpha_init.c	2005-11-26 11:34:19.000000000 +0100
-@@ -34,6 +34,8 @@
-   eh->name = "Alpha";
-   eh->reloc_type_name = alpha_reloc_type_name;
-   eh->reloc_type_check = alpha_reloc_type_check;
-+  eh->reloc_valid_use = alpha_reloc_valid_use;
-+  eh->reloc_simple_type = alpha_reloc_simple_type;
-   eh->dynamic_tag_name = alpha_dynamic_tag_name;
-   eh->dynamic_tag_check = alpha_dynamic_tag_check;
-   eh->copy_reloc_p = alpha_copy_reloc_p;
---- elfutils-0.116/libebl/libebl_alpha.h.orig	2005-08-07 09:59:53.000000000 +0200
-+++ elfutils-0.116/libebl/libebl_alpha.h	2005-11-26 12:49:21.000000000 +0100
-@@ -31,6 +31,12 @@
- /* Check relocation type.  */
- extern bool alpha_reloc_type_check (int type);
- 
-+/* Check relocation type use.  */
-+extern bool alpha_reloc_valid_use (Elf *elf, int type);
-+
-+/* Check for the simple reloc types.  */
-+extern Elf_Type alpha_reloc_simple_type (Elf *elf, int type);
-+
- /* Name of dynamic tag.  */
- extern const char *alpha_dynamic_tag_name (int64_t tag, char *buf, size_t len);
- 
 --- elfutils-0.116/libelf/elf32_getshdr.c.orig	2005-11-26 10:28:00.000000000 +0100
 +++ elfutils-0.116/libelf/elf32_getshdr.c	2005-11-26 20:52:02.000000000 +0100
 @@ -91,8 +91,8 @@
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/elfutils-alpha.patch?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list