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

List:       openpkg-cvs
Subject:    [CVS] OpenPKG: openpkg-src/binutils/ binutils.patch binutils.spec
From:       "Ralf S. Engelschall" <rse () openpkg ! org>
Date:       2006-05-29 13:10:24
Message-ID: 20060529131024.B48D71B5CA4 () master ! openpkg ! org
[Download RAW message or body]

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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  rse@openpkg.org
  Module: openpkg-src                      Date:   29-May-2006 15:10:24
  Branch: HEAD                             Handle: 2006052914102201

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

  Log:
    Fix GNU binutils support for Solaris 10/amd64:
    
    - recognize and ignore Solaris 10's "Solaris Cryptographic Framework"
      ELF header type "SUNW_signature"
    - recognize and ignore Solaris 10's "Symbol information"
      ELF header type "SUNW_syminfo"
    - recognize and ignore Solaris 10's "DTrace Object Format"
      ELF header type.
    - Fix the path to the dynamic linker under Solaris 10/amd64.
    - Enable 64-bit support in GNU binutils libbfd.
    
    Sponsored by: SpaceNet AG <http://www.space.net/>

  Summary:
    Revision    Changes     Path
    1.17        +50 -3      openpkg-src/binutils/binutils.patch
    1.69        +9  -4      openpkg-src/binutils/binutils.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/binutils/binutils.patch
  ============================================================================
  $ cvs diff -u -r1.16 -r1.17 binutils.patch
  --- openpkg-src/binutils/binutils.patch	26 May 2006 19:09:30 -0000	1.16
  +++ openpkg-src/binutils/binutils.patch	29 May 2006 13:10:22 -0000	1.17
  @@ -1,10 +1,41 @@
   Use the platform specific ELF branding expected under FreeBSD.
   This is similar to what the vendor ld(1) does on this platform.
   
  +Additionally, recognize and ignore Solaris 10's "Solaris Cryptographic
  +Framework" ELF header type "SUNW_signature", Solaris 10 "Symbol
  +information" ELF header type "SUNW_syminfo" and Solaris 10 "DTrace
  +Object Format" ELF header type. Also, fix the path to the dynamic
  +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 @@
  + #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 */
  ++#define SHT_SUNW_syminfo 0x6ffffffc	/* Symbol information */
  ++#define SHT_SUNW_signature 0x6ffffff6	/* Solaris Cryptographic Framework: Digital Signature */
  ++#define SHT_SUNW_dof 0x6ffffff4	/* Solaris DTrace Object Format */
  + 
  + #define SHT_GNU_verdef	SHT_SUNW_verdef
  + #define SHT_GNU_verneed	SHT_SUNW_verneed
   Index: bfd/elf.c
  ---- bfd/elf.c.orig	2005-03-06 03:02:15 +0100
  -+++ bfd/elf.c	2005-05-03 19:48:25 +0200
  -@@ -4621,6 +4621,12 @@
  +--- 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);
  +       break;
  + 
  ++    case SHT_SUNW_syminfo:
  ++    case SHT_SUNW_signature:
  ++    case SHT_SUNW_dof:
  ++      return TRUE;
  ++
  +     case SHT_SHLIB:
  +       return TRUE;
  + 
  +@@ -4627,6 +4632,12 @@
      else
        i_ehdrp->e_type = ET_REL;
    
  @@ -17,6 +48,22 @@
      switch (bfd_get_arch (abfd))
        {
        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 @@
  + /* The name of the dynamic interpreter.	 This is put in the .interp
  +    section.  */
  + 
  ++#if defined(OPENPKG_OS_SOLARIS)
  ++#define ELF_DYNAMIC_INTERPRETER "/lib/amd64/ld.so.1"
  ++#else
  + #define ELF_DYNAMIC_INTERPRETER "/lib/ld64.so.1"
  ++#endif
  + 
  + /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
  +    copying dynamic variables from a shared lib into an app's dynbss
  +
   
   -----------------------------------------------------------------------------
   
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/binutils/binutils.spec
  ============================================================================
  $ cvs diff -u -r1.68 -r1.69 binutils.spec
  --- openpkg-src/binutils/binutils.spec	26 May 2006 19:09:30 -0000	1.68
  +++ openpkg-src/binutils/binutils.spec	29 May 2006 13:10:23 -0000	1.69
  @@ -33,7 +33,7 @@
   Group:        Utility
   License:      GPL
   Version:      2.16.1
  -Release:      20060526
  +Release:      20060529
   
   #   list of sources
   Source0:      ftp://sources.redhat.com/pub/binutils/releases/binutils-%{version}.tar.bz2
  @@ -42,8 +42,8 @@
   #   build information
   Prefix:       %{l_prefix}
   BuildRoot:    %{l_buildroot}
  -BuildPreReq:  OpenPKG, openpkg >= 20050726, make
  -PreReq:       OpenPKG, openpkg >= 20050726
  +BuildPreReq:  OpenPKG, openpkg >= 20060419, make
  +PreReq:       OpenPKG, openpkg >= 20060419
   AutoReq:      no
   AutoReqProv:  no
   
  @@ -75,11 +75,15 @@
       #   configure package
       CC="%{l_cc}"; export CC
       CFLAGS="%{l_cflags}"; export CFLAGS
  +    ARGS=""
       case "%{l_platform -t}" in
           *-freebsd* ) CFLAGS="$CFLAGS -DOPENPKG_OS_FREEBSD" ;;
           *-linux*   ) CFLAGS="$CFLAGS -DOPENPKG_OS_LINUX"   ;;
           *-sunos*   ) CFLAGS="$CFLAGS -DOPENPKG_OS_SOLARIS" ;;
       esac
  +    case "%{l_platform -t}" in
  +        amd64-sunos* ) ARGS="$ARGS --enable-64-bit-bdf" ;;
  +    esac
       ( echo "#!/bin/sh"
         echo "touch lex.yy.c"
         echo "echo 'lex.sh:WARNING: local Lex wrapper unexpectedly called.' 1>&2"
  @@ -93,7 +97,8 @@
           --prefix=%{l_prefix} \
           --includedir=%{l_prefix}/include/binutils \
           --libdir=%{l_prefix}/lib/binutils \
  -        --disable-nls
  +        --disable-nls \
  +        $ARGS
   
       #   build package
       %{l_make} %{l_mflags}
  @@ .
______________________________________________________________________
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