activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yakov Dekel (JIRA)" <>
Subject [jira] [Commented] (AMQ-3429) CMS: invalid static library created
Date Mon, 01 Aug 2011 07:07:09 GMT


Yakov Dekel commented on AMQ-3429:

In addition, when attempting to create a static library by manually archiving the library,
the following error is emitted:

	0711-781 ERROR: TOC overflow. TOC size: 206424      Maximum size: 65536 implementing  

the followwing ibm page: 
suggests adding -bbigtoc to the build (but discourages doing so). the result is an ugly warning:

ld: 0711-783 WARNING: TOC overflow. TOC size: 206424    Maximum size: 65536
        Extra instructions are being generated for each reference to a TOC
        symbol if the symbol is in the TOC overflow area.

The above link explains this warning:

One disadvantage of using this option is that it generates extra code if the size of the table
of contents
(TOC) is greater than 64KB. Extra code is needed for every reference to a TOC symbol that
cannot be addressed with a 16-bit offset. Because a program containing generated code may
have poor
performance, you should reduce the number of TOC entries needed by the program before using
this option. 

The way to do it is: "Break up large segments of code into smaller compilation units" and
"Reduce the number of variables in the compilation unit "

> CMS: invalid static library created
> -----------------------------------
>                 Key: AMQ-3429
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: CMS (C++ client)
>    Affects Versions: 5.5.0
>         Environment: $ uname -a
> AIX aix03 3 5 00CBFD314C00
> $ xlC -qversion
> IBM XL C/C++ Enterprise Edition for AIX, V9.0
> Version: 09.00.0000.0000
>            Reporter: Yakov Dekel
>            Priority: Critical
> When building cpp-cms, the resulting static library is useless. Instead of archiving
the entire cast of objects, the shared library is archived as a single entity:
> $ ar -vt -Xany libactivemq-cpp.a
> rwxr-xr-x  1048/100   60870613 Jul 21 14:04 2011
> Obviously this is wrong. The archive should contain the raw objects. Statically linking
against such an archive is meaningless. 

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message