Skip to content

Instantly share code, notes, and snippets.

@nocko
Last active December 27, 2015 21:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nocko/7390345 to your computer and use it in GitHub Desktop.
Save nocko/7390345 to your computer and use it in GitHub Desktop.
PKGBUILD and patch for for binutils-msp430 . binutils 2.23.2 supports msp430 as a target without the msp430-gcc patchset . An updated 0003 patch is needed as well.
From b6c5b847cf983ccddff460f997f8338f2022bd78 Mon Sep 17 00:00:00 2001
From: Shawn Nock <nock@nocko.se>
Date: Sat, 9 Nov 2013 11:52:51 -0500
Subject: [PATCH] binutils-texinfo-5.0
---
bfd/doc/bfd.texinfo | 4 ++--
binutils/doc/binutils.texi | 12 ++++++------
ld/ld.texinfo | 4 ++--
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo
index 45ffa73..c3ca5e7 100644
--- a/bfd/doc/bfd.texinfo
+++ b/bfd/doc/bfd.texinfo
@@ -322,7 +322,7 @@ All of BFD lives in one directory.
@printindex cp
@tex
-% I think something like @colophon should be in texinfo. In the
+% I think something like @@colophon should be in texinfo. In the
% meantime:
\long\def\colophon{\hbox to0pt{}\vfill
\centerline{The body of this manual is set in}
@@ -333,7 +333,7 @@ All of BFD lives in one directory.
\centerline{{\sl\fontname\tensl\/}}
\centerline{are used for emphasis.}\vfill}
\page\colophon
-% Blame: doc@cygnus.com, 28mar91.
+% Blame: doc@@cygnus.com, 28mar91.
@end tex
@bye
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 45174b7..ce7746c 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -4413,7 +4413,7 @@ equivalent. At least one of the @option{--output-mach},
@table @env
-@itemx --input-mach=@var{machine}
+@item --input-mach=@var{machine}
Set the matching input ELF machine type to @var{machine}. If
@option{--input-mach} isn't specified, it will match any ELF
machine types.
@@ -4421,21 +4421,21 @@ machine types.
The supported ELF machine types are, @var{L1OM}, @var{K1OM} and
@var{x86-64}.
-@itemx --output-mach=@var{machine}
+@item --output-mach=@var{machine}
Change the ELF machine type in the ELF header to @var{machine}. The
supported ELF machine types are the same as @option{--input-mach}.
-@itemx --input-type=@var{type}
+@item --input-type=@var{type}
Set the matching input ELF file type to @var{type}. If
@option{--input-type} isn't specified, it will match any ELF file types.
The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}.
-@itemx --output-type=@var{type}
+@item --output-type=@var{type}
Change the ELF file type in the ELF header to @var{type}. The
supported ELF types are the same as @option{--input-type}.
-@itemx --input-osabi=@var{osabi}
+@item --input-osabi=@var{osabi}
Set the matching input ELF file OSABI to @var{osabi}. If
@option{--input-osabi} isn't specified, it will match any ELF OSABIs.
@@ -4445,7 +4445,7 @@ The supported ELF OSABIs are, @var{none}, @var{HPUX}, @var{NetBSD},
@var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS},
@var{NSK}, @var{AROS} and @var{FenixOS}.
-@itemx --output-osabi=@var{osabi}
+@item --output-osabi=@var{osabi}
Change the ELF OSABI in the ELF header to @var{osabi}. The
supported ELF OSABI are the same as @option{--input-osabi}.
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 71e909e..addc801 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -7863,7 +7863,7 @@ If you have more than one @code{SECT} statement for the same
@printindex cp
@tex
-% I think something like @colophon should be in texinfo. In the
+% I think something like @@colophon should be in texinfo. In the
% meantime:
\long\def\colophon{\hbox to0pt{}\vfill
\centerline{The body of this manual is set in}
@@ -7874,7 +7874,7 @@ If you have more than one @code{SECT} statement for the same
\centerline{{\sl\fontname\tensl\/}}
\centerline{are used for emphasis.}\vfill}
\page\colophon
-% Blame: doc@cygnus.com, 28mar91.
+% Blame: doc@@cygnus.com, 28mar91.
@end tex
@bye
--
1.8.4.2
# Contributor: Shawn Nock <nock at nocko.se>
pkgname=binutils-msp430
pkgver=2.23.2
pkgrel=1
pkgdesc="A set of programs to assemble and manipulate binary and object files for the MSP430 architecture"
arch=('i686' 'x86_64')
url="https://www.gnu.org/software/binutils/"
license=('GPL')
depends=('zlib')
options=('!libtool' '!distcc' '!ccache')
_binutils_ver=2.23.2
_gnu_mirror="http://ftpmirror.gnu.org"
_patches=()
source=("${_gnu_mirror}/binutils/binutils-${_binutils_ver}.tar.bz2"
"0001_ld_makefile_libdir.patch"
"0002_binutils-texinfo-5.0-gas-doc.patch"
"0003-binutils-texinfo-5.0.patch")
sha1sums=('042c51073205ebaf88c272d6168f9deb71984b56'
'7a5d78fd94fd99dd544816db75a14c326c494e68'
'b92aba28a090f214a650102ad0f0862c37b45e58'
'0ce92a0e51d86ab46c9b65d1867cbb62b03808d3')
prepare() {
cd ${srcdir}/binutils-${_binutils_ver}
patch -p0 -i "${srcdir}/0001_ld_makefile_libdir.patch"
patch -p1 -i "${srcdir}/0002_binutils-texinfo-5.0-gas-doc.patch"
patch -p1 -i "${srcdir}/0003-binutils-texinfo-5.0.patch"
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
mkdir ${srcdir}/binutils-build
}
build() {
cd ${srcdir}/binutils-build
"${srcdir}/binutils-${_binutils_ver%a}/configure" \
--prefix=/usr \
--program-prefix="msp430-" \
--disable-multilib \
--disable-nls \
--enable-install-libbfd \
--infodir=/usr/share/info \
--libdir=/usr/msp430/lib \
--mandir=/usr/share/man \
--target=msp430
# This checks the host environment and makes sure all the necessary
# tools are available to compile Binutils.
make configure-host
make -j3 tooldir=/usr
}
check() {
cd ${srcdir}/binutils-build
# do not abort on errors - manually check log files
make LDFLAGS="" -k check || true
}
package() {
cd ${srcdir}/binutils-build
make DESTDIR=${pkgdir} tooldir=/usr install
rm -f ${pkgdir}/usr/lib/libiberty.a
rm -f ${pkgdir}/usr/man/man1/{dlltool,nlmconv,windres}*
rm -f ${pkgdir}/usr/share/info/dir
cd ${pkgdir}/usr/share/info
for file in as bfd binutils configure gprof ld standards ; do
mv ${file}.info "msp430-${file}.info"
done
for bin in addr2line ar as c++filt gprof ld nm objcopy \
objdump ranlib readelf size strings strip
do
rm -f ${pkgdir}/usr/bin/${bin}
done
install -Dm644 "${srcdir}/binutils-${pkgver}/COPYING" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
@nocko
Copy link
Author

nocko commented Nov 9, 2013

These files are released to the public domain, no restrictions are put on their use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment