31.07.2015 Views

Wind River Diab Compiler - Embedded Tools GmbH

Wind River Diab Compiler - Embedded Tools GmbH

Wind River Diab Compiler - Embedded Tools GmbH

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Wind</strong> <strong>River</strong><strong>Diab</strong> <strong>Compiler</strong>®RELEASE NOTES5.9.1


Copyright © 11/29/11 <strong>Wind</strong> <strong>River</strong> Systems, Inc.All rights reserved. No part of this publication may be reproduced or transmitted in anyform or by any means without the prior written permission of <strong>Wind</strong> <strong>River</strong> Systems, Inc.<strong>Wind</strong> <strong>River</strong>, Tornado, and VxWorks are registered trademarks of <strong>Wind</strong> <strong>River</strong> Systems, Inc.The <strong>Wind</strong> <strong>River</strong> logo is a trademark of <strong>Wind</strong> <strong>River</strong> Systems, Inc. Any third-partytrademarks referenced are the property of their respective owners. For further informationregarding <strong>Wind</strong> <strong>River</strong> trademarks, please see:www.windriver.com/company/terms/trademark.htmlThis product may include software licensed to <strong>Wind</strong> <strong>River</strong> by third parties. Relevantnotices (if any) are provided in your product installation at one of the following locations:installDir/product_name/3rd_party_licensor_notice.pdfinstallDir/legal-notices/<strong>Wind</strong> <strong>River</strong> may refer to third-party documentation by listing publications or providinglinks to third-party Web sites for informational purposes. <strong>Wind</strong> <strong>River</strong> accepts noresponsibility for the information provided in such third-party documentation.Corporate Headquarters<strong>Wind</strong> <strong>River</strong>500 <strong>Wind</strong> <strong>River</strong> WayAlameda, CA 94501-1153U.S.A.Toll free (U.S.A.): 800-545-WINDTelephone: 510-748-4100Facsimile: 510-749-2010For additional contact information, see the <strong>Wind</strong> <strong>River</strong> Web site:www.windriver.comFor information on how to contact Customer Support, see:www.windriver.com/support<strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>Release Notes5.929 Nov 11


Contents1 Introduction ...................................................................................................................... 11.1 Installation and Licensing ................................................................................ 1Special Note: Installing on Linux Hosts ......................................................... 11.2 Latest Release Information .............................................................................. 22 Changes in This Release ................................................................................................ 32.1 Enhancements .................................................................................................... 32.2 Fixed Problems .................................................................................................. 52.3 Unsupported Features ...................................................................................... 53 System Requirements ..................................................................................................... 53.1 Host System Requirements .............................................................................. 53.2 Installation Requirements and Issues ............................................................. 73.3 Target System Requirements ........................................................................... 84 Usage Caveats .................................................................................................................. 84.1 C and C++ <strong>Compiler</strong>s ....................................................................................... 85 Known Problems ............................................................................................................. 96 Documentation Errata .................................................................................................... 9iii


<strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>Release Notes, 5.9iv


<strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>RELEASE NOTES5.9.11. IntroductionThe <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> 5.9.1 is a complete toolkit for embeddedapplication development, including C and C++ compilers, assemblers, linkers,utilities, and standard libraries for a variety of target CPU architectures. Inprevious releases this product has been named the <strong>Wind</strong> <strong>River</strong> <strong>Compiler</strong>.1.1 Installation and LicensingFor information on installing the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> and configuring yourproduct licenses, see the <strong>Wind</strong> <strong>River</strong> product installation and licensing guides.They are accessible from the following URL:http://www.windriver.com/licensing/documentsNOTE: Make sure that you are using the licensing software (in particular, the wrsddaemon) that comes with the current version of the compiler. Using mismatchedlicensing software—for example, by installing from a machine running an olderlicensing daemon—may cause compilation to fail.! CAUTION: Installing both the standalone and bundled version of the <strong>Wind</strong> <strong>River</strong><strong>Diab</strong> <strong>Compiler</strong> can result in unexpected results, e.g., older versions of someinstalled files may be overwritten over newer versions. If you choose to install bothversions, be sure to install the tools in different locations.Special Note: Installing on Linux Hosts32-bit Run-Time LibrariesIn order to install the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> on a Linux host, your host systemmust include 32-bit run-time libraries. Your installation will fail if you do not havethe libraries installed before running the <strong>Wind</strong> <strong>River</strong> installer (setup_linux). MostLinux distributions provide the libraries in their base install feature set. For somehosts, you must install additional packages. See 3.2 Installation Requirements andIssues, p.7 for details.1


<strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>Release Notes, 5.9.1Permissions Error with setup_linuxNote that some Linux distributions either do not automount media, or automountwith a noexec option that prevents execution of files found on the media.If ./setup_linux fails with a permissions error, you may need to remount the DVD.To do so, use the following steps:1. Log in as root by entering the command su in your terminal and entering theroot password.2. Enter the following command:umount dvd_mount_pointWhere dvd_mount_point is the location of the DVD mount. For example, atypical Red Hat or Fedora DVD mount point might be/media/DVD-12345-67890.3. Then enter the following command:mount /dev/cdrom dvd_mount_pointWhere dvd_mount_point is the location of the DVD mount.4. Exit root mode with the exit command.5. Set your working directory to the location of the DVD mount:cd dvd_mount_point6. Retry the ./setup_linux command.1.2 Latest Release InformationThe latest information on this release can be found in the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong><strong>Compiler</strong> area of the <strong>Wind</strong> <strong>River</strong> Online Support Web site:http://www.windriver.com/supportThis site includes links to topics such as known problems, fixed problems,documentation, and patches.In addition, most <strong>Wind</strong> <strong>River</strong> documentation is accessible from the following URL:http://documentation.windriver.comNOTE: <strong>Wind</strong> <strong>River</strong> strongly recommends that you visit the Online Support Website before installing or using this product. The Online Support Web site mayinclude important software patches or other critical information regarding thisrelease.For information on accessing the <strong>Wind</strong> <strong>River</strong> Online Support Web site, seeCustomer Services, p.10.In addition, a list of known issues and other important information is installed ininstallDir/readme_wrcompiler.txt. Be sure to review this file before using thecompiler.2


2. Changes in This Release2. Changes in This Release2.1 EnhancementsSupported ProcessorsGeneral Optimization<strong>Compiler</strong>For a current list of supported processors for your architecture, use the dctrl utilityor see the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> User’s Guide: Target Configuration.Use dctrl -s to display recommended optimization flags based on requirements forspeed, code size, and debug capability.fastcall attribute. This new attribute generates fast call (fcall) and return (fret)instructions for a function. TriCore architecture only.flatten pragma and attribute. This attribute and pragma, which are equivalent,direct the compiler to inline all function calls made by the relevant function.always_inline and noinline pragmas. These new pragmas serve the same purposeas the existing attributes of the same names: always_inline forces inlining evenwhen optimization has been disabled, and noinline does the opposite (i.e., itprevents inlining of a function, even if optimization has been selected).Command-Line OptionsThe following are new or changed command-line options. For complete details seethe <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> User’s Guide.■■■■■■■■■■-Xabsolute18-const, -Xabsolute18-data. Take advantage of the 18-bit absoluteaddressing mode supported on TriCore hardware. TriCore architecture only.-Xalign-int-by2. Change alignment of long integer types to two bytes. TriCorearchitecture only.-Xalign-loop-to-cache. Optimize, using instruction-cache alignment. TriCoreand PowerPC architectures only.-Xbss-zero-init-const-off, -Xbss-zero-init-data-off. Do not move variablesinitialized to zero to BSS.-Xcombine-readonly-sections. Reduce code footprint by combining identicalread-only sections. Linker option only.-Xcode-factor. Share common code sequences. This option has been added forthe TriCore architecture. (It was previously available for PowerPC.)-Xcopytable-section-name. Specify the name of a section containing copytables.-Xdisable-SDA. Disable SDA (Small Data Area) optimization for a give list ofSDA classes.-Xframe-align. Change the stack frame alignment. PowerPC architecture only.-Xgenerate-copytables. Enable the use of copy tables in linker command files.Linker option only.3


<strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>Release Notes, 5.9.1■■■■■■■■■■■■-Xinline-volatile-off. Inhibit inlining of functions that access volatiles.-Xname-internal-const=name. Set the section name for internal constantsgenerated by the compiler.-Xpipeline-short-circuit. Optimize evaluation of logical operators &&, and||. TriCore architecture only.-Xrelax-alias. Control aliasing rules applied by the compiler.-Xreverse-inline. Optimize code by moving some code to new functions.TriCore architecture only.-Xsort-section-by-alignment. Sort input sections by alignment size withinoutput sections, in ascending order. Linker option only.-Xsort-section-by-alignment-desc. Sort input sections by alignment sizewithin output sections, in descending order. Linker option only.-Xsort-section-by-name. Sort input sections by name within output sections.Linker option only.-Xspe-int. Enable support for SPE integer instructions. PowerPC architectureonly.-Xstack-usage. Gather and display stack usage at link time. Linker option. ForARM, MIPS, PowerPC, and TriCore architectures only.-Xtricore-relax-eabi-elf. Mark object files produced by when compiling for TC1.6 ISA with the same ELF flags as the ones used to mark TC 1.3 ISA objects.Linker option only; TriCore architecture only.-Xwhole-program-jobs. Specify the number of files for the linker to compilesimultaneously. Linker option only.LinkerDocumentationSORT_SECTION_BY_XXX linker command language addition. This new syntax forthe SECTION linker command allows input sections to be sorted by name or byalignment.COPYTABLE linker command language addition. This new syntax for theSECTION linker command enables the use of copy tables, facilitating the copyingof data from RAM to ROM.For this release, the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> Getting Started guide has beensubstantially rewritten.In addition to improvements and additions to the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> User’sGuide, <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> Getting Started guide, and the <strong>Wind</strong> <strong>River</strong> ErrorMessages manual, the following whitepapers have been placed on the <strong>Wind</strong> <strong>River</strong>Online Support (OLS) website atwww.windriver.com/supportLinker Support for Section SortingThis paper describes how to make the <strong>Wind</strong> <strong>River</strong> linker produce orderedsections in output files, including features introduced in release 5.9.1 for thispurpose.4


3. System RequirementsInteger Division Algorithms Used by the <strong>Diab</strong> <strong>Compiler</strong>This paper covers the various approaches the <strong>Diab</strong> compiler takes whenencountering a division operator. Different approaches for different processorsand types of division are presented.Rebuilding the <strong>Diab</strong> <strong>Compiler</strong> LibrariesThese are actually two different whitepapers. One discusses how to rebuild thecompiler libraries from the command line, while the other shows how torebuild them from Workbench.2.2 Fixed ProblemsFor a list of problems fixed in the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>, visit the OnlineSupport Web site (see 1.2 Latest Release Information, p.2).2.3 Unsupported Features-Xcomdat-off is no longer supported. The new C++ ABI requires COMDATsupport to correctly implement the semantics of the language.3. System RequirementsThis section lists the minimum requirements for the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>where the host and target are separate computers.3.1 Host System Requirements<strong>Wind</strong>ows HostThe host is the computer on which you do your development work. This sectionlists the minimum requirements for running the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> in thestandard configuration.These system requirements are for the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> only; they do nottake into consideration any other software you are running on the host computer.■■■One of the following:– Microsoft <strong>Wind</strong>ows XP Professional (Service Pack 2 or 3), x86-32– Microsoft <strong>Wind</strong>ows Vista Business, x86-32– Microsoft <strong>Wind</strong>ows Vista Enterprise, x86-32– Microsoft <strong>Wind</strong>ows 7, x86-32/64Administrator rights.Monitor capable of displaying 1024 x 768 @ 16 bpp or better.5


<strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>Release Notes, 5.9.1■■■■■■■■Intel Pentium 4 class computer with a 2 GHz processor, or a computer withhigher performance.1 GB of RAM (2 GB of RAM is recommended for larger projects).500 MB disk space for installing all supported architectures. Installing a subsetof supported architectures will require less disk space. When calculating theamount of disk space needed, be sure to reserve space for your ownapplications and development.A local DVD-ROM drive or access to a network for installation.A current version of a standards-compliant Web browser.TCP/IP must be installed on the host system, even if it is being used as astandalone PC with a serial connection to the target.A network interface card for debugging over a network (recommended).An active Internet connection is recommended during initial installation toaccess patches, documentation, and other important information from the<strong>Wind</strong> <strong>River</strong> Online Support Web site. (See 1.2 Latest Release Information, p.2.)Solaris Host■■■■■■■■■Sun Solaris 10 (with GTK), Update 11/06, SPARC 32-bitMonitor capable of displaying 1024 x 768 @ 16 bpp or better.A Blade 150 workstation with a 500 MHz processor, or a workstation withhigher performance.1 GB of RAM.500 MB disk space for installing all supported architectures. Installing a subsetof supported architectures will require less disk space. When calculating theamount of disk space needed, be sure to reserve space for your ownapplications and development.A local DVD-ROM drive or access to a network for installation.A current version of a standards-compliant Web browser.CDE <strong>Wind</strong>ow Manager (recommended).An active Internet connection is recommended during initial installation toaccess patches, documentation, and other important information from the<strong>Wind</strong> <strong>River</strong> Online Support Web site. (See 1.2 Latest Release Information, p.2.)Linux HostNOTE: There are usage caveats associated with installing on Linux Hosts. Refer to3.2 Installation Requirements and Issues, p.7 before installing the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong><strong>Compiler</strong>.■One of the following:– Red Hat Enterprise Linux Workstation 4, Updates 6&8, x86-32– Red Hat Enterprise Linux Desktop with Workstation option 5, Updates2&3, x86-32 and x86-64– SUSE Linux/openSUSE 11.0 and 11.1, x86-32 and x86-646


3. System Requirements■■■■■■■■■■■– Novell SUSE Linux Enterprise Desktop 10, Service Pack 2, x86-32 andx86-64– Novell SUSE Linux Enterprise Desktop 11, x86-64– Fedora 9, x86-64– Fedora 11, x86-32 and x86-64– Ubuntu Desktop 8.04 Update 4, x86-64– Ubuntu Desktop 9.04, Update 4, x86-32 and x86-64Monitor capable of displaying 1024 x 768 @ 16 bpp or better.GNOME <strong>Wind</strong>ow Manager.Intel Pentium 4 class computer with a 1 GHz processor, or a computer withhigher performance.1 GB of RAM.500 MB disk space for installing all supported architectures. Installing a subsetof supported architectures will require less disk space. When calculating theamount of disk space needed, be sure to reserve space for your ownapplications and development.A local DVD-ROM drive or access to a network for installation.TCP/IP must be installed on the host system.A network interface card for debugging over a network (recommended).A current version of a standards-compliant Web browser.An active Internet connection is recommended during initial installation toaccess patches, documentation, and other important information from the<strong>Wind</strong> <strong>River</strong> Online Support Web site. (See 1.2 Latest Release Information, p.2.)32-bit run-time libraries.NOTE: In order to install the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> on a Linux host, yourhost system must include 32-bit run-time libraries. The <strong>Wind</strong> <strong>River</strong> productinstallation process fails if you do not have the libraries installed before runningthe <strong>Wind</strong> <strong>River</strong> installer (the setup_linux program). Most Linux distributionsprovide the libraries in their base feature set; for others, you must installthe 32-bit libraries.3.2 Installation Requirements and IssuesFedora 9 64-Bit HostIn order to install and run <strong>Wind</strong> <strong>River</strong> products on certain Linux hosts, you mustresolve some package dependencies. Before installing the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong><strong>Compiler</strong>, perform the steps described in this section for your particular host type.Install the 32-bit libraries that are required in order to run the installer:# sudo yum install glibc.i386# sudo yum install libgtk-java.i5867


<strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>Release Notes, 5.9.1Fedora 11 64-bit HostUbuntu 8.04 64-Bit HostUbuntu 9.04 64-Bit HostInstall the 32-bit libraries that are required in order to run the installer:# sudo yum install glibc.i686# sudo yum install libgtk-java.i586Install the 32-bit libraries that are required in order to run the installer:$ sudo apt-get install ia32-libs$ sudo apt-get install lib32nss-mdnsInstall the 32-bit libraries that are required in order to run the installer:$ sudo apt-get install ia32-libs$ sudo apt-get install lib32nss-mdns3.3 Target System RequirementsThe target is the processor for which you are developing. The <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong><strong>Compiler</strong> is separately licensed for a variety of target architecture families. For alist of specific target CPUs supported by the tools, use the dctrl utility, or see the<strong>Wind</strong> <strong>River</strong> <strong>Compiler</strong> User’s Guide for each architecture family.4. Usage Caveats4.1 C and C++ <strong>Compiler</strong>sFar Relative Addressing and VLEThe following applies to PowerPC code using the VLE (Variable Length Encoding)instruction set.Programs compiled to use far (32-bit) relative addressing, either for code or data(for example, programs compiled with -Xcode-far-relative or -Xdata-far-relative),must explicitly reference the symbols _SDA_BASE and _SDA2_BASE. If thesesymbols are not referenced anywhere in the program, the linker will generateincorrect code. Specifically, it will try to use “absolute SDA,” in which r0 is used asa base register to indicate a base location of zero. See the user’s guide section onELF Relocation Information for more on absolute SDA.This is not a problem for non-VLE code, where r0 is interpreted as zero; in contrast,in VLE mode, r0 is interpreted as the contents of r0.Limited Support for RTA ProfilingOnly one compiler option for generating Run-Time Analysis profiling informationis supported in VxWorks. That option is -Xrtc. Other compiler profiling options,such as -Xprof, are not supported in VxWorks.For -Xrtc itself, all mask options are supported except mask = 0x4.8


5. Known Problems5. Known ProblemsFor a complete list of known problems in the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>, visit theOnline Support Web site (see 1.2 Latest Release Information, p.2).6. Documentation ErrataFor a detailed list of documentation errata for the <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong>, visitthe Online Support Web site (see 1.2 Latest Release Information, p.2).The <strong>Wind</strong> <strong>River</strong> <strong>Diab</strong> <strong>Compiler</strong> User’s Guide lists a new option for release 5.9.1. Thename of the option is incorrectly given as -Xsort-by-name-desc. The correct nameis -Xsort-by-alignment-desc.9


<strong>Wind</strong> <strong>River</strong> Really Long Product NameGetting Started, 3.0Customer ServicesCustomer Support<strong>Wind</strong> <strong>River</strong> is committed to meeting the needs of its customers. As part of thatcommitment, <strong>Wind</strong> <strong>River</strong> provides a variety of services, including training coursesand contact with customer support engineers, along with a Web site containing thelatest advisories, FAQ lists, known problem lists, and other information resources.For customers holding a maintenance contract, <strong>Wind</strong> <strong>River</strong> offers direct contactwith support engineers experienced in <strong>Wind</strong> <strong>River</strong> products. The CustomerSupport program is described in the Standard Support User’s Guide available at:www.windriver.com/supportThe guide describes the services available, including assistance with installationproblems, product software, documentation, and service errors.You can reach Customer Support by e-mail or telephone:Location Phone E-mailNorth and South America,Asia/Pacific (outside Japan)800-872-4977(toll-free)support@windriver.comEurope, Africa, Middle East +(00) 800-4977-4977(toll-free)support-EC@windriver.comJapan 81-3-5778-6001 support-jp@windriver.com<strong>Wind</strong> <strong>River</strong> Online SupportFor detailed contact information, including contact information specific to yourproducts, see the Support Web site shown above.<strong>Wind</strong> <strong>River</strong> Customer Services also provides <strong>Wind</strong> <strong>River</strong> Online Support, an onlineservice available under the Support Web site. This is a basic service to all <strong>Wind</strong> <strong>River</strong>customers and includes advisories, online manuals, and a list of training coursesand schedules. For maintenance contract holders, Online Support also providesaccess to additional services, including known problems lists, patches, answers tofrequently asked questions, and demo code.10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!