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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   25-Nov-2004 11:55:26
  Branch: HEAD                             Handle: 2004112510552500

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

  Log:
    GNU binutils 2.15 segfaulted in the past when built with GNU gcc 3.4.0
    under at least Sun Solaris. Now with gcc 3.4.3 this seems to be no
    longer happening, so try again to upgrade to GNU binutils 2.15. This is
    especially needed for supporting amd64-freebsd5.3.

  Summary:
    Revision    Changes     Path
    1.10        +9  -76     openpkg-src/binutils/binutils.patch
    1.54        +3  -4      openpkg-src/binutils/binutils.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/binutils/binutils.patch
  ============================================================================
  $ cvs diff -u -r1.9 -r1.10 binutils.patch
  --- openpkg-src/binutils/binutils.patch       29 May 2004 07:22:12 -0000      
1.9
  +++ openpkg-src/binutils/binutils.patch       25 Nov 2004 10:55:25 -0000      
1.10
  @@ -2,9 +2,9 @@
   This is similar to what the vendor ld(1) does on this platform.
   
   Index: bfd/elf.c
  ---- bfd/elf.c.orig   2002-07-30 20:19:42.000000000 +0200
  -+++ bfd/elf.c        2002-08-22 17:41:47.000000000 +0200
  -@@ -4235,6 +4235,12 @@
  +--- bfd/elf.c.orig   2004-05-17 21:35:57 +0200
  ++++ bfd/elf.c        2004-11-24 13:21:56 +0100
  +@@ -4327,6 +4327,12 @@
      else
        i_ehdrp->e_type = ET_REL;
    
  @@ -20,87 +20,20 @@
   
   -----------------------------------------------------------------------------
   
  -Fix the linker under Solaris/SPARC.
  -
  -Index: bfd/elf64-sparc.c
  ---- bfd/elf64-sparc.c.orig   2003-06-20 09:42:19.000000000 +0200
  -+++ bfd/elf64-sparc.c        2003-06-20 09:42:40.000000000 +0200
  -@@ -2684,7 +2684,7 @@
  -            overflows.  We don't, but this breaks stabs debugging
  -            info, whose relocations are only 32-bits wide.  Ignore
  -            overflows for discarded entries.  */
  --        if (r_type == R_SPARC_32
  -+        if ((r_type == R_SPARC_32 || r_type == R_SPARC_DISP32)
  -             && _bfd_elf_section_offset (output_bfd, info, input_section,
  -                                         rel->r_offset) == (bfd_vma) -1)
  -           break;
  -
  ------------------------------------------------------------------------------
  -
  -Support FreeBSD 4.10 by fixing platform detection.
  +Support FreeBSD >= 4.10 by fixing platform detection.
   
   Index: bfd/configure
  ---- bfd/configure.orig       2003-06-12 16:25:46.000000000 +0200
  -+++ bfd/configure    2004-04-30 22:01:31.000000000 +0200
  -@@ -5133,6 +5133,10 @@
  -   i[3456]86-*-bsdi)
  +--- bfd/configure.orig       2004-05-17 21:35:57 +0200
  ++++ bfd/configure    2004-11-24 15:14:05 +0100
  +@@ -5312,6 +5312,10 @@
  +   i[3-7]86-*-bsdi)
        COREFILE=
        ;;
   +  i[3456]86-*-freebsd4.1[0-9]*)
   +    COREFILE=''
   +    TRAD_HEADER='"hosts/i386bsd.h"'
   +    ;;
  -   i[3456]86-*-bsd* | i[34567]86-*-freebsd[123] | 
i[34567]86-*-freebsd[123]\.* | i[34567]86-*-freebsd4\.[01234]* | 
i[34567]86-*-freebsd*aout*)
  +   i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | 
