[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