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:   29-May-2004 09:22:13
  Branch: HEAD                             Handle: 2004052908221200

  Modified files:
    openpkg-src/binutils    binutils.patch

  Log:
    fix binutils 2.14 packaging by using the old corresponding patch

  Summary:
    Revision    Changes     Path
    1.9         +68 -1      openpkg-src/binutils/binutils.patch
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/binutils/binutils.patch
  ============================================================================
  $ cvs diff -u -r1.8 -r1.9 binutils.patch
  --- openpkg-src/binutils/binutils.patch       18 May 2004 07:19:29 -0000      1.8
  +++ openpkg-src/binutils/binutils.patch       29 May 2004 07:22:12 -0000      1.9
  @@ -20,6 +20,23 @@
   
   -----------------------------------------------------------------------------
   
  +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.
   
   Index: bfd/configure
  @@ -33,7 +50,57 @@
   +    COREFILE=''
   +    TRAD_HEADER='"hosts/i386bsd.h"'
   +    ;;
  -   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*)
  +   i[3456]86-*-bsd* | i[34567]86-*-freebsd[123] | i[34567]86-*-freebsd[123]\.* | 
i[34567]86-*-freebsd4\.[01234]* | i[34567]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
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to