Intel(R) VTune(TM) Performance Analyzer 8.0.2 for Linux*
Release Notes

 

Contents

Overview
What's New and Core Features
Package Contents
System Requirements
Installation
Usage Notes
Using per CPU buffering in an Activity Collecting Sampling data
Known Limitations
Technical Support
Documentation
Additional Information
Disclaimer and Legal Information

Overview

The VTune(TM) Performance Analyzer 8.0.2 for Linux* product provides graphical user interface and command-line capabilities that assist in finding performance bottlenecks and hotspots in application code. It enables you to collect, analyze, and display performance data for Linux* applications running on IA-32, Intel(R) 64 or Itanium(R) processor based systems.

The VTune analyzer in the integrated Eclipse* platform environment provides these data collection functionalities:

Additional information on the Intel Software Development Products is available at http://www.intel.com/software/products/ .

What's New and Core Features in Version 8.0.2 for Linux

The following are the main new features and core features in the VTune(TM) Performance Analyzer 8.0.2 for Linux*:

Feature

Benefit

New for 8.0.2!
Supports latest Intel Processors Supports the Dual-Core Intel(R) Xeon(R) processor 5100 series , Intel(R) Core(TM) 2 Duo processor, Intel(R) Core(TM) Duo, Intel(R) Core(TM) Solo and Dual-Core Intel(R) Itanium(R) 2 processor 9000 sequence processors.
New events for tuning multi-core Intel(R) Core(TM) Duo processors New events measure parallelism, core sharing of the bus & cache and modified data sharing by threads. These identify opportunities to improve threading, tune multi-core sharing of the bus & cache and optimize cache-line usage.
Sifts the Intel compiler optimization report to find the information you need The Intel compiler optimization report contains a wealth of useful information. The problem is that the 3 lines that you care about are buried in a large multi-megabyte file and hard to find. After you locate your hotspot using the VTune analyzer, just select those lines of code and press the optimization report button. The VTune analyzer filters the report and shows you only the portions of the report that apply to the code you selected. Now you can see what the compiler did and easily choose pragmas that will dramatically improve performance.
Op-code matching Sometimes just choosing an event is not selective enough, because the event can occur both at critical and non-critical times.  On Intel(R) Itanium(R) architecture, op-code matching allows you to collect events only when they occur with a specified op-code.  This lets you to isolate problems like poor pre-fetch and poor memory alignment
Non-uniform memory architecture (NUMA) support Sampling data is now stored in local CPU memory to minimize system bus traffic. This is critical to avoid saturating the system bus and slowing the system under test.
Enhanced CPU masking For systems with a large number of processors you usually only want to collect data from a few of the CPUs. CPU masking lets you control exactly where data is collected, from all processors, only those in your allocation or only the processors you specify. This greatly reduces the amount of data you need to collect.
Open your source editor from Source View You’ve found your performance problem in Source View and are ready to edit the source. Instead of browsing for the file and hunting for the line you need, a single menu click opens the file for edit and scrolls to the selected line
Event aliasing When you create a custom event, it is often difficult to remember exactly what you did. Event aliasing let’s you create a custom label that is meaningful to you.
Tune Inline Functions Tune your inlined code with instance-specific event counts on the source and assembly views.
Hotspot Navigation Find the hottest spot, or jump to the next hottest line. Just select the event you want to navigate by clicking in its column, and then click the Min, Max, Next and Previous icons to quickly browse through your hot spots.
Faster Source and Assembly Views Source view and assembly views open and scroll much faster – over 10X faster on many large files.
New - Now native on Itanium(R) Architecture!
Finding your bottleneck is easier than ever. Get a list of the top 5 time consuming functions with just one simple dialog box. One click on a function name displays the source and shows what’s taking all the time. This makes it fast and easy to find your performance bottleneck. VTune analyzer is integrated with the most popular development environment on Linux - Eclipse. The new Eclipse 3.1 includes context sensitive hint panes to help the user become effective quickly with important tips and explanations.
Event ratios Often a ratio like “clockticks / instruction retired” is a better metric than just a single event. You can use our pre-defined ratios or create your own.
Multi-Row column labels and improved display layouts Better column labels and improved display layouts make finding the right information faster and easier.
A new “Getting Started” document  Enables users become productive quickly, with a short “hands on” tour of VTune Analyzer’s three major analysis flows.
Core Product Features
Multi-user and up to 4096 processors Large system support is even better with the addition of Multi-user Call Graph and Sampling buffering per CPU. Multi-user Call Graph allows several users to share a large resource for concurrent performance testing. Buffering per CPU ensures that Sampling is accurate on systems with up to 4096 processors.
Read only file system support Performance tuning in a secure environment just became a whole lot easier. Call Graph can now analyze secure systems with read only file systems.
Linux 2.6 kernels and MontaVista* Linux Installation has been greatly simplified and automatically downloads drivers for new kernels. VTune analyzer supports 2.6 Linux kernels and MontaVista Linux for embedded developers.
Large and small applications welcome VTune analyzer is a robust solution even with large executables (100MB+). If you have a large design with hundreds of thousands of functions, bring it to VTune analyzer.
No recompile required VTune analyzer works with your existing binary. Unlike traditional instrumented profilers that make you recompile or modify your build script for profiling, you just run VTune analyzer with your normal production build.
System-wide event based sampling Accurately identifies where the program is spending its time with negligible overhead (typically less than 5%).
Call graph Determines calling sequences and finds the critical path, but has a higher overhead.
Both sampling & call graph. Unlike other offerings, VTune analyzer provides both sampling & call graph analysis tools. Even if you plan to do mostly call graph analysis, running sampling first lets you identify the modules that need it so you only pay the overhead for the modules that need to be analyzed. This can be vital on large projects. Sampling is great for analysis of “loopy” code. Call Graph is usually better for “branchy” code. You need both to get the job done right.

 

See the System Requirements section below for a full list of supported Linux* distributions and Linux* JVMs.

Package Contents

The VTune analyzer for Linux* contains the following components:

System Requirements

This section details the processor, memory and operating system requirements for installing the various components of the VTune analyzer.

Processor Requirements for Installing the VTune(TM) Analyzer

The following table lists the processor and operating system requirements for installing the various components of the VTune analyzer. The table columns are the following:

ProcessorVTune analyzer
with Eclipse* (vtlec)
VTune analyzer  Command Line Interface (vtl)RDC (vtserver)
Intel(R) Celeron(R) processor+++
Intel(R) Celeron(R) M processor+++
Intel(R) Celeron(R) D processor+++
Intel(R) Xeon(R) processor+++
Intel(R) Pentium(R) 4 processor+++
Intel(R) Pentium(R) 4 processor Extreme Edition+++
Intel(R) Pentium(R) M processor+++
Intel(R) Pentium(R) 4 processor with Streaming SIMD Extensions 3 (SSE3)+++
Mobile Intel(R) Pentium(R) 4 processor - M+++
Intel(R) Core(TM) Solo processor+++
Intel(R) Core(TM) Duo processor+++
Intel(R) Core(TM) 2 Duo processor+++
Dual-Core Intel(R) Xeon(R) processor 5100 series+++
Intel(R) Xeon(R) processor MP +++
Intel(R) Itanium(R) 2 processor +++
Dual-Core Intel(R) Itanium(R) 2 processor 9000 sequence+ ++
Low Voltage Intel(R) Itanium(R) 2 Processor +++
Intel(R) Xeon(R) processor with Intel(R) Extended Memory 64 Technology (Intel(R) 64)+ + +
Intel(R) Pentium(R) D Processor + + +
Intel(R) Pentium(R) Processor Extreme Edition+ + +

 

Memory and Disk Space Requirements

This section details the memory and disk space requirements for using the VTune analyzer. Note that memory and disk space requirements for the application you are tuning may be larger than the VTune analyzer requirements. In this case you need to have sufficient memory and disk space for running your application in addition to the VTune analyzer application and the data collection.

When collecting data on your application with the call graph collector, your application requires more memory than for regular execution.

Memory Requirements

The following table details the memory requirements for running the VTune analyzer application:

VTune(TM) Analyzer interface RAM Swap space
command line 256 MB 256 MB
integrated Eclipse platform environment 512 MB 512 MB

Disk Space Requirements

The following table details the disk space requirements for running the VTune analyzer:

Component Disk Space for IA-32 Systems Disk Space for Intel(R) 64Systems Disk Space for Itanium(R) Architecture Systems
Total (tar file, its extracted files, and all installed components) 902 MB of total available disk space 918 MB of total available disk space 617 MB of total available disk space
/opt/sag directory (created during install) for the included EntireX DCOM for Linux software. 41.3 MB 45.4 MB 57.2 MB
Eclipse* and JRockit* components (/opt/intel/eclipsepackage/3.1.1/eclipse and /opt/intel/eclipsepackage/3.1.1/jrockit-jre1.5.0_04)  117.8 MB 117.8 MB  142.1 MB

Operating System Requirements

This section explains the operating system requirements for running the VTune analyzer for Linux.

Operating System Requirements for Linux Command-line and Graphical User Interface

NOTE:
If you are not using a default kernel on the supported Red Hat* and SuSE* distributions listed below, use the VTune(TM) Performance Analyzer Driver Kit to compile drivers for your kernel. The VTune analyzer Driver Kit software is included with this VTune analyzer product, and can also be obtained via Intel(R) Premier Support. See Technical Support section below for more information on the Intel(R) Premier Support.

Linux* Distributions Supported

The VTune analyzer for Linux has been tested for operation on the following Linux distributions.  If support is only enabled via Remote Data Collection, RDC is listed in the table entry.  The kernel versions are supported for Linux systems with supported processors for both uniprocessor systems (UP) and multiprocessor systems (SMP), unless otherwise noted: 

The VTune analyzer for Linux has been tested for operation on the following Linux distributions.  If support is only enabled via Remote Data Collection, RDC is listed in the table entry.  The kernel versions are supported for Linux systems with supported processors for both uniprocessor systems (UP) and multiprocessor systems (SMP), unless otherwise noted. 

 
Operating System Kernel Version IA-32 Intel(R) 64 Itanium(R) processor-based systems
Red Hat* Enterprise Linux* 3.0  Update 6 2.4.21-37.EL + + +
Red Hat* Enterprise Linux* 4.0  Update 3 2.4.9-34.EL + + +
SuSE* Linux* Enterprise Server (SLES) 9.0 Service Pack 3 2.6.5-7.244 + + +
SuSE* Linux*  10 2.6.13-15 + + 
SGI Pro Pack* 4.0, Service Pack 3 2.6.5-7.244-sn2   +
Red Flag* Linux* 5.0 DC Server 2.6.9-11 + + +
Red Hat* Fedora* Core 4 2.6.11-1.1369_FC4 + + 
MontaVista* Linux  Carrier Grade Edition 4* 2.6.10 RDC   
Mandriva / Mandrake Linux* 10.2 2.6.9-11mdk + + 
SuSE* Linux* Enterprise Server (SLES) 10 2.6.16.21-0.8+ + +
SGI Pro Pack* 3.0     +
Turbo Linux* 10 2.6.9-5.15 + + +
Miracle Linux* 4 2.6.9-11 + + +
Haansoft Linux* 2006 Server 2.6.9-11 + + +
 

The VTune Analyzer for Linux supports all compilers that follow industry standard object code formats (i.e. ELF, STABS, DWARF). 
For example, the analyzer works with
applications built with these compilers:

Operating System Requirements for Linux* Remote Data Collector

Please refer to the Operating System Requirements section in these release notes.

Java* Development Kits (JDKs)

The VTune analyzer in the integrated Eclipse platform environment has been tested for operation on the following JDK:

The VTune analyzer has been tested for profiling under the following JDKs.  The latest releases of these JDKs may be used:

On IA-32 systems:

On Itanium(R) architecture systems:

On systems with Intel(R) 64:

NOTE:
The VTune analyzer will crash under Eclipse if you run it with BEA JRockit 1.5.0 under Red Hat Enterprise Linux 4.0 for Intel(R) 64.  Do one of the following to avoid this situation:

Call graph support on the different architectures

  VTune Analyzer 8.0 for Linux* VTune Analyzer 3.0 for Linux*
 

Local

Remote data collector on
Linux

Local

Remote data collector on
Linux

IA-32 Yes Yes Yes Yes
Intel(R) 64  
64-bit apps Yes Yes    
32-bit apps Yes Yes    
Itanium(R) Architecture
64-bit apps Yes Yes Yes Yes
IA-32 apps        

Installation

Refer to the information in the Installation Guide located in the <installdir>/INSTALL.txt document.

Usage Notes

Launching the VTune(TM) Analyzer for Linux

This section explains how to launch the VTune analyzer for Linux in the integrated Eclipse platform environment, or with the command line user interface.

NOTE:
Launching the VTune analyzer requires that the USER environment variable be defined.  The USER environment variable is usually defined during the login process.

NOTE:
For best performance when working with your Linux system remotely using an X-server, be sure the X-server supports efficient font anti-aliasing (for example, Hummingbird* Exceed* X server v10 and higher).

NOTE:
If you have ever used the Eclipse GUI from the VTune analyzer 3.x, 8.x for Linux on your machine, please remove the .eclipse directory from your $HOME directory before running the Eclipse GUI for the VTune Performance Analyzer 8.0.2 for Linux.

Use the following command to launch the VTune analyzer in the integrated Eclipse platform environment:
    $ <install_dir>/bin/vtlec
Where: <install_dir> is the installation directory. The default installation directory is: /opt/intel/vtune.

NOTE:
The VTune analyzer projects are saved within an Eclipse workspace. The workspace location is established at the time vtlec is invoked. By default, the workspace directory is created in the current directory. You can use the -data option to specify a workspace directory in a different location.

The following example creates a workspace directory called workspace in the directory /home/MyProj. All VTune analyzer project files are saved within that workspace directory.

    $ cd /home/MyProj
    $ /opt/intel/vtune/bin/vtlec

If you are in a directory other than MyProj and wish to invoke vtlec and view the project files created during the above session, use the following command line:

  $ /opt/intel/vtune/bin/vtlec -data /home/MyProj

To view the Eclipse help, go to Help > Help Contents. Within the help, the following books contain information on the VTune Performance Tools:  VTune(TM) Performance Environment, VTune(TM) Analyzer, VTune(TM) Analyzer Reference. For information on the various Eclipse options that can be added to the vtlec command line, see the Workbench User Guide > Tasks > Running Eclipse topic.

To change the Eclipse JVM arguments, use the standard Eclipse mechanism, the -vmargs command-line option. Use the following command:

vtlec [platform options] [-vmargs [Java VM arguments]].

NOTE:
-vmargs must be the last option on the command line.

Using the vtl Command Line

To use the command line version of the VTune Performance Analyzer, use this command line:

    $ <install_dir>/bin/vtl

where: <install_dir> is the installation directory. The default installation directory is: /opt/intel/vtune.

Using the Pause/Resume and Stop/Start APIs

Use the Start/Stop (for sampling only) and Pause/Resume APIs to start the data collection from the application and profile only specific sections of your code. See the VTune analyzer command line interface User's Guide for more information. The VTune analyzer User's Guide is in: /<install_dir>/doc/users_guide/index.htm,where /<install_dir> is the installation directory. The default installation directory is /opt/intel/vtune.

Sampling Data Collection and Analysis of up to 4096 Processors

This section explains how to use this release for sampling collection and analysis of up to 4096 processors using the vtl command line. 

  1. Install VTune analyzer 8.0.2 for Linux and setup local sampling for the number of processors on the desired Linux machine.
  2. Create and run an Activity with a sampling collector. An optional cpu-mask can be specified to limit collection to a subset of processors available on the system. For example, the following vtl command can be used for sampling processors 1, 4 and processors 20 to 25:

    vtl activity –c sampling –o "-cpu-mask 1,4,20-25"

     

  3. Open the sampling collection results using the command line viewer (vtl). For example:
     

vtl view –processes –cpu 1,4

You can use the VTune(TM) Analyzer 8.0 (for Windows* operating systems) to view and analyze the sampling collection results in graphical mode using Process, Modules, Hotspot, and the Sampling Over Time (SOT) Views. To view the sampling data using GUI Viewers on Windows, perform the following steps:

  1. Install the VTune analyzer 8.0 or higher, on a system with the Windows operating system.
  2. Copy the .tb5 file created in step 2 above, to the Windows system.
  3. Launch the VTune analyzer 8.0 and use the File > Open File menu command to open the .tb5 file.
  4. View the sampling results in the Process/Modules/Hotspots views.
  5. Click the hourglass icon to invoke the Sampling Over Time (SOT) views for the selected processes/modules.
    NOTE:
    Collecting sampling data on systems with a large number of processors generates a significant amount of data. The most significant factor is the sampling rate.  First, try to increase the Sampling Interval value, then use CPU masking to further reduce the amount of collected data. CPU masking enables you to limit data collection only to the processors of interest.

VTune(TM) Performance Analyzer and the Processes Started by EntireX DCOM for Linux

The VTune analyzer uses a number of daemons which are started and stopped during the installation process. During the installation, you are prompted to select automatic startup of these daemons at system boot time, the suggested default behavior.

The administrator of the system can manually stop and start these daemons by issuing one of the following commands as root (use su - to log in as root before proceeding).

    $ /etc/rc.d/init.d/ntd stop (for RedHat and SuSE based systems)
   
$ /etc/rc.d/init.d/ntd start

If the system isn’t based on RedHat or SuSE the administrator of the system should use the following commands.

    $ /etc/rc.d/init.d/ntdwrapper stop (forTurbo Linux* 10 and others)
    $ /etc/rc.d/init.d/ntdwrapper start

Typically, about thirteen (13) processes are started as a result of the dcom start script. The number can increase from there, upon use. To see the number of processes currently running on your server:

    $ ps -u vtunesag | wc -l # shows number of processes

Using per CPU buffering in an Activity collecting Sampling Data

Use the Per CPU buffering feature to enhance the quality of sampling results on systems with large number of processors. This feature is automatically enabled on SGI Altix ProPack4 systems running "-sn3" kernels.

Turning on/off per CPU buffering

To manually enable Per CPU Buffering, set SEP_PERCPU_BUFFER=1 prior to starting the VTune analyzer.

To manually disable Per CPU Buffering, set SEP_PERCPU_BUFFER=0 prior to starting the VTune analyzer.

Adjusting the Priority of VTune(TM) Performance Analyzer process

During sampling collection, data is stored in the internal kernel buffers. When the buffers become full, the VTune analyzer flushes the data to the disk. During these brief periods, the VTune analyzer does not collect samples. To minimize the loss of samples, the VTune analyzer needs to run at a higher-than-normal priority while sampling.

To adjust the process priority, set the SEP_PRIORITY environment variable prior to starting the VTune analyzer. The valid range for this variable is between -20 to 19. A negative number means a higher priority will be used and fewer samples will be missed. A positive number means a lower priority will be used but with the risk of potentially missing a significant number of samples. A priority of 0 means some samples may be missed. If SEP_PRIORITY is not set or the value is outside of this range, then a value of -1 will be used.

Known Limitations

This section details the known limitations and possible solutions in the following areas:  Installation Limitations, General Limitations, Sampling Limitations, Call Graph Limitations.

Installation Limitations

The MontaVista Linux package includes a binary kernel that does not match the kernel sources available on the target system.

Solution:

Recompile the kernel. The following instructions provide an outline for recompiling the kernel.  Save a copy of the original kernel as a backup.  Please refer to the MontaVista Linux documentation for step-by-step instructions.

1. Rebuild the kernel with the default configuration (root access is required).
# cd /usr/src
# ln –s /opt/montavista/devkit/lsp/<your_package>/linux-2.4.20_mvlcge31 linux

      where <your_package> is the name of the MontaVista Linux install (e.g., generic_x86-pc_target-x86_pentium4)
# cd linux
# make oldconfig
# make dep
# make bzImage
3. Copy the kernel and system map to /boot.
4. Configure lilo.conf for the new kernel.
5. Run /sbin/lilo to load the new kernel.
6. Reboot the machine.

General Limitations

Sampling Limitations

