[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openpkg-cvs
Subject:    [CVS] OpenPKG: openpkg-src/binutils/ binutils.patch
From:       "Ralf S. Engelschall" <rse () openpkg ! org>
Date:       2004-05-29 7:22:13
Message-ID: 20040529072213.446D02FDAAD () mail ! openpkg ! org
[Download RAW message or body]

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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  rse@openpkg.org
  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                     openpkg-cvs@openpkg.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic