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: 06-May-2004 11:37:32 Branch: HEAD Handle: 2004050610373100 Modified files: openpkg-src/binutils binutils.patch binutils.spec Log: cleanup patch and add workaround for Fedora Summary: Revision Changes Path 1.7 +67 -1 openpkg-src/binutils/binutils.patch 1.48 +1 -1 openpkg-src/binutils/binutils.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/binutils/binutils.patch ============================================================================ $ cvs diff -u -r1.6 -r1.7 binutils.patch --- openpkg-src/binutils/binutils.patch 30 Apr 2004 20:04:53 -0000 1.6 +++ openpkg-src/binutils/binutils.patch 6 May 2004 09:37:31 -0000 1.7 @@ -1,3 +1,7 @@ +Use the platform specific ELF branding expected under FreeBSD. +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 @@ @@ -13,7 +17,13 @@ switch (bfd_get_arch (abfd)) { case bfd_arch_unknown: ---- bfd/elf64-sparc.c.dist 2003-06-20 09:42:19.000000000 +0200 + +----------------------------------------------------------------------------- + +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 @@ -24,6 +34,11 @@ && _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 --- bfd/configure.orig 2003-06-12 16:25:46.000000000 +0200 +++ bfd/configure 2004-04-30 22:01:31.000000000 +0200 @@ -38,3 +53,54 @@ 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 @@ . patch -p0 <<'@@ .' Index: openpkg-src/binutils/binutils.spec ============================================================================ $ cvs diff -u -r1.47 -r1.48 binutils.spec --- openpkg-src/binutils/binutils.spec 30 Apr 2004 20:04:53 -0000 1.47 +++ openpkg-src/binutils/binutils.spec 6 May 2004 09:37:31 -0000 1.48 @@ -34,7 +34,7 @@ Group: Utility License: GPL Version: 2.14 -Release: 20040430 +Release: 20040506 # 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 [EMAIL PROTECTED]