]> git.pld-linux.org Git - packages/binutils.git/commitdiff
- obsolete (already in 2.15.94.0.1)
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 23 Nov 2004 23:26:12 +0000 (23:26 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    binutils-pr414.patch -> 1.2
    binutils-pr437.patch -> 1.2

binutils-pr414.patch [deleted file]
binutils-pr437.patch [deleted file]

diff --git a/binutils-pr414.patch b/binutils-pr414.patch
deleted file mode 100644 (file)
index 436fd58..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-2004-09-29  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR 414
-       * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
-
---- bfd/elflink.c.tls  2004-09-29 10:34:08.000000000 -0700
-+++ bfd/elflink.c      2004-09-29 10:29:41.000000000 -0700
-@@ -709,7 +709,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
-                      bfd_boolean *type_change_ok,
-                      bfd_boolean *size_change_ok)
- {
--  asection *sec;
-+  asection *sec, *oldsec;
-   struct elf_link_hash_entry *h;
-   struct elf_link_hash_entry *flip;
-   int bind;
-@@ -753,26 +753,31 @@ _bfd_elf_merge_symbol (bfd *abfd,
-       return TRUE;
-     }
--  /* OLDBFD is a BFD associated with the existing symbol.  */
-+  /* OLDBFD and OLDSEC are a BFD and an ASECTION associated with the
-+     existing symbol.  */
-   switch (h->root.type)
-     {
-     default:
-       oldbfd = NULL;
-+      oldsec = NULL;
-       break;
-     case bfd_link_hash_undefined:
-     case bfd_link_hash_undefweak:
-       oldbfd = h->root.u.undef.abfd;
-+      oldsec = NULL;
-       break;
-     case bfd_link_hash_defined:
-     case bfd_link_hash_defweak:
-       oldbfd = h->root.u.def.section->owner;
-+      oldsec = h->root.u.def.section;
-       break;
-     case bfd_link_hash_common:
-       oldbfd = h->root.u.c.p->section->owner;
-+      oldsec = h->root.u.c.p->section;
-       break;
-     }
-@@ -840,6 +845,54 @@ _bfd_elf_merge_symbol (bfd *abfd,
-   else
-     olddef = TRUE;
-+  /* Check TLS symbol.  */
-+  if ((ELF_ST_TYPE (sym->st_info) == STT_TLS || h->type == STT_TLS)
-+      && ELF_ST_TYPE (sym->st_info) != h->type)
-+    {
-+      bfd *ntbfd, *tbfd;
-+      bfd_boolean ntdef, tdef;
-+      asection *ntsec, *tsec;
-+
-+      if (h->type == STT_TLS)
-+      {
-+        ntbfd = abfd; 
-+        ntsec = sec;
-+        ntdef = newdef;
-+        tbfd = oldbfd;
-+        tsec = oldsec;
-+        tdef = olddef;
-+      }
-+      else
-+      {
-+        ntbfd = oldbfd;
-+        ntsec = oldsec;
-+        ntdef = olddef;
-+        tbfd = abfd;
-+        tsec = sec;
-+        tdef = newdef;
-+      }
-+
-+      if (tdef && ntdef)
-+      (*_bfd_error_handler)
-+        (_("%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"),
-+         tbfd, tsec, ntbfd, ntsec, h->root.root.string);
-+      else if (!tdef && !ntdef)
-+      (*_bfd_error_handler)
-+        (_("%s: TLS reference in %B mismatches non-TLS reference in %B"),
-+         tbfd, ntbfd, h->root.root.string);
-+      else if (tdef)
-+      (*_bfd_error_handler)
-+        (_("%s: TLS definition in %B section %A mismatches non-TLS reference in %B"),
-+         tbfd, tsec, ntbfd, h->root.root.string);
-+      else
-+      (*_bfd_error_handler)
-+        (_("%s: TLS reference in %B mismatches non-TLS definition in %B section %A"),
-+         tbfd, ntbfd, ntsec, h->root.root.string);
-+
-+      bfd_set_error (bfd_error_bad_value);
-+      return FALSE;
-+    }
-+
-   /* We need to remember if a symbol has a definition in a dynamic
-      object or is weak in all dynamic objects. Internal and hidden
-      visibility will make it unavailable to dynamic objects.  */
-
diff --git a/binutils-pr437.patch b/binutils-pr437.patch
deleted file mode 100644 (file)
index 279a494..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-===================================================================
-RCS file: /cvs/src/src/bfd/elflink.c,v
-retrieving revision 1.105
-retrieving revision 1.106
-diff -u -r1.105 -r1.106
---- src/bfd/elflink.c  2004/10/07 14:45:24     1.105
-+++ src/bfd/elflink.c  2004/10/11 01:13:10     1.106
-@@ -629,8 +629,7 @@
-         bfd *dynobj = elf_hash_table (info)->dynobj;
-         if (dynobj != NULL
--            && (ip = bfd_get_section_by_name (dynobj, p->name))
--            != NULL
-+            && (ip = bfd_get_section_by_name (dynobj, p->name)) != NULL
-             && (ip->flags & SEC_LINKER_CREATED)
-             && ip->output_section == p)
-           return TRUE;
-@@ -5712,6 +5711,14 @@
-       bfd_byte *erel, *erelend;
-       asection *o = lo->u.indirect.section;
-+      if (o->contents == NULL && o->size != 0)
-+        {
-+          /* This is a reloc section that is being handled as a normal
-+             section.  See bfd_section_from_shdr.  We can't combine
-+             relocs in this case.  */
-+          free (sort);
-+          return 0;
-+        }
-       erel = o->contents;
-       erelend = o->contents + o->size;
-       p = sort + o->output_offset / ext_size * sort_elt;
This page took 0.038078 seconds and 4 git commands to generate.