ARM Logo

Release notes for ARM Compiler 6.4

Table of Contents

  1. 1. Introduction
    1. 1.1. ARM Compiler 6 Configuration
    2. 1.2. What's Supported in ARM Compiler 6.4?
  2. 2. Installation Instructions
    1. 2.1. Integration into DS-5 5.20 or later
    2. 2.2. Use as a standalone product
    3. 2.3. Installation on Linux
    4. 2.4. Installation on Windows
  3. 3. Uninstall
  4. 4. Building a Simple Program
  5. 5. Documentation
  6. 6. Feedback and Support
  7. 7. Release History and Changes

1. Introduction

ARM Compiler 6.4 adds:

The compiler also includes a number of optimizations that result in better performance of the generated code over the previous release.

ARM Compiler 6.4 is intended for use:

A suitable license from one of these products must be available. Contact your supplier or e-mail license.support@arm.com to enquire about a license.

If you are using a floating license, your license server must be running armlmd and lmgrd version 11.12.1.0 or later. In November 2015, Flexera published notification of security vulnerabilities that were discovered in the lmgrd and vendor daemon components of FlexNet Publisher. Flexera have no reason to believe that the vulnerabilities have been exploited but have nevertheless provided a security update in FlexNet Publisher version 11.13.1.2. ARM recommends that you upgrade your license servers to at least this version. FlexNet Publisher 11.13.1.2 (or later) license server software can be downloaded from https://silver.arm.com/browse/BX002 (login/registration required).

1.1 ARM Compiler 6 Configuration

ARM Compiler 6 is the successor to ARM Compiler 5 and includes the components listed below. See the Migration and Compatibility Guide in the product documentation for more information on migrating projects from previous versions.

Note regarding assemblers:

1.2 What's Supported in ARM Compiler 6.4?

Architecture and Processors Support Level
ARMv8.2-A and derived processors Alpha product feature - will be fully supported in a future release.
ARMv8.1-A, ARMv8-A and ARMv7-A and derived processors Product feature.
ARMv8-R, ARMv7-R and derived processors Product feature.
ARMv8-M, ARMv7-M, ARMv6-M and derived processors Product feature.
ARM Architectures earlier than ARMv6-M Unsupported. Please use ARM Compiler 5.
Non ARM architectures Unsupported.
Support Level Description
Product features Production quality. Highest support priority.
Beta product features Implementation complete, but not thoroughly tested. User experimentation and feedback is welcomed.
Alpha product features Implementation is not complete and not thoroughly tested. User experimentation and feedback is welcomed.
Community features Additional features that are available in the open-source technology ARM Compiler 6 is built on. ARM makes no claims about the quality level or the degree of functionality of these features. User experimentation and feedback is welcomed.
Unsupported features Features that are either not present in the toolchain or have been deprecated. These features are completely untested. Use entirely at your own risk.

For more information on the supported features and level of support for features, see the product documentation.

2. Installation Instructions

If you received ARM Compiler 6.4 as part of a toolkit, for example DS-5, the toolkit installer takes care of the installation process. Please refer to the installation instructions for the toolkit in such cases.

For all other cases, you must select an appropriate installation location depending on how you intend to use ARM Compiler 6.4:

2.1. Integration into DS-5 5.20 or later

ARM Compiler 6.4 can be installed in any location, including the default location, providing this is outside of a DS-5 product installation.

After it is installed, you can integrate the toolchain with DS-5 5.20 or later by following the instructions in the tutorial available at http://ds.arm.com/developer-resources/tutorials/adding-new-compiler-toolchains-to-ds-5/.

ARM recommends using ARM Compiler 6.4 from the DS-5 Eclipse IDE or DS-5 Command Prompt. When using the toolchain outside these environments, you might need to configure the following environment variables:

2.2. Use as a standalone product

ARM Compiler 6.4 can be installed in any location, including the default location, providing this is outside of a DS-5 product installation.

Ensure that the ARMLMD_LICENSE_FILE environment variable is pointing to your license file or license server. Please note this path must not contain double quotes on Windows. A path that contains spaces will still work without the quotes.

2.3. Installation on Linux

ARM Compiler 6.4 has been tested on the following supported platforms:

To install ARM Compiler 6.4, run (not source) install_x86_64.sh and follow the on-screen instructions. The installer unpacks ARM Compiler 6.4 into your chosen directory.

The armclang binary is dynamically linked to a copy of libstdc++ installed under your chosen directory as part of ARM Compiler 6.4.

Some of the installed tools have dependencies on 32-bit system libraries. You must ensure that 32-bit compatibility libraries are installed when using ARM Compiler 6.4 on 64-bit Linux host platforms. ARM Compiler 6.4 tools might fail to run or report errors about missing libraries if 32-bit compatibility libraries are not installed. To install the required libraries, run the appropriate command for your platform with root privileges:

Red Hat
yum install glibc.i686
Ubuntu
apt-get install lib32stdc++6

2.4. Installation on Windows

ARM Compiler 6.4 has been tested on the following supported platforms:

To install ARM Compiler 6.4, run win-x86_64\setup.exe on a 64-bit Windows host platform or win-x86_32\setup.exe on a 32-bit Windows host platform and follow the on-screen instructions. If you have an earlier version of ARM Compiler 6 installed and you wish to perform an upgrade, it is recommended that you uninstall the previous version before installing the new version of ARM Compiler 6.

ARM Compiler 6 requires the Microsoft Visual Studio 2013 runtime libraries to be installed. If you use the product installer, or the toolchain is installed as part of DS-5, the runtime libraries are installed with the product. If you later copy or move the installation to another host you will need to ensure that the runtime libraries are also available on that host.

3. Uninstall

On Linux, delete the ARM Compiler 6.4 installation directory.

On Windows, use Programs and Features in Control Panel, select ARM Compiler 6.4, and click the Uninstall button.

4. Building a Simple Program

To compile a very simple program for a bare-metal AArch64 system:

(Linux)   echo "int main() {}" > simple.c

(Windows) echo  int main() {}  > simple.c

(Either)  armclang --target=aarch64-arm-none-eabi simple.c -o simple

You can get help on common command-line options with armclang --help. See the armclang Reference Guide in the product documentation for more information. For information on migration from older versions of ARM Compiler, see the Migration and Compatibility Guide in the product documentation.

5. Documentation

The following documentation is available for ARM Compiler 6.4:

For more information, please see ARM Compiler 6 documentation in the ARM Infocenter.

6. Feedback and Support

Your feedback is important to us, and you are welcome to send us defect reports and suggestions for improvement on any aspect of the product. Contact your supplier or e-mail support-sw@arm.com with feedback or support issues. Where appropriate, please provide the --vsn output from the tool, the complete content of any error message that the tools produce, and include any source code, other files, and command-lines necessary to reproduce the issue.

7. Release History and Changes

The following are the releases to date of the ARM Compiler 6.4 series:

Below is a summary of the changes in each release, including new features and defect fixes. Changes are listed since the previous release in each case unless otherwise specified. Each itemized change is accompanied by a unique SDCOMP-<NNNNN> identifier. If you need to contact ARM about a specific issue within these release notes, please quote the appropriate identifier.

Changes in ARM Compiler 6.4

Changes are listed since the previous feature release, ARM Compiler 6.3.

General changes in ARM Compiler 6.4

Enhancements in ARM Compiler 6.4

Compiler and integrated assembler (armclang)
Linker (armlink)

Defect fixes in ARM Compiler 6.4

Compiler and integrated assembler (armclang)
Legacy assembler (armasm)
Linker (armlink)
Libraries and system headers
Fromelf

Known issues in ARM Compiler 6.4

Copyright © 2016 ARM Limited. All rights reserved. ARM ARN 100585_0604_00_EN
Non-Confidential ID030416