<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: %ILINK-E-NOT22BITS error -- how to solve? in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854877#M19909</link>
    <description>Willem,&lt;BR /&gt;&lt;BR /&gt;The limit of 4MB is detailed on pages 4-57 and 4-58&lt;BR /&gt;of the HP OpenVMS Calling Standard (Dec 2003).&lt;BR /&gt;I am looking at breaking this image into smaller&lt;BR /&gt;shareable images which I suspect is the only&lt;BR /&gt;way it will get resolved.&lt;BR /&gt;&lt;BR /&gt;Dave&lt;BR /&gt;</description>
    <pubDate>Tue, 01 Jun 2004 22:17:06 GMT</pubDate>
    <dc:creator>David B Sneddon</dc:creator>
    <dc:date>2004-06-01T22:17:06Z</dc:date>
    <item>
      <title>%ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854872#M19904</link>
      <description>Hi Folks,&lt;BR /&gt;&lt;BR /&gt;I am trying to port code to Itanium.  The code&lt;BR /&gt;compiles OK but when I link I get&lt;BR /&gt;&lt;BR /&gt;%ILINK-E-NOT22BITS, the short data segment has exceeded 4MB&lt;BR /&gt;%ILINK-E-NOIMGFIL, image file not created&lt;BR /&gt;&lt;BR /&gt;I can't find anything on the "short data" segment&lt;BR /&gt;and the Itanium porting guide mentions setting&lt;BR /&gt;the linker option SHORT_DATA=WRT (or NOWRT) to&lt;BR /&gt;possibly prevent this overflow.&lt;BR /&gt;&lt;BR /&gt;The image in question is 150MB on Alpha and a&lt;BR /&gt;map generated for the Itanium link indicates a&lt;BR /&gt;size of 420MB (not my code or application design,&lt;BR /&gt;I'm just trying to get it to build).&lt;BR /&gt;&lt;BR /&gt;Questions:&lt;BR /&gt;What is the short data segment?&lt;BR /&gt;Can its allocation be controlled?&lt;BR /&gt;Is resolving this issue going to involve lots&lt;BR /&gt;of code/application redesign?&lt;BR /&gt;(If the answer to the last one is YES, then I&lt;BR /&gt;need to know so I can let the developers know&lt;BR /&gt;they have a small job to do.)&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;Dave&lt;BR /&gt;</description>
      <pubDate>Tue, 01 Jun 2004 01:02:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854872#M19904</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2004-06-01T01:02:19Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854873#M19905</link>
      <description>Dave,&lt;BR /&gt;For what I've learned:&lt;BR /&gt;&lt;BR /&gt;Short data segment is part of the new exe format. What is contains exactly, I don't know, maybe it has to do with UNWIND in case of error (this hes been changed drastically compared with AXP and VAX). It's allocation can NOT be controlled (prescibed by the standard).&lt;BR /&gt;Whether it requires a lot of recoding cannot be stated without knowlegde of the application. It may, or may not.&lt;BR /&gt;&lt;BR /&gt;Check the following link:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.hp.com/products1/evolution/alpha_retaintrust/openvms/resources.html" target="_blank"&gt;http://www.hp.com/products1/evolution/alpha_retaintrust/openvms/resources.html&lt;/A&gt; for information of porting to Itanium.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 01 Jun 2004 03:17:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854873#M19905</guid>
      <dc:creator>Willem Grooters</dc:creator>
      <dc:date>2004-06-01T03:17:19Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854874#M19906</link>
      <description>Willem,&lt;BR /&gt;&lt;BR /&gt;I have just been looking through the Calling Standard&lt;BR /&gt;and found a description of the short data segment.&lt;BR /&gt;It is related to the linker collecting small&lt;BR /&gt;items (less than 8 bytes) and putting them in&lt;BR /&gt;the short data area so that addressing them&lt;BR /&gt;is done using a short direct addressing sequence&lt;BR /&gt;rather than indirect addressing.&lt;BR /&gt;One is directed to the Linker Manual for more&lt;BR /&gt;information on images and clusters but I am&lt;BR /&gt;still unclear as to how I can gather this data&lt;BR /&gt;into different clusters within the image.&lt;BR /&gt;&lt;BR /&gt;Dave</description>
      <pubDate>Tue, 01 Jun 2004 03:33:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854874#M19906</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2004-06-01T03:33:55Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854875#M19907</link>
      <description>Dave,&lt;BR /&gt;&lt;BR /&gt;This "short data segment" is just one area, prescribed by the standards (ELF, I reckon) so I think you have no real control over it,&lt;BR /&gt;nor will you have control over this section's protection. (There has been some changes in protections as well!)&lt;BR /&gt;&lt;BR /&gt;You may be able to put at least part it into one or more other sections.&lt;BR /&gt;&lt;BR /&gt;Willem</description>
      <pubDate>Tue, 01 Jun 2004 03:55:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854875#M19907</guid>
      <dc:creator>Willem Grooters</dc:creator>
      <dc:date>2004-06-01T03:55:00Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854876#M19908</link>
      <description>Dave,&lt;BR /&gt;&lt;BR /&gt;Dug somewhat deeper.&lt;BR /&gt;Image section (ISECT) on AXP is named "Segment" on IA64. Just for clearence:&lt;BR /&gt; &lt;BR /&gt;"Short Data" segment on Itanium can be compared with "Linkage" section on Alpha. The ReadOnly data held in the section on AXP is now in a separate segment (RO data) in IA64.&lt;BR /&gt;I also found that the footprint of the code segment on IA64 is about 3 times the one on AXP - based on the very few examples I've seen. &lt;BR /&gt;&lt;BR /&gt;IIRC, "Short Data" is determined by the linker so I very much doubt you have influence on the placement. As said before, you may able to do so by explicitly locate the data in a separate section. If not - that means trouble.&lt;BR /&gt;&lt;BR /&gt;Something for HP to clarify 9and solve....):&lt;BR /&gt;I've heard nor read anywhere about this 4Mb limitation on ShortData segment. If it is, HP should supply methods to overcome this.&lt;BR /&gt;&lt;BR /&gt;Willem</description>
      <pubDate>Tue, 01 Jun 2004 05:17:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854876#M19908</guid>
      <dc:creator>Willem Grooters</dc:creator>
      <dc:date>2004-06-01T05:17:26Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854877#M19909</link>
      <description>Willem,&lt;BR /&gt;&lt;BR /&gt;The limit of 4MB is detailed on pages 4-57 and 4-58&lt;BR /&gt;of the HP OpenVMS Calling Standard (Dec 2003).&lt;BR /&gt;I am looking at breaking this image into smaller&lt;BR /&gt;shareable images which I suspect is the only&lt;BR /&gt;way it will get resolved.&lt;BR /&gt;&lt;BR /&gt;Dave&lt;BR /&gt;</description>
      <pubDate>Tue, 01 Jun 2004 22:17:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854877#M19909</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2004-06-01T22:17:06Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854878#M19910</link>
      <description>Well, I didn't yet read into the document. You're right.&lt;BR /&gt;&lt;BR /&gt;But this section also states:&lt;BR /&gt;&lt;BR /&gt;&lt;QUOTE&gt;&lt;BR /&gt;This allows for up to 256,000 individually-named variables and functions. If an image requires more than this, linker options may&lt;BR /&gt;be used to divide the image into multiple clusters (see Section 4.7.1).&lt;BR /&gt;&lt;/QUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;So there _should_ be a way to get this done without braking up the image - as described in 4.7.1:&lt;BR /&gt;&lt;BR /&gt;&lt;QUOTE&gt;&lt;BR /&gt;Optionally, an image may be&lt;BR /&gt;partitioned into subcomponents called clusters in which case each cluster may&lt;BR /&gt;have its own associated data segment (clusters may also share a common data&lt;BR /&gt;segment). For further information on images and clusters, see the OpenVMS&lt;BR /&gt;Linker Utility Manual.&lt;BR /&gt;&lt;/QUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;Though I wonder whether this manual already exists for Itanium....&lt;BR /&gt;&lt;BR /&gt;(Are you planning te describe and share your experiences? I guess quite a lot of people would appriciate that!)&lt;BR /&gt;&lt;BR /&gt;Willem&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 02 Jun 2004 06:35:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854878#M19910</guid>
      <dc:creator>Willem Grooters</dc:creator>
      <dc:date>2004-06-02T06:35:57Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854879#M19911</link>
      <description>Willem,&lt;BR /&gt;&lt;BR /&gt;I will certainly share my experiences with this issue,&lt;BR /&gt;unfortunatetly the reference to the Linker manual&lt;BR /&gt;does not explain how to specify data such that it&lt;BR /&gt;does not end up in the "short data segment" which&lt;BR /&gt;is the heart of the problem.&lt;BR /&gt;Initial attempts at breaking up the image into&lt;BR /&gt;smaller shareable images is proving somewhat difficult&lt;BR /&gt;due to the call hierarchy of the program.  It will&lt;BR /&gt;require a major rework of the code.&lt;BR /&gt;&lt;BR /&gt;Dave&lt;BR /&gt;</description>
      <pubDate>Wed, 02 Jun 2004 08:32:58 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854879#M19911</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2004-06-02T08:32:58Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854880#M19912</link>
      <description>&lt;BR /&gt;Dave,&lt;BR /&gt;&lt;BR /&gt;The short data segement contains 1) procedure descriptors (i.e. linkage), which the linker creates on IPF 2) pointers to long or short data which the linker creates in response to relocations in your code 3) data less than a quadword in length which the compilers have put in sections labelled "SHORT". &lt;BR /&gt;&lt;BR /&gt;There is only 1 short data segment per image (composed actually of two segments which have to be relocated together by the image activator). The short data segement is accessed by offsets to the GP (Reg. 1), and the GP is set to an address by the image activator at image activation. The GP points to the middle of the (two) short data segment. Code can then access data with an offset to the GP instead of with a full address.&lt;BR /&gt;&lt;BR /&gt;You don't say what linker you are using, but we made an adjustment that dramatically decreases the amount of short data by pooling the addresses.&lt;BR /&gt;&lt;BR /&gt;Essentially the error NOT22BITS is fatal - if you get that error there is nothing that the linker can do to link the image. You are correct - you are left to either 1) move some of the compiler data out of short data or 2) break the image into several shareable images.&lt;BR /&gt;&lt;BR /&gt;Not many customers will hit this error - in fact I've been looking for one since we started. We'd like to help you through this porting problem. Can you contact me directly through mail? I'd like a map of the image (if you have one) and some knowledge of what languages you are using.&lt;BR /&gt;&lt;BR /&gt;-Walt Arbo&lt;BR /&gt; VMS/IPF Object/Images Project Leader&lt;BR /&gt; Hewlett Packard</description>
      <pubDate>Wed, 02 Jun 2004 10:12:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854880#M19912</guid>
      <dc:creator>Walter D. Arbo</dc:creator>
      <dc:date>2004-06-02T10:12:34Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854881#M19913</link>
      <description>This almost makes me recall days of PDP and overlays</description>
      <pubDate>Wed, 02 Jun 2004 18:19:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854881#M19913</guid>
      <dc:creator>Cass Witkowski</dc:creator>
      <dc:date>2004-06-02T18:19:54Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854882#M19914</link>
      <description>Walt,&lt;BR /&gt;&lt;BR /&gt;The code is mostly BASIC with a few Macro and C routines.&lt;BR /&gt;Yes I can send you a map from the linker.&lt;BR /&gt;The Linker is I01-60.&lt;BR /&gt;What is your email address?&lt;BR /&gt;&lt;BR /&gt;Dave&lt;BR /&gt;</description>
      <pubDate>Wed, 02 Jun 2004 19:32:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854882#M19914</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2004-06-02T19:32:47Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854883#M19915</link>
      <description>&lt;BR /&gt;Dave,&lt;BR /&gt;&lt;BR /&gt;Please email me at "walt dot arbo at you-know-where dot com".&lt;BR /&gt;&lt;BR /&gt;-Walt</description>
      <pubDate>Thu, 03 Jun 2004 08:23:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854883#M19915</guid>
      <dc:creator>Walter D. Arbo</dc:creator>
      <dc:date>2004-06-03T08:23:55Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854884#M19916</link>
      <description>A quick update...&lt;BR /&gt;&lt;BR /&gt;The procedures used for building the image are the&lt;BR /&gt;same ones as used on Alpha.  They use /NONATIVE_ONLY&lt;BR /&gt;on the link command.  By using /NATIVE on the&lt;BR /&gt;Itanium link I was able to get the image to build.&lt;BR /&gt;The size of the short data segment is just under&lt;BR /&gt;the 4MB limit and there are still bits of code&lt;BR /&gt;that need to be linked so I suspect it will blow&lt;BR /&gt;up again.&lt;BR /&gt;In testing the use of sharebale images the following&lt;BR /&gt;was noted:&lt;BR /&gt;there are 1054 modules in this image,&lt;BR /&gt;using /NATIVE gives 257264 bytes of SDATA,&lt;BR /&gt;using /NONATIVE gives 2464576 bytes of SDATA.&lt;BR /&gt;&lt;BR /&gt;Thanks to Walt we may be getting more current&lt;BR /&gt;linker and compilers which should improve the&lt;BR /&gt;situation.&lt;BR /&gt;&lt;BR /&gt;Dave&lt;BR /&gt;</description>
      <pubDate>Thu, 03 Jun 2004 20:23:04 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854884#M19916</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2004-06-03T20:23:04Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854885#M19917</link>
      <description>A big thankyou to Walt Arbo and John Egolf for&lt;BR /&gt;providing access to a later VMS build and newer&lt;BR /&gt;BASIC compiler.&lt;BR /&gt;The program in question is built from over 5000&lt;BR /&gt;modules and the problem is that linking with&lt;BR /&gt;/NONATIVE (as a hangover from the Alpha build&lt;BR /&gt;environment) causes the SDATA segment to exceed&lt;BR /&gt;the 4MB limit.  Linking with /NATIVE allows it&lt;BR /&gt;to link successfully however the SDATA segment&lt;BR /&gt;is still 90% full which means that it probably&lt;BR /&gt;won't take too much more to cause it to blow up.&lt;BR /&gt;The next step is to split the image into smaller&lt;BR /&gt;shareable images.  Our development manager has&lt;BR /&gt;been advised of this and the required changes to&lt;BR /&gt;the code to make this work.&lt;BR /&gt;&lt;BR /&gt;Again, Walt and John have been a great help&lt;BR /&gt;in sorting this out.&lt;BR /&gt;&lt;BR /&gt;Dave.&lt;BR /&gt;</description>
      <pubDate>Tue, 15 Jun 2004 21:24:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854885#M19917</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2004-06-15T21:24:57Z</dc:date>
    </item>
    <item>
      <title>Re: %ILINK-E-NOT22BITS error -- how to solve?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854886#M19918</link>
      <description>This issue has been resolved.&lt;BR /&gt;&lt;BR /&gt;Dave&lt;BR /&gt;</description>
      <pubDate>Mon, 05 Sep 2005 07:14:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/ilink-e-not22bits-error-how-to-solve/m-p/4854886#M19918</guid>
      <dc:creator>David B Sneddon</dc:creator>
      <dc:date>2005-09-05T07:14:03Z</dc:date>
    </item>
  </channel>
</rss>