[SCR #22551]

/home/user01/VTune/Projects/Sampling/ar229f/tbs241e.sdb/query_res8104B20.dbf

 

In case this problem occurs frequently you may change the Vtune analyzer database settings as follows:

 

- rm -rf /home/vtune/klupach/VTune/Projects/Sampling/ar229f/tbs241e.sdb (if you want to view this activity result)

- create the file .vtunedb in the directory $VTUNE_USER_DIR (it is $HOME/VTune if you have not set it to another value) or in the directory $HOME.

 

Its content should look like the following:

 

#current DB driver settings

driver = db_sqlite

#end of file

[SCR  #24121]

Call Graph Limitations

Other possible workarounds are:

1. Instrument the Intel MPI application in advance and pass it to mpiexec in a profiling run.
2. Don't use mpiexec and pass the profiled application parameters to the MPI daemon directly [SCR #26721]

Technical Support

Your feedback is very important to us. To receive technical support for the tools provided in this product and technical information including FAQ's and product updates, you need to be registered for an Intel(R) Premier Support account on our secure web site. Please, register at the  Intel Registration Center

You will find a list of support resources at: http://www.intel.com/software/products/support.  This web page will direct you to the support resources that are available to you.

Submitting Issues

This version of the VTune Analyzer for Linux includes a utility that gathers information about your specific system and VTune Analyzer for Linux configuration.  The information helps our engineering team analyze your issue and may lead to a faster resolution of the issue.  Please run this utility and attach the resulting log file to your support issue on Intel Premier Support.  You can run the utility by entering the following command:  /opt/intel/vtune/bin/vtqfagent.  The utility specifies the name and location of the generated log file after it runs.

Steps to submit an issue:

  1. Go to https://premier.intel.com/.  Java* and Javascript* and cookies must be enabled in your web browser to submit an issue.
  2. Type in your Login and Password. Both are case-sensitive. (If you have trouble registering or are unable to access your Premier Support account, go to https://registrationcenter.intel.com/support.  There is a link to technical support near the bottom of the page).
  3. Click Submit.
  4. Read the Confidentiality Statement and click the I Accept button.
  5. Click on the Submit Issue link in the left navigation bar.
  6. Choose Development Environment (tools,SDV,EAP) from the Product Type drop-down list.
  7. Run /opt/intel/vtune/bin/vtqfagent to generate a log file that includes information about your specific environment and VTune Analyzer for Linux* configuration.
  8. Enter your question, complete the fields in the windows that follow, and attach the log file generated by running /opt/intel/vtune/bin/vtqfagent to successfully submit the issue.

Guidelines for problem report or product suggestion:

Documentation

The documentation for the VTune analyzer for Linux is presented in these formats:

Command-line Help

Manual Pages

To view manual entries for the VTune analyzer, enter the appropriate command:

NOTE:
To view the man pages in the local language, set the system variables LESSCHARSET and LANG as follows:

LESSCHARSET=utf-8
LANG=zh_CN.utf8
 

HTML Documentation

The HTML documentation for the VTune analyzer consists of these components:

Where: <install_dir> is the installation directory. The default installation directory is: /opt/intel/vtune.

Viewing HTML Documentation

The HTML documentation can be viewed with any web browser, although a browser that supports HTML 4.0 is recommended. Older versions of browsers (especially Netscape* and Konqueror*) may not display some of the HTML documents correctly.

Integrated Eclipse Platform Environment Documentation

The VTune analyzer documentation in the integrated Eclipse platform environment is available from the Eclipse user interface. Go to Help > Help Contents and click to expand the following books: VTune(TM) Performance Environment, VTune(TM) Analyzer, or VTune(TM) Analyzer Reference.

Additional Information

Related Products and Services

Information on Intel software development products is available at http://www.intel.com/software/products.

Some of the related products include:

GNU libstdc++ Runtime Library Installed with the Product

This release includes a specially built version of the GNU libstdc++ runtime library, which is required for the proper execution of the product. If you need to reproduce these library binaries you must follow the procedure below. However, this is not necessary in order to use the product.

These instructions assume that the gcc-core and gcc-g++ are unpacked in gcc-3.3.3, the build happens in the parallel directory build-3.3.3, and that the build configuration has already been done.

No gcc source file, makefile, or other file either provided in the original tarfiles nor any such file generated during the build process is opened or altered by the following procedure.

  1. Build the library:
    CD build-3.3.3
    make bootstrap
  2. Save a log of the way the files are rebuilt by default, before rebuilding them:
    CD ../gcc-3.3.3/libstdc++/libsupc++
    touch tinfo.cc tinfo2.cc # make them rebuild
    CD -
    make &> out.txt
  3. In the file out.txt, copy the four lines of output that have "tinfo.cc" and "tinfo2.cc" in them into the build-3.3.3/script.sh file.
    Edit the script and add -D__GXX_WEAK__=0 just after the "-c" once for each line.
    This changes the build of these files so that type_info is compared by string instead of pointer. You can see the effect in typeinfo, where the
    __GXX_WEAK__=0 definition results in this definition:
    __GXX_MERGED_TYPEINFO_NAMES=0, which causes type_info::before() and type_info::operator== () to be declared in typeinfo and their definitions to be compiled in tinfo.cc and tinfo2.cc.
  4. Touch the files again:
    CD ../gcc-3.3.3/libstdc++/libsupc++
    touch tinfo.cc tinfo2.cc
    CD -
  5. Run the script created above. The compiler will complain about overriding a builtin.
    The value of __GXX_WEAK__ is built in to the compiler by gcc-3.3.3/gcc/cppinit.c.
    You get warnings like this:
    # <command line>:1:1: warning: "__GXX_WEAK__" redefined
    CD i686-pc-linux-gnu/libstdc++-v3/libsupc++
    $OLDPWD/script.sh
  6. Relink dependencies of the files built above:
    CD -
    make
    Install the library:
    make install

Disclaimer and Legal Information

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL(R) PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications.
Intel may make changes to specifications and product descriptions at any time, without notice.

Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.

MPEG is an international standard for video compression/decompression promoted by ISO. Implementations of MPEG CODECs, or MPEG enabled platforms may require licenses from various entities, including Intel Corporation.

The software described in this document may contain software defects which may cause the product to deviate from published specifications. Current characterized software defects are available on request.

This document as well as the software described in it is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document.

Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation.

Developers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Improper use of reserved or undefined features or instructions may cause unpredictable behavior or failure in developer’s software code when running on an Intel processor. Intel reserves these features or instructions for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from their unauthorized use.

BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino logo, Chips, Core Inside, Dialogic, EtherExpress, ETOX, FlashFile, i386, i486, i960, iCOMP, InstantIP, Intel, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel vPro, Intel XScale, IPLink, Itanium, Itanium Inside, MCS, MMX, MMX logo, Optimizer logo, OverDrive, Paragon, PDCharm, Pentium, Pentium II Xeon, Pentium III Xeon, Performance at Your Command, Pentium Inside, skoool, Sound Mark, The Computer Inside., The Journey Inside, VTune, Xeon, Xeon Inside and Xircom are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.

Copyright © 2006, Intel Corporation.

This product includes software developed by the Apache Software Foundation (http://www.apache.org). The following software license applies to the software developed by the Apache Software Foundation.

Copyright (c) 2000-2005, The Apache Software Foundation. All rights reserved.

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

  1. Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributing 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. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:

    "This product includes software developed by the Apache Software Foundation (http://www.apache.org)."

    Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.

  4. The names "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
  5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.

THIS SOFTWARE IS PROVIDED "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 APACHE SOFTWARE FOUNDATION 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.

The OpenSource GNU C++ runtime library source files can be downloaded at ftp://ftp.gnu.org/pub/gnu/gcc under the terms of the GNU General Public License or the GNU Lesser General Public License as published by the Free Software Foundation. Specific terms are available online at www.gnu.org or alternatively from the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. These links are provided in the hope that they will be useful, but the linked sites are not under the control of Intel(R) and Intel(R) is not responsible for the content of any linked site, or any link contained in a linked site. If you decide to access any of the third party sites linked to this site, you do so entirely at your own risk.

Copyright (c) 2004, Microsoft Systems Journal, All rights Reserved.

Portions copyright (c) 2004, eHelp Corporation, All rights Reserved.

Portions copyright (c) 1988-2001, Sequiter Software Inc. All rights Reserved.


Copyright (c) 2003, Trolltech AS, All Rights Reserved.


Copyright (c) 1989, 1991 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.


Copyright (c) 1999 Mizi Research 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:

  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.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 REGENTS 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. 


Copyright (c) 1999 Serika Kurusugawa, All rights reserved.

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.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 REGENTS 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.


Copyright (c) 1996 Daniel Dardailler.

Permission to use, copy, modify, distribute, and sell this software for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Daniel Dardailler not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Daniel Dardailler makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

Modifications Copyright 1999 Matt Koss, under the same license as above.


Copyright (c) 2000 Hans Petter Bieker. All rights reserved.

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.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 REGENTS 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.


Copyright (c) 2000 TurboLinux, Inc. Written by Justin Yu and Sean Chen.

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.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 REGENTS 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. 


Qt supports GIF reading if it is configured that way during installation (see qgif.h). If it is, we are required to state that "The Graphics Interchange Format (c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated."