You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Yakov Dekel (JIRA)" <ji...@apache.org> on 2011/08/01 09:07:09 UTC

[jira] [Commented] (AMQ-3429) CMS: invalid static library created

    [ https://issues.apache.org/jira/browse/AMQ-3429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13073446#comment-13073446 ] 

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:
https://www-304.ibm.com/support/docview.wss?uid=swg21175442 
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: https://issues.apache.org/jira/browse/AMQ-3429
>             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 libactivemq-cpp.so.14
> 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: http://www.atlassian.com/software/jira