Release Notes for the Advance Toolchain 7.1-5
Features in 7.1-5
- The Advance Toolchain is a self contained toolchain which isn't reliant on the base system toolchain.
- Base toolchain packages with additional support libraries, including some additional floating point support libraries:
- GNU Binutils - 2.24-d15dc58e online docs
- Expat XML Parser - 2.0.1 online docs
- GCC (GNU Compiler Collection) - 4.8.5-227152 [] online docs
- GNU Standard C++ Library v3 (Libstdc++-v3) - 4.8.5-227152 online docs
- GNU Libgomp - 4.8.5-227152 online docs
- GNU C Library - 2.19-bde2a94 online docs
- GNU Multiple Precision Library - 4.3.2 online docs
- Libauxv - 0.1.0-1502aec0 online docs
- Decimal Floating Point C Library - 1.0.10-fc7bc0ad online docs
- Libhugetlbfs - 2.17-23f929ae online docs
- Libvecpf - 1.0.0-05eb00ee online docs
- GNU MPC Library - 0.8.2 online docs
- GNU MPFR Library - 3.0.1 online docs
- Open Secure Sockets Layer - 1.0.1t online docs
- IBM Power Architecture Facilities Library - 0.1-2-a3865969 online docs
- Python - 2.7.7 online docs
- TCMalloc - 2.1-b8c4ba72 online docs
- ZLIB Compression Library - 1.2.6 online docs
- Development tools:
- GDB (GNU Debugger) - 7.7-464e7cad online docs
- Additional performance and debugging tools:
- Libpfm - 4.6.0-cbd838f7 online docs
- OProfile - 0.9.9-f72665b5 with Java Support online docs
- Valgrind - 3.9.0 online docs
- Additional multi core support libraries:
- Boost - 1.55.0-bcb32779 online docs
- SPHDE - 1.0.0-70299bfc online docs
- SPHDE Compat - 1.0.0-f3a39432 online docs
- Userspace RCU - 0.8.8 online docs
- Thread Building Blocks - 4.2u1-20131003 online docs
- Little endian enablement.
- POWER8 enablement.
- POWER8 Optimized scheduler.
- POWER7 only.
- POWER8 Transactional Memory enablement.
- POWER8 Crypto Operations enablement.
- POWER8 Fusion enablement.
- POWER8 optimized system libraries.
- GCC creates binaries using --mcpu=power7 --mtune=power8 by default.
- Support for AES instructions on OpenSSL.
- Technology preview of the Go Programming Language.
- Fix CVE-2015-7547: getaddrinfo() stack-based buffer overflow.
- Fix CVE-2016-3075: Stack overflow in _nss_dns_getnetbyname_r.
- Fix CVE-2015-8779: catopen() Multiple unbounded stack allocations.
- Fix CVE-2015-8776: Passing out of range data to strftime() causes a segfault.
- Fix for assertion failure in res_query.c with un-connectable name server addresses.
- Fix memory handling in strxfrm_l.
- Harden tls_dtor_list with pointer mangling.
- Always enable pointer guard.
- OpenSSL provides fixes for CVE-2016-0701, CVE-2015-3197 and more 6 security advisories.
-
The GNU C Library provides:
- Fixes for the following vulnerabilities: CVE-2014-8121 and CVE-2015-1781.
- Fix BZ #17269: _IO_wstr_overflow integer overflow.
- libdfp fix for fabs() is returning wrong values for 128-bit type
- OpenSSL provides fix for CVE-2015-1793 and more 21 security advisories: from 19 Mar 2015 and 11 Jun 2015.
- Advance Toolchain GCC now provides the build id to the linker.
- OpenSSL provides 3 security advisories for CVE-2015-3194, CVE-2015-3195 and CVE-2015-3196.
- OpenSSL provides 8 security advisories.
- GCC fixes an internal compiler error while using "-m32 -mpowerpc64".
-
The GNU C Library provides:
- Fixes for the following vulnerabilities: CVE-2012-3406, CVE-2014-0475, CVE-2014-4043, CVE-2014-5119, CVE-2014-6040, CVE-2014-7817, CVE-2014-9402, CVE-2015-1472 and CVE-2015-1473.
- Fix for pow() returning incorrect results when using FMA.
- Binutils provides fixes for the following security advisories: CVE-2014-8737 and CVE-2014-8738.
- Enable plugins support on Binutils.
- GCC fixes for:
- Fix for Valgrind itrace not tracing the first call to library functions.
-
glibc fixes and optimizations:
- Fix gprof entry point.
- Optimize memcpy for POWER7.
- Optimize memmove for POWER7.
- Optimize strcat for POWER7.
-
The following GDB fixes:
- Enable support for XML target description.
- Report no hardware breakpoint support correctly.
- Fix internal-error when stack pointer is invalid.
- Fix the routines to collect and supply ptrace registers on ppc64le gdbserver.
-
OProfile provides:
- Update events for IBM POWER8 processor.
- Support support for JVMTI.
-
GCC fixes for the following issues:
- Fix support for long double and _Decimal128 direct move on POWER8.
- Fix for Hardware Transactional Memory on POWER8.
- Add support for vbpermq for POWER8.
-
Libdfp fixes for the following issues:
- Fix issignaling for PowerPC DFP for zero inputs.
- Add missing fpclassify prototypes.
- Optimization fixes for POWER7 and POWER8.
-
OProfile fixes for the following issues:
- opreport from 'operf --callgraph' profile shows incorrect recursive calls.
- Fix "Unable to open cpu_type file for reading" for IBM POWER7+.
- Fix regression in IBM POWER8 running in POWER7 compat mode.
- Make operf/ocount detect invalid timer mode from opcontrol.
- Fix up event codes for marked architected events.
- Plug timing hole between JIT agent and opjitconv that can corrupt dump.
- Enhance ocount to support millisecond time intervals.
-
SPHDE fixes for the following issues:
- Reset MMCR0 independently of PAF_EBB_FLAGS_RESET_PMU in the Event Based Branching.
- Fix paf enable/disable branches by avoid to set/reset the Global Enable (GE) bit in the Event Based Branching.
- Glibc provides optimized versions of: isinf/isinff, finite/finitef, llrint/llrintf, llround/llroundf and strrchr.
- Inclusion of PAFLib 0.1.
-
GCC fixes for the following issues:
- mullw sets condition code incorrectly.
- Add documentation about the HTM built-ins.
- Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0.
-
OProfile provides fixes for the following issues:
- Fix spurious "backtraces skipped due to no file mapping" log entries.
- Add support for getting the Kernel symbols from /proc/kallsyms.
- Allow all native events for IBM POWER8 in POWER7 compat mode.
- Fix sample attribution problem when using multiple events.
- GDB now ignores the VDSO warnings.
Apart from package versions listed above:
New features in 7.1-5
-
The GNU C Library provides:
Previous releases
New features in 7.1-4
New features in 7.1-3
Previous releases
New features in 7.1-2
New features in 7.1-1
New features in 7.1-0
New features in 7.0-3
Support
Customer support for the Advance Toolchain (AT) is provided in one of three ways:
- 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.
- IBM's Support Line for Linux Offerings now provides support for the Advance Toolchain as well. If you have a contract with a Support Line for Linux, place a call to IBM Support, e.g. for United States:
- Dial 1-800-426-IBM-SERV
- Option #2 (Other business products or solutions)
- Option #2 (Software)
- Option #7 (Other OS/Linux)
- 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.
- Log in.
- Start a topic.
- Enter and save your question or problem.
- An initial response will be attempted within 2 business days.
Installation
The gpg public key(s) gpg-pubkey-6976a827-5164221b will be provided in the repository where these release notes were found. The pubkey(s) can be used to verify the authenticity of both the Advance Toolchain install packages and the repository contents. After downloading the gpg-pubkey(s) they can be imported as follows:
rpm --import gpg-pubkey-6976a827-5164221b
Using YUM
First, if you have never created an Advance Toolchain repository configuration file, you need to do so. Create the following file using the text editor of your choice as root:
/etc/yum.repos.d/at7.1.repo
and add the following content:
# Begin of configuration file [at7.1] name=Advance Toolchain Unicamp FTP baseurl=ftp://ftp.unicamp.br/pub/linuxpatch/toolchain/at/redhat/RHEL7 failovermethod=priority enabled=1 gpgcheck=1 gpgkey=ftp://ftp.unicamp.br/pub/linuxpatch/toolchain/at/redhat/RHEL7/gpg-pubkey-6976a827-5164221b # End of configuration file
To install execute yum install as root:
yum install advance-toolchain-at7.1-runtime / advance-toolchain-at7.1-devel / advance-toolchain-at7.1-perf
Answer y when YUM prompts for confirmation.
Manual installation for rpms
If you are installing the rpms manually you will need to install them in the following order (due to prerequisites):
advance-toolchain-at7.1-runtime-7.1-5 advance-toolchain-at7.1-devel-7.1-5 advance-toolchain-at7.1-perf-7.1-5 advance-toolchain-at7.1-mcore-libs-7.1-5 advance-toolchain-at7.1-runtime-at6.1-compat-7.1-5
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-at7.1-runtime-7.1-5.ppc64.rpm \ advance-toolchain-at7.1-devel-7.1-5.ppc64.rpm \ advance-toolchain-at7.1-perf-7.1-5.ppc64.rpm \ advance-toolchain-at7.1-mcore-7.1-5.ppc64.rpm \ advance-toolchain-at7.1-runtime-at6.1-compat-7.1-5.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
- Timezone files: If you need to use something different than Factory, then you should copy the timezone file you want from /opt/at7.1/share/zoneinfo to /opt/at7.1/etc/localtime
- advance-toolchain-at7.1-runtime-compat-7.1-5: DO NOT INSTALL it on RHEL7 and beyond. These are intended for runtime compatibility on RHEL6 only (see below).
Installation for runtime compatibility on previous distribution versions
Users running applications on previous distributions of SLES or RHEL may install the compatibility rpm advance-toolchain-at7.1-runtime-compat-7.1-5 in order to get the Advance Toolchain runtime libraries.
Installation of the cross-compiler (x86)
You can download advance-toolchain-at7.1-cross-7.1-5 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.
back to topDocumentation
The official documentation for the Advance Toolchain is available at the IBM Power Linux Community website.
back to topLegal 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
- Threading Building Blocks
- libdfp
- libhugetlbfs
- linux kernel
- mpc
- mpfr
- oprofile
- Userspace RCU
- Valgrind
Please look for the advance-toolchain-at7.1-src-7.1-5.tgz file in the repository.
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.
Libpfm
Copyright (c) 2002-2006 Hewlett-Packard Development Company, L.P.
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.
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).
PAFLib
Copyright IBM Corp. 2013
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.
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.
SPHDE
Copyright (c) 2012 IBM Corporation
Distributed through the Eclipse Public License 1.0. The source code for this project is available on GitHub.