OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   24-Jun-2006 22:04:49
  Branch: HEAD                             Handle: 2006062421044900

  Modified files:
    openpkg-src/binutils    binutils.patch binutils.spec

  Log:
    upgrading package: binutils 2.16.1 -> 2.17

  Summary:
    Revision    Changes     Path
    1.18        +33 -279    openpkg-src/binutils/binutils.patch
    1.70        +2  -2      openpkg-src/binutils/binutils.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/binutils/binutils.patch
  ============================================================================
  $ cvs diff -u -r1.17 -r1.18 binutils.patch
  --- openpkg-src/binutils/binutils.patch       29 May 2006 13:10:22 -0000      
1.17
  +++ openpkg-src/binutils/binutils.patch       24 Jun 2006 20:04:49 -0000      
1.18
  @@ -8,9 +8,9 @@
   linker under Solaris 10/amd64.
   
   Index: include/elf/common.h
  ---- include/elf/common.h.orig        2004-10-08 15:55:08 +0200
  -+++ include/elf/common.h     2006-04-10 13:58:15 +0200
  -@@ -335,6 +335,9 @@
  +--- include/elf/common.h.orig        2006-02-17 15:36:26 +0100
  ++++ include/elf/common.h     2006-06-24 21:50:39 +0200
  +@@ -346,6 +346,9 @@
    #define SHT_SUNW_verdef     0x6ffffffd      /* Versions defined by file */
    #define SHT_SUNW_verneed 0x6ffffffe /* Versions needed by file */
    #define SHT_SUNW_versym     0x6fffffff      /* Symbol versions */
  @@ -21,10 +21,10 @@
    #define SHT_GNU_verdef      SHT_SUNW_verdef
    #define SHT_GNU_verneed     SHT_SUNW_verneed
   Index: bfd/elf.c
  ---- bfd/elf.c.orig   2005-05-30 00:00:10 +0200
  -+++ bfd/elf.c        2006-04-10 13:58:42 +0200
  -@@ -2009,6 +2009,11 @@
  -       return _bfd_elf_make_section_from_shdr (abfd, hdr, name);
  +--- bfd/elf.c.orig   2006-03-16 13:20:15 +0100
  ++++ bfd/elf.c        2006-06-24 21:50:39 +0200
  +@@ -2121,6 +2121,11 @@
  +       return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
          break;
    
   +    case SHT_SUNW_syminfo:
  @@ -35,7 +35,7 @@
        case SHT_SHLIB:
          return TRUE;
    
  -@@ -4627,6 +4632,12 @@
  +@@ -4862,6 +4867,12 @@
      else
        i_ehdrp->e_type = ET_REL;
    
  @@ -49,9 +49,9 @@
        {
        case bfd_arch_unknown:
   Index: bfd/elf64-x86-64.c
  ---- bfd/elf64-x86-64.c.orig  2005-02-06 19:11:30 +0100
  -+++ bfd/elf64-x86-64.c       2006-04-10 15:34:03 +0200
  -@@ -259,7 +259,11 @@
  +--- bfd/elf64-x86-64.c.orig  2006-03-23 09:23:09 +0100
  ++++ bfd/elf64-x86-64.c       2006-06-24 21:50:39 +0200
  +@@ -327,7 +327,11 @@
    /* The name of the dynamic interpreter.      This is put in the .interp
       section.  */
    
  @@ -70,9 +70,9 @@
   Support FreeBSD >= 4.10 by fixing platform detection.
   
   Index: bfd/configure
  ---- bfd/configure.orig       2005-05-02 21:43:54 +0200
  -+++ bfd/configure    2005-05-03 19:49:53 +0200
  -@@ -9956,6 +9956,10 @@
  +--- bfd/configure.orig       2006-06-23 20:17:03 +0200
  ++++ bfd/configure    2006-06-24 21:50:39 +0200
  +@@ -11495,6 +11495,10 @@
      i[3-7]86-*-bsdi)
        COREFILE=
        ;;
  @@ -89,23 +89,23 @@
   Fight problems with --disable-nls under Solaris
   
   Index: binutils/bucomm.h
  ---- binutils/bucomm.h.orig   2005-08-16 21:35:21.000000000 +0200
  -+++ binutils/bucomm.h        2005-09-13 16:55:29.276456000 +0200
  -@@ -125,6 +125,11 @@
  - # endif /* HAVE_ALLOCA_H */
  +--- binutils/bucomm.h.orig   2006-02-09 12:49:53 +0100
  ++++ binutils/bucomm.h        2006-06-24 21:50:39 +0200
  +@@ -138,6 +138,11 @@
    #endif
    
  + 
   +#ifndef ENABLE_NLS
   +# define _LIBINTL_H
   +# define _LIBGETTEXT_H
   +#endif
   +
    #ifdef HAVE_LOCALE_H
  - # include <locale.h>
  - #endif
  + # ifndef ENABLE_NLS
  +    /* The Solaris version of locale.h always includes libintl.h.  If we have
   Index: gas/asintl.h
  ---- gas/asintl.h.orig        2005-05-05 11:12:43.000000000 +0200
  -+++ gas/asintl.h     2005-09-13 16:58:29.082469000 +0200
  +--- gas/asintl.h.orig        2005-09-30 13:42:01 +0200
  ++++ gas/asintl.h     2006-06-24 21:50:39 +0200
   @@ -20,6 +20,11 @@
       Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
       02110-1301, USA.  */
  @@ -116,25 +116,11 @@
   +#endif
   +
    #ifdef HAVE_LOCALE_H
  - # include <locale.h>
  - #endif
  -Index: gprof/gprof.c
  ---- gprof/gprof.c.orig       2005-04-23 19:13:31.000000000 +0200
  -+++ gprof/gprof.c    2005-09-13 17:13:52.242443000 +0200
  -@@ -189,8 +189,10 @@
  - #if defined (HAVE_SETLOCALE)
  -   setlocale (LC_CTYPE, "");
  - #endif
  -+#ifdef ENABLE_NLS
  -   bindtextdomain (PACKAGE, LOCALEDIR);
  -   textdomain (PACKAGE);
  -+#endif
  - 
  -   whoami = argv[0];
  -   xmalloc_set_program_name (whoami);
  + # ifndef ENABLE_NLS
  +    /* The Solaris version of locale.h always includes libintl.h.  If we have
   Index: ld/ld.h
  ---- ld/ld.h.orig     2005-06-09 04:05:46.000000000 +0200
  -+++ ld/ld.h  2005-09-13 17:24:03.767249000 +0200
  +--- ld/ld.h.orig     2005-09-30 13:42:04 +0200
  ++++ ld/ld.h  2006-06-24 21:50:39 +0200
   @@ -23,6 +23,11 @@
    #ifndef LD_H
    #define LD_H
  @@ -145,250 +131,18 @@
   +#endif
   +
    #ifdef HAVE_LOCALE_H
  - # include <locale.h>
    #endif
  + #ifndef SEEK_CUR
   Index: ld/Makefile.in
  ---- ld/Makefile.in.orig      2005-01-23 06:36:37 +0100
  -+++ ld/Makefile.in   2005-09-21 21:06:55 +0200
  -@@ -139,7 +139,7 @@
  +--- ld/Makefile.in.orig      2006-06-03 06:45:50 +0200
  ++++ ld/Makefile.in   2006-06-24 21:53:56 +0200
  +@@ -269,7 +269,7 @@
    # We put the scripts in the directory $(scriptdir)/ldscripts.
    # We can't put the scripts in $(datadir) because the SEARCH_DIR
    # directives need to be different for native and cross linkers.
   -scriptdir = $(tooldir)/lib
   +scriptdir = $(libdir)
  - 
  - EMUL = @EMUL@
  - EMULATION_OFILES = @EMULATION_OFILES@
  -
  ------------------------------------------------------------------------------
  + BASEDIR = $(srcdir)/..
  + BFDDIR = $(BASEDIR)/bfd
  + INCDIR = $(BASEDIR)/include
   
  -Security Issue (PR binutils/2584, CVE-2006-2362)
  -
  -Index: bfd/tekhex.c
  ---- bfd/tekhex.c.orig        2004-10-08 16:54:02 +0200
  -+++ bfd/tekhex.c     2006-05-26 20:21:02 +0200
  -@@ -99,7 +99,7 @@
  - #define     ISHEX(x)  hex_p(x)
  - 
  - static void tekhex_init PARAMS ((void));
  --static bfd_vma getvalue PARAMS ((char **));
  -+static bfd_boolean getvalue PARAMS ((char **, bfd_vma *));
  - static void tekhex_print_symbol
  -  PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type));
  - static void tekhex_get_symbol_info PARAMS ((bfd *, asymbol *, symbol_info 
*));
  -@@ -121,11 +121,11 @@
  - static bfd_boolean tekhex_mkobject PARAMS ((bfd *));
  - static long tekhex_get_symtab_upper_bound PARAMS ((bfd *));
  - static long tekhex_canonicalize_symtab PARAMS ((bfd *, asymbol **));
  --static void pass_over PARAMS ((bfd *, void (*) (bfd*, int, char *)));
  --static void first_phase PARAMS ((bfd *, int, char *));
  -+static bfd_boolean pass_over PARAMS ((bfd *, bfd_boolean (*) (bfd*, int, 
char *)));
  -+static bfd_boolean first_phase PARAMS ((bfd *, int, char *));
  - static void insert_byte PARAMS ((bfd *, int, bfd_vma));
  - static struct data_struct *find_chunk PARAMS ((bfd *, bfd_vma));
  --static unsigned int getsym PARAMS ((char *, char **));
  -+static bfd_boolean getsym PARAMS ((char *, char **, unsigned int *));
  - 
  - /*
  - Here's an example
  -@@ -304,40 +304,53 @@
  - 
  - #define enda(x) (x->vma + x->size)
  - 
  --static bfd_vma
  --getvalue (srcp)
  -+static bfd_boolean
  -+getvalue (srcp, valuep)
  -      char **srcp;
  -+     bfd_vma *valuep;
  - {
  -   char *src = *srcp;
  -   bfd_vma value = 0;
  --  unsigned int len = hex_value(*src++);
  -+  unsigned int len;
  -+
  -+  if (!ISHEX(*src))
  -+    return FALSE;
  - 
  -+  len = hex_value(*src++);
  -   if (len == 0)
  -     len = 16;
  -   while (len--)
  -     {
  -+      if (!ISHEX(*src))
  -+        return FALSE;
  -       value = value << 4 | hex_value(*src++);
  -     }
  -   *srcp = src;
  --  return value;
  -+  *valuep = value;
  -+  return TRUE;
  - }
  - 
  --static unsigned int
  --getsym (dstp, srcp)
  -+static bfd_boolean
  -+getsym (dstp, srcp, lenp)
  -      char *dstp;
  -      char **srcp;
  -+     unsigned int *lenp;
  - {
  -   char *src = *srcp;
  -   unsigned int i;
  --  unsigned int len = hex_value(*src++);
  -+  unsigned int len;
  - 
  -+  if (!ISHEX(*src))
  -+    return FALSE;
  -+  len = hex_value(*src++);
  -   if (len == 0)
  -     len = 16;
  -   for (i = 0; i < len; i++)
  -     dstp[i] = src[i];
  -   dstp[i] = 0;
  -   *srcp = src + i;
  --  return len;
  -+  *lenp = len;
  -+  return TRUE;
  - }
  - 
  - static struct data_struct *
  -@@ -383,7 +396,7 @@
  - 
  - /* The first pass is to find the names of all the sections, and see
  -   how big the data is */
  --static void
  -+static bfd_boolean
  - first_phase (abfd, type, src)
  -      bfd *abfd;
  -      int type;
  -@@ -391,6 +404,7 @@
  - {
  -   asection *section = bfd_abs_section_ptr;
  -   unsigned int len;
  -+  bfd_vma val;
  -   char sym[17];                     /* A symbol can only be 16chars long */
  - 
  -   switch (type)
  -@@ -398,7 +412,10 @@
  -     case '6':
  -       /* Data record - read it and store it */
  -       {
  --    bfd_vma addr = getvalue (&src);
  -+    bfd_vma addr;
  -+
  -+    if (!getvalue (&src, &addr))
  -+      return FALSE;
  - 
  -     while (*src)
  -       {
  -@@ -408,17 +425,18 @@
  -       }
  -       }
  - 
  --      return;
  -+      return TRUE;
  -     case '3':
  -       /* Symbol record, read the segment */
  --      len = getsym (sym, &src);
  -+      if (!getsym (sym, &src, &len))
  -+    return FALSE;
  -       section = bfd_get_section_by_name (abfd, sym);
  -       if (section == (asection *) NULL)
  -     {
  -       char *n = bfd_alloc (abfd, (bfd_size_type) len + 1);
  - 
  -       if (!n)
  --        abort ();           /* FIXME */
  -+        return FALSE;
  -       memcpy (n, sym, len + 1);
  -       section = bfd_make_section (abfd, n);
  -     }
  -@@ -428,8 +446,11 @@
  -         {
  -         case '1':           /* section range */
  -           src++;
  --          section->vma = getvalue (&src);
  --          section->size = getvalue (&src) - section->vma;
  -+          if (!getvalue (&src, &section->vma))
  -+            return FALSE;
  -+          if (!getvalue (&src, &val))
  -+            return FALSE;
  -+          section->size = val - section->vma;
  -           section->flags = SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC;
  -           break;
  -         case '0':
  -@@ -447,37 +468,43 @@
  -             char stype = (*src);
  - 
  -             if (!new)
  --              abort ();     /* FIXME */
  -+              return FALSE;
  -             new->symbol.the_bfd = abfd;
  -             src++;
  -             abfd->symcount++;
  -             abfd->flags |= HAS_SYMS;
  -             new->prev = abfd->tdata.tekhex_data->symbols;
  -             abfd->tdata.tekhex_data->symbols = new;
  --            len = getsym (sym, &src);
  -+            if (!getsym (sym, &src, &len))
  -+              return FALSE;
  -             new->symbol.name = bfd_alloc (abfd, (bfd_size_type) len + 1);
  -             if (!new->symbol.name)
  --              abort ();     /* FIXME */
  -+              return FALSE;
  -             memcpy ((char *) (new->symbol.name), sym, len + 1);
  -             new->symbol.section = section;
  -             if (stype <= '4')
  -               new->symbol.flags = (BSF_GLOBAL | BSF_EXPORT);
  -             else
  -               new->symbol.flags = BSF_LOCAL;
  --            new->symbol.value = getvalue (&src) - section->vma;
  -+            if (!getvalue (&src, &val))
  -+              return FALSE;
  -+            new->symbol.value = val - section->vma;
  -           }
  -+        default:
  -+          return FALSE;
  -         }
  -     }
  -     }
  -+  return TRUE;
  - }
  - 
  - /* Pass over a tekhex, calling one of the above functions on each
  -    record.  */
  - 
  --static void
  -+static bfd_boolean
  - pass_over (abfd, func)
  -      bfd *abfd;
  --     void (*func) PARAMS ((bfd *, int, char *));
  -+     bfd_boolean (*func) PARAMS ((bfd *, int, char *));
  - {
  -   unsigned int chars_on_line;
  -   bfd_boolean eof = FALSE;
  -@@ -516,9 +543,10 @@
  -     abort (); /* FIXME */
  -       src[chars_on_line] = 0;       /* put a null at the end */
  - 
  --      func (abfd, type, src);
  -+      if (!func (abfd, type, src))
  -+    return FALSE;
  -     }
  --
  -+  return TRUE;
  - }
  - 
  - static long
  -@@ -585,7 +613,9 @@
  - 
  -   tekhex_mkobject (abfd);
  - 
  --  pass_over (abfd, first_phase);
  -+  if (!pass_over (abfd, first_phase))
  -+    return NULL;
  -+
  -   return abfd->xvec;
  - }
  - 
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/binutils/binutils.spec
  ============================================================================
  $ cvs diff -u -r1.69 -r1.70 binutils.spec
  --- openpkg-src/binutils/binutils.spec        29 May 2006 13:10:23 -0000      
1.69
  +++ openpkg-src/binutils/binutils.spec        24 Jun 2006 20:04:49 -0000      
1.70
  @@ -32,8 +32,8 @@
   Class:        CORE
   Group:        Utility
   License:      GPL
  -Version:      2.16.1
  -Release:      20060529
  +Version:      2.17
  +Release:      20060624
   
   #   list of sources
   Source0:      
ftp://sources.redhat.com/pub/binutils/releases/binutils-%{version}.tar.bz2
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     openpkg-cvs@openpkg.org

Reply via email to