Release Notes for the Advance Toolchain 6.0 Version 6.0-6


| Features | Previous Releases | Support | Installation | Documentation | Legal Notices |

Features in 6.0-6

  • The Advance Toolchain is a self contained toolchain which isn't reliant on the base system toolchain.
  • Decimal Floating Point support in the following packages:
    • GCC-4.7-ibm-r211654 [C,C++ (g++), fortran]
    • GNU Binutils-2.23-5c3ec1de
    • GLIBC-2.16-ibm
    • LIBDFP 1.0.8-r20053
    • GDB-7.4-134a9876 with Python scripting
  • Releases of the following packages in support of the Advance Toolchain:
    • Valgrind-3.8.1
    • Lib Perfmon-4.3.0-600c8cbd
    • OProfile-0.9.8-c82b967e with Java (1.5 or later) support
    • GMP-4.3.2
    • MPFR-3.0.0
    • MPC-0.8.2
    • Libhugetlbfs 2.9
    • Zlib 1.2.6
    • Libauxv 1.0.0-1502aec0
    • Libexpat 2.0.1
    • Python 2.6.6
    • Intel TBB 40_20111109oss
    • Amino CBB 1.1
    • Userspace RCU LIB0.6.4
    • OpenSSL 1.0.1h
    • Boost 1.50.0
    • LibSPHDE 0.9-ca84d408
    • TCMalloc 2.0-109e4191eb
  • POWER7 enablement.
  • POWER7 Optimized scheduler.
  • POWER7 Native DFP instruction support.
  • POWER7 VMX/VSX enablement with auto-vector.
  • POWER7 optimized system libraries.
  • GCC creates binaries using --mcpu=power6 --mtune=power7 by default.
  • GCC no longer supports Graphite loop optimizations.

Apart from package versions listed above:

Previous releases

New features in 6.0-5

New features in 6.0-4

New features in 6.0-3

  • Fixed package requirements on Fedora 18.
  • OProfile fixes for the following issues:
    • operf does not properly sample already-running Java apps.
    • 'Permission denied' error on early perf_events kernels when using operf.
    • Jitdump when profiling Java applications.
  • TCMalloc includes the following fix:
  • The GNU C Library provides an optimized version of gettimeofday.

New features in 6.0-2

  • Inclusion of Libpfm4 to enhance support for POWER7 events in OProfile's non-root single process profiling.
  • Fixed the requirements of all packages.
  • GCC fixes for the following issues:
    • SPEComp2012 376.kdtree benchmark slowdown.
  • Added support for Fedora 18 (same repository of RHEL 6).
  • Inclusion of the runtime compatibility package advance-toolchain-at6.0-runtime-at5.0-compat-6.0-6 that allows AT 6.0 run applications built with AT 5.0.
  • Binutils fixes for the following issues:
    • 64-bit Power ld and gold now default to thread-safe PLT call stubs when building shared libraries.
  • Valgrind fixes for the following issues:
    • Valgrind used the wrong rounding mode for DFP.
  • OProfile fixes for the following issues:
    • Fix profile executions when the process ID is greater than 32768.
    • operf mishandles events with the _GRP suffix.
    • Allow events to be specified with or without _GRP suffix.

New features in 6.0-1

  • Time zone is automatically set to system's time zone.
  • New advance-toolchain-at6.0-selinux rpm, which sets the correct labels for key files so the Advance Toolchain works when SELinux is enabled.
  • New ldconfig wrapper installed in /usr/sbin/ that wraps up the ldconfig of the system and all installed AT's.
  • The cross compiler now provides GDB for remote debugging.
  • GCC includes the following fixes:
    • Fixes for DFP issues.
  • GDB includes the following fixes:
  • OProfile includes the following fixes:
    • Fix to address over-counting user context lost samples.
    • Fix to record samples from forked processes.

New features in 6.0-0

  • LIBDFP includes the following fixes:
    • r19821 - Fixes for printf_dfp.c
    • r15844 - Fix missing header declaration (features.h) in dfp/stdlib.h and dfp/wchar.h.
  • TCMalloc includes the following fixes:
    • Added the CACHELINE_ALIGNED macro for Power.
    • Tuning in RSS usage.
    • Tuning for small object allocations.
    • Added support for the timebase value for Power.
    • Correctly parse the CPU frequency values for Linux on Power.
    • Fix wrong usage of a Power instruction in compare-and-swap.
    • Fix for the malloc_hook test running on 64-bit Power.
    • Optimized hooks for weakly consistent architectures.
    • Fix ppc64 macro usage in getpc_test.
  • OProfile now supports non-root single process profiling.
  • Valgrind includes the following fixes:
    • Support for Decimal Floating Point on IBM Power.

Documentation for each component can be found here:


Support

Customer support for the Advance Toolchain (AT) is provided in one of three ways:

  1. If you are using AT as directed by an IBM product team (ex.: IBM XL Compiler or PowerVM Lx86) please report suspected AT problems to IBM Support using that product name and entitlement.
  2. IBM's Support Line for Linux Offering in the United States now provides support for AT as well. If you have a contract with a U.S. Support Line for Linux contract, place a call to IBM Support:
    • Dial 1-800-426-IBM-SERV
    • Option #2 (Other business products or solutions)
    • Option #2 (Software)
    • Option #7 (Other OS/Linux)
  3. All other users can use an electronic forum that is monitored Monday through Friday. For questions regarding the use of or to report a suspected defect in AT, click here.
    • Open the Advance Toolchain topic.
    • Select 'Post a New Reply'.
    • Enter and submit your question or problem.
    • An initial response will be attempted within 2 business days.

Installation