i[3-7]86-*-freebsd4\.[01234]* | i[3-7]86-*-freebsd*aout*)
        COREFILE=trad-core.lo
        TRAD_HEADER='"hosts/i386bsd.h"'
   
  ------------------------------------------------------------------------------
  -
  -Accept (and ignore) --as-needed/--no-as-needed options from GNU binutils
  -2.15 in our GNU binutils 2.14 to resolve a chicken and egg problem under
  -platforms (like Fedora Core 2) which already run GNU binutils 2.15: the
  -vendor cc(1) knows that it has ld(1) from GNU binutils 2.15 and hence
  -always uses the --as-needed option when calling ld(1). Unfortunately,
  -between having built "binutils" and "gcc" packages, this will break
  -OpenPKG because the vendor cc(1) would run the OpenPKG ld(1) with an
  -option is (still) does not understand. The only workaround is to let our
  -ld(1) accept and ignore this option. Once our cc(1) from "gcc" package
  -is installed, the problem is gone, because our "gcc" package correctly
  -detects that our ld(1) still does ot understand --as-needed.
  -
  -Index: ld/lexsup.c
  ---- ld/lexsup.c.orig 2003-03-31 20:12:52.000000000 +0200
  -+++ ld/lexsup.c      2004-05-05 16:52:46.000000000 +0200
  -@@ -112,7 +112,9 @@
  - #define OPTION_SPLIT_BY_RELOC               (OPTION_WARN_SECTION_ALIGN + 1)
  - #define OPTION_SPLIT_BY_FILE                (OPTION_SPLIT_BY_RELOC + 1)
  - #define OPTION_WHOLE_ARCHIVE                (OPTION_SPLIT_BY_FILE + 1)
  --#define OPTION_WRAP                 (OPTION_WHOLE_ARCHIVE + 1)
  -+#define OPTION_AS_NEEDED                (OPTION_WHOLE_ARCHIVE + 1)
  -+#define OPTION_NO_AS_NEEDED             (OPTION_AS_NEEDED + 1)
  -+#define OPTION_WRAP                 (OPTION_NO_AS_NEEDED + 1)
  - #define OPTION_FORCE_EXE_SUFFIX             (OPTION_WRAP + 1)
  - #define OPTION_GC_SECTIONS          (OPTION_FORCE_EXE_SUFFIX + 1)
  - #define OPTION_NO_GC_SECTIONS               (OPTION_GC_SECTIONS + 1)
  -@@ -423,6 +425,10 @@
  -      TWO_DASHES },
  -   { {"whole-archive", no_argument, NULL, OPTION_WHOLE_ARCHIVE},
  -       '\0', NULL, N_("Include all objects from following archives"), 
TWO_DASHES },
  -+  { {"as-needed", no_argument, NULL, OPTION_AS_NEEDED},
  -+      '\0', NULL, N_("Only set DT_NEEDED for following dynamic libs if 
used"), TWO_DASHES },
  -+  { {"no-as-needed", no_argument, NULL, OPTION_NO_AS_NEEDED},
  -+      '\0', NULL, N_("Always set DT_NEEDED for following dynamic libs"), 
TWO_DASHES },
  -   { {"wrap", required_argument, NULL, OPTION_WRAP},
  -       '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), 
TWO_DASHES },
  -   { {"mpc860c0", optional_argument, NULL, OPTION_MPC860C0},
  -@@ -823,6 +829,10 @@
  -     case OPTION_NO_WHOLE_ARCHIVE:
  -       whole_archive = FALSE;
  -       break;
  -+    case OPTION_AS_NEEDED:
  -+    case OPTION_NO_AS_NEEDED:
  -+      einfo("%P: warning: options --as-needed and --no-as-needed still not 
supported\n");
  -+      break;
  -     case 'O':
  -       /* FIXME "-O<non-digits> <value>" used to set the address of
  -          section <non-digits>.  Was this for compatibility with
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/binutils/binutils.spec
  ============================================================================
  $ cvs diff -u -r1.53 -r1.54 binutils.spec
  --- openpkg-src/binutils/binutils.spec        30 May 2004 07:29:30 -0000      
1.53
  +++ openpkg-src/binutils/binutils.spec        25 Nov 2004 10:55:25 -0000      
1.54
  @@ -33,8 +33,8 @@
   Class:        CORE
   Group:        Utility
   License:      GPL
  -Version:      2.14
  -Release:      20040530
  +Version:      2.15
  +Release:      20041125
   
   #   list of sources
   Source0:      
ftp://sources.redhat.com/pub/binutils/releases/binutils-%{version}.tar.bz2
  @@ -63,10 +63,9 @@
   
   %track
       prog binutils = {
  -        comment   = "rse: 2.15 is broken (segfaults on multiple platforms 
once built with gcc 3.4.0)"
           version   = %{version}
           url       = ftp://sources.redhat.com/pub/binutils/releases/
  -        regex     = binutils-(\d+\.(14|15\.\d+|1[6-9](\.\d+)?))\.tar\.bz2
  +        regex     = binutils-(__VER__)\.tar\.bz2
       }
   
   %prep
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to