7004268 Update binutils to 2.21.1
6536549 needs to support SSSE3 instructions
6836203 gstrip destroys Solaris objects
7051847 gobjdump fails with "File format not recognized"
--- a/components/binutils/Makefile Thu Dec 22 11:27:08 2011 -0800
+++ b/components/binutils/Makefile Thu Dec 22 23:21:07 2011 +0000
@@ -23,12 +23,12 @@
include ../../make-rules/shared-macros.mk
COMPONENT_NAME= binutils
-COMPONENT_VERSION= 2.19
+COMPONENT_VERSION= 2.21.1
COMPONENT_PROJECT_URL= http://www.gnu.org/software/binutils/
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
COMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
-COMPONENT_ARCHIVE_HASH= sha1:a150b97ec47996bf8f01d6bc14d41587faa4bbff
+COMPONENT_ARCHIVE_HASH= sha1:525255ca6874b872540c9967a1d26acfbc7c8230
include ../../make-rules/prep.mk
include ../../make-rules/configure.mk
--- a/components/binutils/binutils.p5m Thu Dec 22 11:27:08 2011 -0800
+++ b/components/binutils/binutils.p5m Thu Dec 22 23:21:07 2011 +0000
@@ -45,6 +45,8 @@
dir path=usr/gnu/bin
dir path=usr/gnu/share
dir path=usr/gnu/share/locale
+dir path=usr/gnu/share/locale/bg
+dir path=usr/gnu/share/locale/bg/LC_MESSAGES
dir path=usr/gnu/share/locale/da
dir path=usr/gnu/share/locale/da/LC_MESSAGES
dir path=usr/gnu/share/locale/de
@@ -109,6 +111,19 @@
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc.xsw variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc.xu variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc.xw variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.x variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xbn variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xc variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xd variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xdc variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xdw variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xn variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xr variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xs variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xsc variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xsw variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xu variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf32_sparc_sol2.xw variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc.x variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc.xbn variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc.xc variant.arch=sparc
@@ -122,6 +137,19 @@
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc.xsw variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc.xu variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc.xw variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.x variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xbn variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xc variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xd variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xdc variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xdw variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xn variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xr variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xs variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xsc variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xsw variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xu variant.arch=sparc
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf64_sparc_sol2.xw variant.arch=sparc
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386.x variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386.xbn variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386.xc variant.arch=i386
@@ -145,6 +173,29 @@
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_ldso.xsw variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_ldso.xu variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_ldso.xw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.x variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xbn variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xn variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xr variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xs variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xsc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xsw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xu variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_i386_sol2.xw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.x variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xbn variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xd variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xdc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xdw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xn variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xr variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xs variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xsc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xsw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xu variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_l1om.xw variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64.x variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64.xbn variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64.xc variant.arch=i386
@@ -158,10 +209,24 @@
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64.xsw variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64.xu variant.arch=i386
file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64.xw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.x variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xbn variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xd variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xdc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xdw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xn variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xr variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xs variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xsc variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xsw variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xu variant.arch=i386
+file path=usr/gnu/$(GNU_ARCH)/lib/ldscripts/elf_x86_64_sol2.xw variant.arch=i386
file path=usr/gnu/bin/addr2line
file path=usr/gnu/bin/ar
file path=usr/gnu/bin/as
file path=usr/gnu/bin/c++filt
+file path=usr/gnu/bin/elfedit
file path=usr/gnu/bin/gprof
file path=usr/gnu/bin/ld
file path=usr/gnu/bin/nm
@@ -171,7 +236,10 @@
file path=usr/gnu/bin/readelf
file path=usr/gnu/bin/size
file path=usr/gnu/bin/strings
-file path=usr/gnu/bin/strip
+file usr/gnu/bin/strip path=usr/gnu/bin/gstrip
+file path=usr/gnu/share/locale/bg/LC_MESSAGES/binutils.mo
+file path=usr/gnu/share/locale/bg/LC_MESSAGES/gprof.mo
+file path=usr/gnu/share/locale/bg/LC_MESSAGES/ld.mo
file path=usr/gnu/share/locale/da/LC_MESSAGES/bfd.mo
file path=usr/gnu/share/locale/da/LC_MESSAGES/binutils.mo
file path=usr/gnu/share/locale/da/LC_MESSAGES/gprof.mo
@@ -199,10 +267,17 @@
file path=usr/gnu/share/locale/ga/LC_MESSAGES/gprof.mo
file path=usr/gnu/share/locale/ga/LC_MESSAGES/ld.mo
file path=usr/gnu/share/locale/ga/LC_MESSAGES/opcodes.mo
+file path=usr/gnu/share/locale/id/LC_MESSAGES/bfd.mo
+file path=usr/gnu/share/locale/id/LC_MESSAGES/binutils.mo
+file path=usr/gnu/share/locale/id/LC_MESSAGES/gas.mo
file path=usr/gnu/share/locale/id/LC_MESSAGES/gprof.mo
+file path=usr/gnu/share/locale/id/LC_MESSAGES/ld.mo
file path=usr/gnu/share/locale/id/LC_MESSAGES/opcodes.mo
file path=usr/gnu/share/locale/ja/LC_MESSAGES/bfd.mo
file path=usr/gnu/share/locale/ja/LC_MESSAGES/binutils.mo
+file path=usr/gnu/share/locale/ja/LC_MESSAGES/gas.mo
+file path=usr/gnu/share/locale/ja/LC_MESSAGES/gprof.mo
+file path=usr/gnu/share/locale/ja/LC_MESSAGES/ld.mo
file path=usr/gnu/share/locale/ms/LC_MESSAGES/gprof.mo
file path=usr/gnu/share/locale/nl/LC_MESSAGES/gprof.mo
file path=usr/gnu/share/locale/nl/LC_MESSAGES/opcodes.mo
@@ -212,7 +287,10 @@
file path=usr/gnu/share/locale/ro/LC_MESSAGES/binutils.mo
file path=usr/gnu/share/locale/ro/LC_MESSAGES/gprof.mo
file path=usr/gnu/share/locale/ro/LC_MESSAGES/opcodes.mo
+file path=usr/gnu/share/locale/ru/LC_MESSAGES/bfd.mo
file path=usr/gnu/share/locale/ru/LC_MESSAGES/binutils.mo
+file path=usr/gnu/share/locale/ru/LC_MESSAGES/gas.mo
+file path=usr/gnu/share/locale/ru/LC_MESSAGES/gprof.mo
file path=usr/gnu/share/locale/rw/LC_MESSAGES/bfd.mo
file path=usr/gnu/share/locale/rw/LC_MESSAGES/binutils.mo
file path=usr/gnu/share/locale/rw/LC_MESSAGES/gas.mo
@@ -245,6 +323,7 @@
file path=usr/gnu/share/man/man1/ar.1
file path=usr/gnu/share/man/man1/as.1
file path=usr/gnu/share/man/man1/c++filt.1
+file path=usr/gnu/share/man/man1/elfedit.1
file path=usr/gnu/share/man/man1/gprof.1
file path=usr/gnu/share/man/man1/ld.1
file path=usr/gnu/share/man/man1/nlmconv.1
@@ -255,7 +334,7 @@
file path=usr/gnu/share/man/man1/readelf.1
file path=usr/gnu/share/man/man1/size.1
file path=usr/gnu/share/man/man1/strings.1
-file path=usr/gnu/share/man/man1/strip.1
+file usr/gnu/share/man/man1/strip.1 path=usr/gnu/share/man/man1/gstrip.1
file path=usr/share/info/as.info
file path=usr/share/info/bfd.info
file path=usr/share/info/binutils.info
@@ -270,12 +349,13 @@
hardlink path=usr/gnu/$(GNU_ARCH)/bin/objcopy target=../../bin/objcopy
hardlink path=usr/gnu/$(GNU_ARCH)/bin/objdump target=../../bin/objdump
hardlink path=usr/gnu/$(GNU_ARCH)/bin/ranlib target=../../bin/ranlib
-hardlink path=usr/gnu/$(GNU_ARCH)/bin/strip target=../../bin/strip
+hardlink path=usr/gnu/$(GNU_ARCH)/bin/gstrip target=../../bin/gstrip
link path=usr/bin/gaddr2line target=../gnu/bin/addr2line
link path=usr/bin/gar target=../gnu/bin/ar
link path=usr/bin/gas target=../gnu/bin/as
link path=usr/bin/gc++filt target=../gnu/bin/c++filt
+link path=usr/bin/gelfedit target=../gnu/bin/elfedit
link path=usr/bin/ggprof target=../gnu/bin/gprof
link path=usr/bin/gld target=../gnu/bin/ld
link path=usr/bin/gnm target=../gnu/bin/nm
@@ -285,12 +365,13 @@
link path=usr/bin/greadelf target=../gnu/bin/readelf
link path=usr/bin/gsize target=../gnu/bin/size
link path=usr/bin/gstrings target=../gnu/bin/strings
-link path=usr/bin/gstrip target=../gnu/bin/strip
+link path=usr/bin/gstrip target=../gnu/bin/gstrip
link path=usr/sfw/bin/gaddr2line target=../../gnu/bin/addr2line
link path=usr/sfw/bin/gar target=../../gnu/bin/ar
link path=usr/sfw/bin/gas target=../../gnu/bin/as
link path=usr/sfw/bin/gc++filt target=../../gnu/bin/c++filt
+link path=usr/sfw/bin/gelfedit target=../../gnu/bin/elfedit
link path=usr/sfw/bin/ggprof target=../../gnu/bin/gprof
link path=usr/sfw/bin/gld target=../../gnu/bin/ld
link path=usr/sfw/bin/gnm target=../../gnu/bin/nm
@@ -300,7 +381,7 @@
link path=usr/sfw/bin/greadelf target=../../gnu/bin/readelf
link path=usr/sfw/bin/gsize target=../../gnu/bin/size
link path=usr/sfw/bin/gstrings target=../../gnu/bin/strings
-link path=usr/sfw/bin/gstrip target=../../gnu/bin/strip
+link path=usr/sfw/bin/gstrip target=../../gnu/bin/gstrip
link path=usr/share/man/man1/gaddr2line.1 \
target=../../../gnu/share/man/man1/addr2line.1
@@ -310,6 +391,8 @@
target=../../../gnu/share/man/man1/as.1
link path=usr/share/man/man1/gc++filt.1 \
target=../../../gnu/share/man/man1/c++filt.1
+link path=usr/share/man/man1/gelfedit.1 \
+ target=../../../gnu/share/man/man1/elfedit.1
link path=usr/share/man/man1/ggprof.1 \
target=../../../gnu/share/man/man1/gprof.1
link path=usr/share/man/man1/gld.1 \
@@ -331,7 +414,7 @@
link path=usr/share/man/man1/gstrings.1 \
target=../../../gnu/share/man/man1/strings.1
link path=usr/share/man/man1/gstrip.1 \
- target=../../../gnu/share/man/man1/strip.1
+ target=../../../gnu/share/man/man1/gstrip.1
legacy pkg=SUNWbinutils \
desc="GNU binutils - Binary file utilities" \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/binutils/patches/binutils.patch Thu Dec 22 23:21:07 2011 +0000
@@ -0,0 +1,12 @@
+diff -r -u binutils-2.21.1.orig//binutils/elfcomm.h binutils-2.21.1/binutils/elfcomm.h
+--- binutils-2.21.1.orig//binutils/elfcomm.h Tue Feb 1 04:25:36 2011
++++ binutils-2.21.1/binutils/elfcomm.h Mon Dec 12 18:41:05 2011
+@@ -30,7 +30,7 @@
+ void error (const char *, ...) ATTRIBUTE_PRINTF_1;
+ void warn (const char *, ...) ATTRIBUTE_PRINTF_1;
+
+-#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
++#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2) || defined(__SUNPRO_C)
+ /* We can't use any bfd types here since readelf may define BFD64 and
+ objdump may not. */
+ #define HOST_WIDEST_INT long long