<?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: code run on PA-RISC and fails on itanium with core dump in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002883#M96089</link>
    <description>So, you actually say that we need to rewrite our code.The problem is that there is too much problematic code. So, there is no hope to define memory use of itanium to be equivalent to PA-RISc?</description>
    <pubDate>Fri, 18 May 2007 07:49:38 GMT</pubDate>
    <dc:creator>elaga</dc:creator>
    <dc:date>2007-05-18T07:49:38Z</dc:date>
    <item>
      <title>code run on PA-RISC and fails on itanium with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002881#M96087</link>
      <description>Hi,&lt;BR /&gt;we are migrating from PA-RISC to itanium, and there are many jobs that run fine on PA-RISC and fails on itanium.&lt;BR /&gt;here is the example of C program:&lt;BR /&gt;void main()&lt;BR /&gt;{&lt;BR /&gt; SomeStruct a;&lt;BR /&gt; callFunc(a);&lt;BR /&gt;}&lt;BR /&gt; &lt;BR /&gt;void callFunc(SomeStruct *a){};&lt;BR /&gt;&lt;BR /&gt;I know that the problem is that we are not putting '&amp;amp;a', but just 'a' when calling to function callFunc from main. But why it works in PA-RISC? And maybe there is some possibility to make this code work on itanium without changing code itself? Thanks a lot</description>
      <pubDate>Fri, 18 May 2007 07:16:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002881#M96087</guid>
      <dc:creator>elaga</dc:creator>
      <dc:date>2007-05-18T07:16:56Z</dc:date>
    </item>
    <item>
      <title>Re: code run on PA-RISC and fails on itanium with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002882#M96088</link>
      <description>Shalom,&lt;BR /&gt;&lt;BR /&gt;You are going to need to keep a different code set for Itanium. Why does it work on one platform and not the other? Totally different CPU's and instruction sets.&lt;BR /&gt;&lt;BR /&gt;SEP</description>
      <pubDate>Fri, 18 May 2007 07:43:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002882#M96088</guid>
      <dc:creator>Steven E. Protter</dc:creator>
      <dc:date>2007-05-18T07:43:15Z</dc:date>
    </item>
    <item>
      <title>Re: code run on PA-RISC and fails on itanium with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002883#M96089</link>
      <description>So, you actually say that we need to rewrite our code.The problem is that there is too much problematic code. So, there is no hope to define memory use of itanium to be equivalent to PA-RISc?</description>
      <pubDate>Fri, 18 May 2007 07:49:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002883#M96089</guid>
      <dc:creator>elaga</dc:creator>
      <dc:date>2007-05-18T07:49:38Z</dc:date>
    </item>
    <item>
      <title>Re: code run on PA-RISC and fails on itanium with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002884#M96090</link>
      <description>Correct - there are many differences when making certain calls - especially at the hardware level.&lt;BR /&gt;&lt;BR /&gt;That said, you could run the aries emulator if you don't want to update your code.&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701,8597,00.html" target="_blank"&gt;http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701,8597,00.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Rgds...Geoff</description>
      <pubDate>Fri, 18 May 2007 11:09:36 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002884#M96090</guid>
      <dc:creator>Geoff Wild</dc:creator>
      <dc:date>2007-05-18T11:09:36Z</dc:date>
    </item>
    <item>
      <title>Re: code run on PA-RISC and fails on itanium with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002885#M96091</link>
      <description>It seems to me that your example is indefensible as it is very bad and sloppy code. You actually have to go out of your way for it compile without errors such as declaring a prototype without arguments. There is no way this code could function correctly regardless of the platform --- which is not to say that it might not run without crashing.&lt;BR /&gt;&lt;BR /&gt;Problems like yours could compile perfectly in the days of K&amp;amp;R C where it was possible to&lt;BR /&gt;do absolutely insane things with nary a wimper from the compiler but even then there was no excuse for this kind of code because your makefiles should have run the code through lint. Even the most trivial code evaluation by lint would have found this kind of coding error and any modern ANSI C compiler easily detects these errors --- unless you intentionally outbushwhack yourself. &lt;BR /&gt;&lt;BR /&gt;I don't know if you have baseball in your country but you need to find a baseball bat and use it on some developers --- and even if you could get this stuff to work on IA64 -- what are your plans for the next migration?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I know this is not what you wanted to hear but you will have a very difficult time refuting any of it.&lt;BR /&gt;</description>
      <pubDate>Fri, 18 May 2007 11:52:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002885#M96091</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2007-05-18T11:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: code run on PA-RISC and fails on Integrity with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002886#M96092</link>
      <description>&lt;P&gt;What version of the IPF C compiler are you using? The latest is A.06.14.&lt;BR /&gt;&lt;A target="_blank" href="http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,1743,00.html"&gt;http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,1743,00.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;There are several problems with your source. If you compile with +wlint you get:&lt;BR /&gt;warning #2951-D: return type of function "main" must be "int"&lt;BR /&gt;warning #4242-D: no prototype or definition in scope for call to "callFunc"&lt;BR /&gt;warning #2549-D: variable "a" is used before its value is set&lt;BR /&gt;&lt;BR /&gt;And the most important is:&lt;BR /&gt;error #2159: declaration is incompatible with previous "callFunc" (declared at line N)&lt;BR /&gt;void callFunc(SomeStruct *a){};&lt;BR /&gt;&lt;BR /&gt;warning #2381-D: extra ";" ignored&lt;BR /&gt;&lt;BR /&gt;&amp;gt;But why it works in PA-RISC?&lt;BR /&gt;&lt;BR /&gt;Because the PA32 procedure calling convention says the callee copies large by value structs, then passes an address. This was changed for PA64 and IPF to have the caller copy these large structs.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;And maybe there is some possibility to make this code work on Integrity without changing code itself?&lt;BR /&gt;&lt;BR /&gt;No, you'll have to compile and fix all of your error 2159s. Since you didn't get error 2159, you may have to use the free download of cadvise that can do cross module analysis, since lint was removed on IPF.&lt;BR /&gt;&lt;A target="_blank" href="http://www.hp.com/go/cadvise"&gt;http://www.hp.com/go/cadvise&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;gt;there is no hope to define memory use of itanium to be equivalent to PA-RISC?&lt;BR /&gt;&lt;BR /&gt;Yes, the procedure calling conventions are completely different.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;Clay: There is no way this code could function correctly regardless of the platform&lt;BR /&gt;&lt;BR /&gt;Unfortunately it works perfectly fine for PA32, if the struct is &amp;gt; 8 bytes. :-(&lt;BR /&gt;I saw that over and over again when customers ported to PA64.&lt;/P&gt;</description>
      <pubDate>Sun, 02 Oct 2011 07:21:11 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002886#M96092</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2011-10-02T07:21:11Z</dc:date>
    </item>
    <item>
      <title>Re: code run on PA-RISC and fails on itanium with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002887#M96093</link>
      <description>Then a pox a both of your houses because you both got it wrong ... and two wrongs don't make a right. In any event, clearly none of this code was subjected to any lint-like analysis --- and you are now paying for this lack of quality control that should have been deemed essential.</description>
      <pubDate>Sat, 19 May 2007 09:56:21 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002887#M96093</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2007-05-19T09:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: code run on PA-RISC and fails on Integrity with core dump</title>
      <link>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002888#M96094</link>
      <description>&lt;P&gt;&amp;gt;Clay: Then a pox a both of your houses because you both got it wrong&lt;BR /&gt;&lt;BR /&gt;I'm not sure if this was directed to the PA32 Procedure Calling Convention or to the original author? The PCC is just the innocent victim here :-), it is not in the enforcement business, just performance. If you want foolproof enforcement, there is Pascal and C++.&lt;BR /&gt;&lt;BR /&gt;If your complaint is about the PA C compiler, as you mentioned, lint is available.&lt;/P&gt;</description>
      <pubDate>Sun, 02 Oct 2011 07:23:10 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/code-run-on-pa-risc-and-fails-on-itanium-with-core-dump/m-p/4002888#M96094</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2011-10-02T07:23:10Z</dc:date>
    </item>
  </channel>
</rss>