The gpg public key gpg-pubkey-3052930d-5175955a will be provided in the repository where these release notes were found. This pubkey can be used to verify the authenticity of both the Advance Toolchain rpms and the repository contents.

Download this gpg-pubkey and import it into your rpm database using the following:

rpm --import gpg-pubkey-3052930d-5175955a

Note: on SLES10, please install the ncurses package (64-bit) before installing the Advance Toolchain.

Using YaST or Zypper

To install using YaST, execute yast as root. Then:

  • Select Add-on Product.
  • Select the FTP Protocol:
    • (x) FTP...
    • Under Server Name:
      ftp.unicamp.br
    • Under Directory on Server:
      /pub/linuxpatch/toolchain/at/suse/SLES_11
  • You will get a warning about there being no product information available at the given location. This is because the repomd based repository doesn't contain the YaST product information. This is not a bug. Select [Continue].
  • Under the Software Management interface, search for advance toolchain and mark the runtime, devel and perf packages for installation as necessary and click [Accept].

To install using Zypper, you first need (as root) to add the Unicamp FTP to the repository list:

zypper addrepo ftp://ftp.unicamp.br/pub/linuxpatch/toolchain/at/suse/SLES_11 "Advance Toolchain"

This will create a new repository entry called "Advance Toolchain" pointing to the Unicamp FTP site. Then, execute the following to install:

zypper install advance-toolchain-at6.0-runtime advance-toolchain-at6.0-devel advance-toolchain-at6.0-perf

You will be prompted to trust the repository key (AdvanceToolchain05). Hit a for always trusting this key, then y to confirm packages installation. Optionally, you may also install the advance-toolchain-at6.0-mcore-libs package, which contains the multi-core exploitation libraries (5.0-3 and above), and the advance-toolchain-at6.0-selinux package (5.0-7 and above), which enables compatibility with SELinux.

Warning: do not try to install the advance-toolchain-at6.0-selinux package if you do not have SELinux installed and enabled.

YaST and Zypper support package upgrades for new revision releases (i.e. 6.0-0 to 6.0-1). For new major releases (i.e. 5.0-1 to 6.0-0), please proceed as in a normal installation.

* Note: when upgrading using Zypper on SLES 10, use the following command:

zypper update -t package advance-toolchain-at5.0-runtime

The -t package option is required on SLES10.

Manual installation

If you are installing the rpms manually you will need to install the rpms in the following order (due to prerequisites):

advance-toolchain-at6.0-runtime-6.0-6
advance-toolchain-at6.0-devel-6.0-6
advance-toolchain-at6.0-perf-6.0-6

Optionally, you may also install the advance-toolchain-at6.0-mcore-libs package, which contains the multi-core exploitation libraries (5.0-3 and above), and the advance-toolchain-at6.0-selinux package (5.0-7 and above), which enables compatibility with SELinux.

Warning: do not try to install the advance-toolchain-at6.0-selinux package if you do not have SELinux installed and enabled.

If you are updating a previous installation, you need to update as a batch, so rpm can solve the dependencies, i.e.:

rpm -Uvh advance-toolchain-at6.0-runtime-6.0-6.ppc64.rpm advance-toolchain-at6.0-devel-6.0-6.ppc64.rpm advance-toolchain-at6.0-perf-6.0-6.ppc64.rpm

The rpm command should always be run as root. Failure to do so will result in an error similar to this:

error: can't create transaction lock on /var/lib/rpm/__db.000

Important notes

  • advance-toolchain-at6.0-runtime-compat-6.0-6: DO NOT INSTALL it on SLES11 and beyond or RHEL6 and beyond. These are intended for runtime compatibility on SLES10 and RHEL5 only (see below).

Installation on SLES10 and RHEL5 - Runtime compatibility

Users running applications on SLES10 or RHEL5 may install the compatibility rpm advance-toolchain-at6.0-runtime-compat-6.0-6 in order to get the Advance Toolchain runtime libraries.

Installation of the cross-compiler (Intel x86)

You can download advance-toolchain-at6.0-cross-6.0-6 and install in a x86 machine to build Power binaries on it. Binaries generated by the cross-compiler will run on a Power system with the same version of the Advance Toolchain installed.

Runtime compatibility between Advance Toolchain versions

Users running applications built with AT 5.0 may install the compatibility rpm advance-toolchain-at6.0-runtime-at5.0-compat-6.0-6 in order to run these applications on top of the Advance Toolchain 00.

After installing this package, run:

/etc/rc.d/init.d/at6.0-runtime-at5.0-compat start


Documentation

The official documentation for the Advance Toolchain is available at the IBM Power Linux Community website.


Legal notices

In order to comply with the GPL and LGPL licenses, the source code for the following packages is available:

  • binutils
  • gcc
  • gdb
  • glibc
  • gmp
  • Intel TBB
  • libdfp
  • libhugetlbfs
  • Lib Perfmon
  • Linux Kernel
  • mpc
  • mpfr
  • oprofile
  • Userspace RCU
  • Valgrind

Please look for the advance-toolchain-at6.0-src-6.0-6.tgz file in the repository.

Amino CBB
Copyright (c) 2008 IBM Corporation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Expat
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Gperftools
Copyright (c) 2005, Google Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Libauxv

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the IBM Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IBM CORPORATION BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

OpenSSL
Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com). All rights reserved.

* Note: this distribution of OpenSSL does not include the IDEA and RC5 algorithms

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)"

4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.

5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project.

6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"

THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).

Python
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation; All Rights Reserved

PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------

1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation.

2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee.

3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python.

4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.

5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.

7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.

8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement.

IBM SPHDE
Copyright (c) 2012 IBM Corporation

Distributed through the Eclipse Public License 1.0. The source code for this project is available on GitHub.