summaryrefslogtreecommitdiffstats
path: root/source/d/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/binutils')
-rw-r--r--source/d/binutils/binutils-2.20.51.0.8.tar.sign8
-rw-r--r--source/d/binutils/binutils-2.21.51.0.6.tar.sign8
-rwxr-xr-xsource/d/binutils/binutils.SlackBuild32
-rw-r--r--source/d/binutils/release.binutils-2.20.51.0.8491
-rw-r--r--source/d/binutils/release.binutils-2.21.51.0.6257
5 files changed, 296 insertions, 500 deletions
diff --git a/source/d/binutils/binutils-2.20.51.0.8.tar.sign b/source/d/binutils/binutils-2.20.51.0.8.tar.sign
deleted file mode 100644
index 321434264..000000000
--- a/source/d/binutils/binutils-2.20.51.0.8.tar.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBLxPBQyGugalF9Dw4RAq+mAKCJbsksL4Hlb/tH9dL7kTbFE/BO8QCfXStv
-0oOljJ/jyU8Z8SlaEywyfys=
-=qMqR
------END PGP SIGNATURE-----
diff --git a/source/d/binutils/binutils-2.21.51.0.6.tar.sign b/source/d/binutils/binutils-2.21.51.0.6.tar.sign
new file mode 100644
index 000000000..f5824788e
--- /dev/null
+++ b/source/d/binutils/binutils-2.21.51.0.6.tar.sign
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.11 (GNU/Linux)
+Comment: See http://www.kernel.org/signature.html for info
+
+iD8DBQBNNlEFyGugalF9Dw4RAiCTAJ4iU8QPmGnj/bIA+qXwpNK926m3ywCeMEGE
++3QFy1J7SclHy+sNNX0unSA=
+=OHU3
+-----END PGP SIGNATURE-----
diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild
index b0ffefb6e..a5616ea21 100755
--- a/source/d/binutils/binutils.SlackBuild
+++ b/source/d/binutils/binutils.SlackBuild
@@ -37,8 +37,27 @@ fi
NUMJOBS=${NUMJOBS:-" -j7 "}
+# Uncomment this to include the experimental gold linker:
+GOLD=" --enable-gold=yes --enable-ld=default "
+
+# Set to ld.gold or ld.bfd:
+DEFAULT_LD=ld.bfd
+
+# The --enable-initfini-array option was added in binutils-2.21.51.0.3.
+# This option currently causes a world of hurt trying to compile glibc,
+# and might break static libraries or cause other ill effects. There
+# is an upstream patch for glibc but it does not avoid all of the known
+# problems (and there may be some unknown ones, too), so we will avoid
+# introducing this feature for now.
+# References:
+# http://sourceware.org/bugzilla/show_bug.cgi?id=12343
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770
+NO_INITFINI=" --disable-initfini-array "
+
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ # The config option below is currently needed to compile on x86:
+ WERROR="--enable-werror=no"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -78,7 +97,12 @@ CFLAGS="$SLKCFLAGS" \
--enable-shared \
--enable-multilib \
--enable-64-bit-bfd \
+ --enable-plugins \
+ --enable-threads \
--enable-targets=$ARCH-slackware-linux \
+ $GOLD \
+ $NO_INITFINI \
+ $WERROR \
--build=$ARCH-slackware-linux \
|| exit 1
@@ -97,13 +121,19 @@ cp -a include/libiberty.h $PKG/usr/include/libiberty.h
mv $PKG/usr/${ARCH}-slackware-linux/lib/ldscripts $PKG/usr/lib${LIBDIRSUFFIX}
( cd $PKG/usr/${ARCH}-slackware-linux
ln -s /usr/lib${LIBDIRSUFFIX}/ldscripts lib/ldscripts
- for FILE in ar as ld nm objcopy objdump ranlib strip ; do
+ for FILE in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip ; do
if [ -r "/usr/bin/$FILE" ]; then
rm -f bin/$FILE
ln -s /usr/bin/$FILE bin/$FILE
fi
done
)
+
+# If the requested default linker is present, make it the default:
+# Set the link differently on the system to change the default at runtime.
+if [ -r $PKG/usr/bin/$DEFAULT_LD ]; then
+ ( cd $PKG/usr/bin ; rm -f ld ; ln -sf $DEFAULT_LD ld )
+fi
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/d/binutils/release.binutils-2.20.51.0.8 b/source/d/binutils/release.binutils-2.20.51.0.8
deleted file mode 100644
index d3d2bd8a7..000000000
--- a/source/d/binutils/release.binutils-2.20.51.0.8
+++ /dev/null
@@ -1,491 +0,0 @@
-This is the beta release of binutils 2.20.51.0.8 for Linux, which is
-based on binutils 2010 0412 in CVS on sourceware.org plus various
-changes. It is purely for Linux.
-
-All relevant patches in patches have been applied to the source tree.
-You can take a look at patches/README to see what have been applied and
-in what order they have been applied.
-
-Starting from the 2.20.51.0.4 release, no diffs against the previous
-release will be provided.
-
-You can enable both gold and bfd ld with --enable-gold=both. Gold will
-be installed as ld.gold and bfd ld will be installed as ld.bfd. By
-default, ld.gold will be installed as ld. You can use the configure
-option, --enable-gold=both/bfd to choose bfd ld as the default linker,
-ld. IA-32 binary and X64_64 binary tar balls are configured with
---enable-gold=both/bfd --enable-plugins --enable-threads.
-
-Starting from the 2.18.50.0.4 release, the x86 assembler no longer
-accepts
-
- fnstsw %eax
-
-fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged.
-Please use
-
- fnstsw %ax
-
-Starting from the 2.17.50.0.4 release, the default output section LMA
-(load memory address) has changed for allocatable sections from being
-equal to VMA (virtual memory address), to keeping the difference between
-LMA and VMA the same as the previous output section in the same region.
-
-For
-
-.data.init_task : { *(.data.init_task) }
-
-LMA of .data.init_task section is equal to its VMA with the old linker.
-With the new linker, it depends on the previous output section. You
-can use
-
-.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) }
-
-to ensure that LMA of .data.init_task section is always equal to its
-VMA. The linker script in the older 2.6 x86-64 kernel depends on the
-old behavior. You can add AT (ADDR(section)) to force LMA of
-.data.init_task section equal to its VMA. It will work with both old
-and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and
-above is OK.
-
-The new x86_64 assembler no longer accepts
-
- monitor %eax,%ecx,%edx
-
-You should use
-
- monitor %rax,%ecx,%edx
-
-or
- monitor
-
-which works with both old and new x86_64 assemblers. They should
-generate the same opcode.
-
-The new i386/x86_64 assemblers no longer accept instructions for moving
-between a segment register and a 32bit memory location, i.e.,
-
- movl (%eax),%ds
- movl %ds,(%eax)
-
-To generate instructions for moving between a segment register and a
-16bit memory location without the 16bit operand size prefix, 0x66,
-
- mov (%eax),%ds
- mov %ds,(%eax)
-
-should be used. It will work with both new and old assemblers. The
-assembler starting from 2.16.90.0.1 will also support
-
- movw (%eax),%ds
- movw %ds,(%eax)
-
-without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
-available at
-
-http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
-http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch
-
-The ia64 assembler is now defaulted to tune for Itanium 2 processors.
-To build a kernel for Itanium 1 processors, you will need to add
-
-ifeq ($(CONFIG_ITANIUM),y)
- CFLAGS += -Wa,-mtune=itanium1
- AFLAGS += -Wa,-mtune=itanium1
-endif
-
-to arch/ia64/Makefile in your kernel source tree.
-
-Please report any bugs related to binutils 2.20.51.0.8 to
-hjl.tools@gmail.com
-
-and
-
-http://www.sourceware.org/bugzilla/
-
-Changes from binutils 2.20.51.0.7:
-
-1. Update from binutils 2010 0412.
-2. Don't bind unique symbol locally. PR 11434.
-3. Add DWARF 4 support to linker and readelf.
-4. Fix --no-export-dynamic for PIE. PR 11413.
-5. Speed up x86 assembler.
-6. Use memmove instead of memcpy to copy overlap memory in assembler.
-PR 11456.
-7. Improve gold.
-8. Improve VMS support.
-9. Improve PE support.
-10. Add TI C6X support.
-11. Improve arm support.
-12. Improve cris support.
-13. Improve ppc support.
-
-Changes from binutils 2.20.51.0.6:
-
-1. Update from binutils 2010 0318.
-2. Don't set ELFOSABI_LINUX for undefined STT_GNU_IFUNC symbols.
-3. Improve x86 assembler error messages.
-4. Support vpermilp[ds] for x86.
-5. Fix strip for group sections.
-6. Fix objcopy for PE PIE. PR 11396.
-7. Avoid 32bit overflow in linker.
-8. Correct backslash quote logic in assembler. PR 11356.
-9. Improve linker --section-start support. PR 11304.
-10. Properly update LMA. PR 11219.
-11. Don't combine .init_array/.fini_array sections for relocatable link.
-12. Add Solaris Sparc/x86 linker support.
-13. Support dumping .ARM.exidx/.ARM.extab.
-14. Add STT_GNU_IFUNC support for Sparc.
-15. Improve gold.
-16. Improve arm support.
-17. Improve avr support.
-18. Improve mips support.
-19. Improve ppc support.
-20. Improve xtensa support.
-
-Changes from binutils 2.20.51.0.5:
-
-1. Update from binutils 2010 0205.
-2. Support x86 XSAVE extended state core dump.
-3. Add an option, -mavxscalar=, to x86 assembler to encoding AVX
-scalar instructions with VL=256 and update x86 disassembler.
-4. Add xsave64/xrstor64 to x86 assembler/disassembler.
-5. Add all the possible aliases for VPCOM* insns to x86 assembler.
-5. Fix --gc-sections to detect unresolved symbol in DSO. PR 11218.
-6. Support number of ELF program segments > 64K.
-7. Support BSD4.4 extended archive write.
-8. Report error on bad section name with "objdump -j". PR 11225.
-9. Linker now checks if all files are present and indicates those missing.
-PR 4437.
-10. Allow adding section from empy file with objcopy.
-11. Update C++ demangler to support vector.
-12. Improve gold.
-13. Improve arm support.
-14. Improve hppa support.
-15. Improve ppc support.
-16. Improve s390 support.
-
-Changes from binutils 2.20.51.0.4:
-
-1. Update from binutils 2010 0115.
-2. Optimize x86 assembler/disassembler.
-3. Add a new program, elfedit, to edit ELF files. PR 11131.
-4. Add --dyn-syms to readelf. PR 11146.
-5. Remove "Warning: " from objcopy error message. PR 11130.
-6. Fix linker --gc-sections with undefined __start_XXX/__stop_XXX symbols.
-PR 11133.
-7. Fix linker --gc-sections with SHT_NOTE section. PR 11143.
-8. Fix a c++filt bug. PR 11137.
-9. Fix assembler listing. PR 11122.
-10. Improve gold. Change --enable-gold to --enable-gold=[both[/{gold,bfd}]].
-11. Improve arm support.
-12. Improve mips support.
-13. Improve ppc support.
-14. Improve MacOS support.
-
-Changes from binutils 2.20.51.0.3:
-
-1. Update from binutils 2009 1214.
-2. Update x86 assembler to check lockable instructions for lock prefix.
-3. Update x86 disassembler to display all prefixes.
-4. Support AMD XOP new instructions.
-5. Fix an x86 assembler regression on Intel syntax. PR 11037.
-6. Improve ia64 linker relaxation. PR 10955.
-7. Add --no-relax linker option.
-8. Update readelf to dump .debug_pubtype sections.
-9. Improve gold:
- a. Support linking against STT_GNU_IFUNC symbols defined in
- shared libraries.
- b. Support linking with STB_GNU_UNIQUE symbols.
-10. Improve arm support.
-11. Improve m68k support.
-12. Improve mips support.
-13. Improve ppc support.
-
-Changes from binutils 2.20.51.0.2:
-
-1. Update from binutils 2009 1109.
-2. Fix "ld -s -static" with STT_GNU_IFUNC symbols. PR 10911.
-3. Fix file permission on PIE with objcopy. PR 10802.
-4. Fix x86 Intel syntax assembler with relocation. PR 10856.
-5. Fix x86 Intel syntax assembler with far jump. PR 10740.
-6. Add AMD LWP support.
-7. Renamed linker option --add-needed to --copy-dt-needed-entries.
-8. Support enabling both ld and gold with --enable-gold=both and
---enable-linker=[bfd,gold].
-9. Improve gold.
-10. Improve arm support.
-11. Improve cris support.
-12. Improve hppa support.
-13. Improve m68k support.
-14. Improve RX support.
-15. Improve spu support.
-16. Improve vax support.
-17. Improve MacOS support.
-18. Improve Windows support.
-
-Changes from binutils 2.20.51.0.1:
-
-1. Update from binutils 2009 1009.
-2. Add .cfi_sections to assembler.
-3. Fix a linker bug with local dynamic symbols. PR 10630.
-4. Add DWARF-3/DWARF-4 support.
-5. Fix the x86 assembler PIC bug. PR 10677.
-6. Fix the x86-64 displacement assembler bug. PR 10636.
-7. Fix the x86 assembler bug with Intel memory syntax. PR 10637.
-8. Fix the x86 PIC assembler bug with Intel syntax. PR 10704.
-9. Add RX support.
-10. Improve gold.
-11. Improve arm support.
-12. Improve bfin support.
-13. Improve cr16 support.
-14. Improve m68k support.
-15. Improve mips support.
-16. Improve ppc support.
-
-Changes from binutils 2.19.51.0.14:
-
-1. Update from binutils 2009 0905.
-2. Add Intel L1OM support.
-3. Add MicroBlaze support.
-4. Fix assembler for DWARF info without .file/.loc directives. PR 10531.
-5. Improve -pie with TLS relocations on ia32 and x86-64. PRs 6443/10434.
-6. Fix linker page size support. PR 10569.
-7. Fix wildcard in linker version script. PR 10518.
-8. Fix strip with STB_GNU_UNIQUE. PR 10492.
-9. Fix strip on unwriteable files. PR 10364.
-10. Fix crash with "ld --build-id /usr/lib/libc.a". PR 10555.
-11. Fix linker for Linux kernel build. PR 10429.
-12. Support string merge on .comment section.
-13. Improve build with C++ compiler.
-14. Improve gold.
-15. Improve arm support.
-16. Improve bfin support.
-11. Improve m32c support.
-17. Improve m68k support.
-18. Improve mep support.
-19. Improve mips support.
-20. Improve ppc support.
-21. Improve spu support.
-22. Improve xtensa support.
-
-Changes from binutils 2.19.51.0.13:
-
-1. Update from binutils 2009 0722.
-2. Fix linker for STT_GNU_IFUNC symbols in static executables. PR 10433.
-3. Fix linker bug for Linux kernel build. PR 10429.
-
-Changes from binutils 2.19.51.0.12:
-
-1. Update from binutils 2009 0721.
-2. Fix linker for undefined STT_GNU_IFUNC symbols. PR 10426.
-3. Fix x86 assembler for nops in 64bit. PR 10420.
-4. Add a new option, --insn-width, to objdump.
-5. Improve arm support.
-6. Improve mips support.
-7. Improve gold support.
-
-Changes from binutils 2.19.51.0.11:
-
-1. Update from binutils 2009 0716.
-2. Fix x86 assembler for jumping to local STT_GNU_IFUNC symbols.
-3. Fix x86 linker for relocatable link with local STT_GNU_IFUNC symbols.
-4. Implement ppc STT_GNU_IFUNC support.
-5. Support x86 FMA4.
-6. Fix linker regression with Linux kernel build.
-7. Support unordered references in DWARF reader.
-8. Improve PE/COFF support.
-8. Improve arm support.
-9. Improve m10300 support.
-10. Improve ppc support.
-11. Improve spu support.
-12. Improve gold support.
-
-Changes from binutils 2.19.51.0.10:
-
-1. Update from binutils 2009 0627.
-2. Fix strip on static executable with STT_GNU_IFUNC symbol. PR 10337.
-3. Add STB_GNU_UNIQUE support.
-4. Fix objcopy on empty file. PR 10321.
-5. Fix debug section for PE-COFF.
-6. Suport build with gcc 4.5.0.
-7. Improve arm support.
-8. Improve ppc support.
-9. Improve m10300 support.
-10. Improve mep support.
-11. Improve MacOS support.
-12. Improve gold support.
-
-Changes from binutils 2.19.51.0.9:
-
-1. Update from binutils 2009 0618.
-2. Update STT_GNU_IFUNC symbol support. PR 10269/10270.
-3. Fix an assembler CFI bug. PR 10255.
-4. Improve objdump. PR 10263/10288
-5. Improve readelf.
-6. Improve arm support.
-7. Improve moxie support.
-8. Improve spu support.
-9. Improve vax support.
-10. Improve COFF/PE support.
-11. Improve MacOS support.
-
-Changes from binutils 2.19.51.0.8:
-
-1. Update from binutils 2009 0606.
-2. Update STT_GNU_IFUNC symbol support.
-
-Changes from binutils 2.19.51.0.7:
-
-1. Update from binutils 2009 0603.
-2. Fix STT_GNU_IFUNC symbol with pointer equality.
-
-Changes from binutils 2.19.51.0.6:
-
-1. Update from binutils 2009 0601.
-2. Update STT_GNU_IFUNC support. PR 10205.
-3. Fix x86 asssembler Intel syntax regression with '$'. PR 10198.
-
-Changes from binutils 2.19.51.0.5:
-
-1. Update from binutils 2009 0529.
-2. Rewrite STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE linker
-support for STT_GNU_IFUNC symbols in shared library, dynamic executable
-and static executable.
-3. Add plugin support.
-4. Improve spu support.
-
-Changes from binutils 2.19.51.0.4:
-
-1. Update from binutils 2009 0525.
-2. Add STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE support to
-assembler and linker.
-3. Add LD_AS_NEEDED support to linker.
-4. Remove AMD SSE5 support.
-5. A new Intel syntax parser in x86 assembler.
-6. Add DWARF discriminator support.
-7. Add --64 support for x86 PE/COFF assembler.
-8. Support common symbol with alignment for PE/COFF.
-9. Improve gold support.
-10. Improve arm support.
-11. Improve mep support.
-12. Improve mips support.
-13. Improve ppc support.
-14. Improve spu support.
-
-Changes from binutils 2.19.51.0.3:
-
-1. Update from binutils 2009 0418.
-2. Remove EFI targets and use PEI targets for EFI. Add --file-alignment,
---heap, --image-base, --section-alignment, --stack and --subsystem command
-line options for objcopy. PR 10074.
-3. Update linker to warn alternate ELF machine code.
-4. Fix x86 linker TLS transition. PR 9938.
-5. Improve DWARF dumper to check relocations against STT_SECTION
-symbol.
-6. Guard DWARF dumper on bad DWARF input.
-7. Add EM_ETPU and EM_SLE9X. Reserve 3 ELF machine types for Intel.
-8. Adding a linker missing entry symbol warning for -pie. PR 9970.
-9. Make the -e option for linker to imply -u. PR 6766.
-10. Properly handle paging for PEI targets.
-11. Fix assembler listing with input from stdin.
-12. Update objcopy/string to generate symbol table if there is any
-relocation in output. PR 9945.
-13. Require texinfo 4.7 for build. PR 10039.
-14. Add moxie support.
-15. Improve gold support.
-16. Improve AIX support.
-17. Improve arm support.
-18. Improve cris support.
-19. Improve crx support.
-20. Improve mips support.
-21. Improve ppc support.
-22. Improve s390 support.
-23. Improve spu support.
-24. Improve vax support.
-
-Changes from binutils 2.19.51.0.2:
-
-1. Update from binutils 2009 0310.
-2. Fix strip on common symbols in relocatable file. PR 9933.
-3. Fix --enable-targets=all build.
-4. Fix ia64 build with -Wformat-security. PR 9874.
-5. Add REGION_ALIAS support in linker script.
-6. Add think archive support to readelf.
-7. Improve DWARF support in objdump.
-8. Improve alpha support.
-9. Improve arm support.
-10. Improve hppa support.
-11. Improve m68k support.
-12. Improve mips support.
-13. Improve ppc support.
-14. Improve xtensa support.
-15. Add score 7 support.
-
-Changes from binutils 2.19.51.0.1:
-
-1. Update from binutils 2009 0204.
-2. Support AVX Programming Reference (January, 2009)
-3. Improve .s suffix support in x86 disassembler.
-4. Add --prefix/--prefix-strip for objdump -S. PR 9784.
-5. Change "ld --as-needed" to resolve undefined references in DSO.
-6. Add -Ttext-segment to ld to set address of text segment.
-7. Fix "ld -r --gc-sections --entry" crash with COMDAT group. PR 9727.
-8. Improve linker compatibility for g++ 3.4 `.gnu.linkonce.r.*.
-9. Add VMS/ia64 support.
-10. Improve arm support.
-11. Improve cris support.
-12. Improve m68k support.
-13. Improve mips support.
-14. Improve spu support.
-
-Changes from binutils 2.19.50.0.1:
-
-1. Update from binutils 2009 0106.
-2. Support AVX Programming Reference (December, 2008)
-2. Encode AVX insns with 2byte VEX prefix if possible.
-4. Add .s suffix support to swap register operands to x86 assembler.
-5. Properly select NOP insns for code alignment in x86 assembler.
-6. Fix 2 symbol visibility linker bugs. PRs 9676/9679.
-7. Fix an ia64 linker relaxation bug. PR 7036.
-8. Fix a symbol versioning bug. PR 7047.
-9. Fix unitialized data in linker. PR 7028.
-10. Avoid a linker crash on bad input. PR 7023.
-11. Fix a linker memory leak. PR 7012.
-12. Fix strip/objcopy crash on PT_GNU_RELRO. PR 7011.
-13. Improve MacOS support.
-14. Fix a COFF linker bug. PR 6945.
-15. Add LM32 support.
-16. Fix various arm bugs.
-17. Fix various avr bugs.
-18. Fix various CR16 bugs.
-19. Fix various cris bugs.
-20. Fix various m32c bugs.
-21. Fix various m68k bugs.
-22. Fix various mips bugs.
-23. Fix various ppc bugs.
-24. Fix various s390 bugs.
-25. Fix various sparc bugs.
-26. Fix various spu bugs.
-27. Fix various xtensa bugs.
-
-The file list:
-
-1. binutils-2.20.51.0.8.tar.bz2. Source code.
-2. binutils-2.20.51.0.8.i686.tar.bz2. IA-32 binary tar ball for RedHat
- EL 5.
-3. binutils-2.20.51.0.8.ia64.tar.bz2. IA-64 binary tar ball for RedHat
- EL 5.
-4. binutils-2.20.51.0.8.x86_64.tar.bz2. X64_64 binary tar ball for RedHat
- EL 5.
-
-The primary sites for the beta Linux binutils are:
-
-1. http://www.kernel.org/pub/linux/devel/binutils/
-
-Thanks.
-
-
-H.J. Lu
-hjl.tools@gmail.com
-04/13/2010
diff --git a/source/d/binutils/release.binutils-2.21.51.0.6 b/source/d/binutils/release.binutils-2.21.51.0.6
new file mode 100644
index 000000000..38a38474f
--- /dev/null
+++ b/source/d/binutils/release.binutils-2.21.51.0.6
@@ -0,0 +1,257 @@
+This is the beta release of binutils 2.21.51.0.6 for Linux, which is
+based on binutils 2011 0118 in CVS on sourceware.org plus various
+changes. It is purely for Linux.
+
+All relevant patches in patches have been applied to the source tree.
+You can take a look at patches/README to see what have been applied and
+in what order they have been applied.
+
+Starting from the 2.21.51.0.3 release, you must remove .ctors/.dtors
+section sentinels when building glibc or other C run-time libraries.
+Otherwise, you will run into:
+
+http://sourceware.org/bugzilla/show_bug.cgi?id=12343
+
+Starting from the 2.21.51.0.2 release, BFD linker has the working LTO
+plugin support. It can be used with GCC 4.5 and above. For GCC 4.5, you
+need to configure GCC with --enable-gold to enable LTO plugin support.
+
+Starting from the 2.21.51.0.2 release, binutils fully supports compressed
+debug sections. However, compressed debug section isn't turned on by
+default in assembler. I am planning to turn it on for x86 assembler in
+the future release, which may lead to the Linux kernel bug messages like
+
+WARNING: lib/ts_kmp.o (.zdebug_aranges): unexpected non-allocatable section.
+
+But the resulting kernel works fine.
+
+Starting from the 2.20.51.0.4 release, no diffs against the previous
+release will be provided.
+
+You can enable both gold and bfd ld with --enable-gold=both. Gold will
+be installed as ld.gold and bfd ld will be installed as ld.bfd. By
+default, ld.bfd will be installed as ld. You can use the configure
+option, --enable-gold=both/gold to choose gold as the default linker,
+ld. IA-32 binary and X64_64 binary tar balls are configured with
+--enable-gold=both/ld --enable-plugins --enable-threads.
+
+Starting from the 2.18.50.0.4 release, the x86 assembler no longer
+accepts
+
+ fnstsw %eax
+
+fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged.
+Please use
+
+ fnstsw %ax
+
+Starting from the 2.17.50.0.4 release, the default output section LMA
+(load memory address) has changed for allocatable sections from being
+equal to VMA (virtual memory address), to keeping the difference between
+LMA and VMA the same as the previous output section in the same region.
+
+For
+
+.data.init_task : { *(.data.init_task) }
+
+LMA of .data.init_task section is equal to its VMA with the old linker.
+With the new linker, it depends on the previous output section. You
+can use
+
+.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) }
+
+to ensure that LMA of .data.init_task section is always equal to its
+VMA. The linker script in the older 2.6 x86-64 kernel depends on the
+old behavior. You can add AT (ADDR(section)) to force LMA of
+.data.init_task section equal to its VMA. It will work with both old
+and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and
+above is OK.
+
+The new x86_64 assembler no longer accepts
+
+ monitor %eax,%ecx,%edx
+
+You should use
+
+ monitor %rax,%ecx,%edx
+
+or
+ monitor
+
+which works with both old and new x86_64 assemblers. They should
+generate the same opcode.
+
+The new i386/x86_64 assemblers no longer accept instructions for moving
+between a segment register and a 32bit memory location, i.e.,
+
+ movl (%eax),%ds
+ movl %ds,(%eax)
+
+To generate instructions for moving between a segment register and a
+16bit memory location without the 16bit operand size prefix, 0x66,
+
+ mov (%eax),%ds
+ mov %ds,(%eax)
+
+should be used. It will work with both new and old assemblers. The
+assembler starting from 2.16.90.0.1 will also support
+
+ movw (%eax),%ds
+ movw %ds,(%eax)
+
+without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
+available at
+
+http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
+http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch
+
+The ia64 assembler is now defaulted to tune for Itanium 2 processors.
+To build a kernel for Itanium 1 processors, you will need to add
+
+ifeq ($(CONFIG_ITANIUM),y)
+ CFLAGS += -Wa,-mtune=itanium1
+ AFLAGS += -Wa,-mtune=itanium1
+endif
+
+to arch/ia64/Makefile in your kernel source tree.
+
+Please report any bugs related to binutils 2.21.51.0.6 to
+hjl.tools@gmail.com
+
+and
+
+http://www.sourceware.org/bugzilla/
+
+Changes from binutils 2.21.51.0.5:
+
+1. Update from binutils 2011 0118.
+2. Fix x32 (ILP32) support. Renamed assembler option to --x32. It
+can create working static and dynamic x32 executables.
+3. Add BMI and TBM new instruction support.
+4. Fix x86 disassembler to properly display sign-extended byte.
+5. Improve IFUNC linker support. PRs 12366/12371.
+6. Fix readelf bug on archive. PR 12408.
+7. Fix a assembler when compressing empty debug sections. PR 12409.
+8. Fix a warning symbol linker bug. PR 12339.
+9. Fix a duplicated assert message linker bug. PR 12380.
+10. Fix plugin linker build. PR 12391.
+11. Fix a plugin linker crash. PR 12364.
+12. Improve plugin linker.
+13. Improve gold.
+14. Improve arm support.
+15. Improve mips support.
+16. Improve rx support.
+
+Changes from binutils 2.21.51.0.4:
+
+1. Update from binutils 2011 0104.
+2. Add ILP32 support:
+
+http://www.kernel.org/pub/linux/devel/binutils/ilp32/abi.pdf
+
+to Linux/x86-64.
+3. Prevent the Linux x86-64 kernel build failure and remove
+__ld_compatibility support. PR 12356.
+4. Improve gold.
+5. Improve Windows support.
+6. Improve hppa support.
+7. Improve mips support.
+
+Changes from binutils 2.21.51.0.3:
+
+1. Update from binutils 2010 1217.
+2. Fix the Linux relocatable kernel build. PR 12327.
+3. Improve mips support.
+
+Changes from binutils 2.21.51.0.2:
+
+1. Update from binutils 2010 1215.
+2. Add BFD linker support for placing input .ctors/.dtors sections in
+output .init_array/.fini_array section. Add SORT_BY_INIT_PRIORITY. The
+benefits are
+ a. Avoid output .ctors/.dtors section in executables and shared
+ libraries.
+ b. Allow mixing input .ctors/.dtors sections with input
+ .init_array/.fini_array sectiobs. GCC PR 46770.
+3. Add BFD linker support for "ld -r" on mixed IR/non-IR objects. Add
+the new ELF section type SHT_GNU_OBJECT_ONLY (0x6ffffff8). See
+
+http://sourceware.org/bugzilla/show_bug.cgi?id=12291
+
+4. Update BFD linker to accept -flto and -flto-partition= for GCC LTO
+option compatibility.
+5. Fix BFD linker to avoid touching uncompressed section content when
+relocating DWARF debug sections for errror reporting.
+6. Mark .gnu.lto_* sections with SHF_EXCLUDE.
+7. Add --target option to ar.
+8. Improve gold.
+9. Improve AIX support.
+10. Improve Windows support.
+11. Improve mips support.
+
+Changes from binutils 2.21.51.0.1:
+
+1. Update from binutils 2010 1206.
+2. Fix BFD and GOLD linker for compressed debug section support.
+3. Fix BFD linker plugin support. PR ld/12246, ld/12247, ld/12248,
+ld/12277, ld/12288 and ld/12289.
+4. Update BFD linker to group .text.exit, text.startup and .text.hot
+sections.
+5. Fix linker for W_EH_PE_datarel handling. PR ld/12253.
+6. Fix array access bug in readelf/elfedit. PR binutils/11742 and
+binutils/12235.
+7. Support dumping GDB .gdb_index section.
+8. Install plugin-api.h.
+9. Improve gold.
+10. Improve Solaris support.
+11. Improve VMS support.
+12. Improve Windows support.
+13. Improve arm support.
+14. Improve bfin support.
+15. Improve mips support.
+16. Improve s390 support.
+17. Improve z80 support.
+
+Changes from binutils 2.20.51.0.12:
+
+1. Update from binutils 2010 1110.
+2. Fix ld plugin support. PRs lto/46291 and lto/46319.
+3. Fix x86 assembler to properly fold _GLOBAL_OFFSET_TABLE_ in Intel
+syntax. PR 12186.
+4. Update assembler to ensure that group signature symbols have the name
+of the group.
+5. Avoid unnecessary relaxation in assembler. PR 12049.
+6. Update linker NOLOAD processing.
+7. Update linker not to include archive members when symbols therein have
+already been defined. PR 12001.
+8. Change objdump to display compressed section names without 'z'.
+9. Improve gold.
+10. Improve Solaris support.
+11. Improve VMS support.
+12. Improve Windows support.
+13. Improve arm support.
+14. Improve cr16 support.
+15. Improve mips support.
+16. Improve ppc support.
+17. Improve tic6x support.
+
+The file list:
+
+1. binutils-2.21.51.0.6.tar.bz2. Source code.
+2. binutils-2.21.51.0.6.i686.tar.bz2. IA-32 binary tar ball for RedHat
+ EL 5.
+3. binutils-2.21.51.0.6.ia64.tar.bz2. IA-64 binary tar ball for RedHat
+ EL 5.
+4. binutils-2.21.51.0.6.x86_64.tar.bz2. X64_64 binary tar ball for RedHat
+ EL 5.
+
+The primary sites for the beta Linux binutils are:
+
+1. http://www.kernel.org/pub/linux/devel/binutils/
+
+Thanks.
+
+
+H.J. Lu
+hjl.tools@gmail.com
+01/18/2011