- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- ADA on Alpha: obj lib problem
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО08-31-2004 01:36 AM
тАО08-31-2004 01:36 AM
ADA on Alpha: obj lib problem
The old platform is VAX 6000 with VAX/VMS V6.1 and ACS (Dec ADA V3.0A-9 without the Porfess. Devel. Option) the new one is Alpha with OpenVMS V7.3-1 and ACS (Dec ADA V3. 5A-23 with the Profess Devel. Option).
To describe the problem I use the ADA unit comm_msg_transfer_adaption_pkg which is kept in two files, the specification in comm_msg_transfer_adaption_pkg_.ada and the body in comm_msg_transfer_adaption_pkg.ada. After compilation I have two object files on both platforms, comm_msg_transfer_adaption_pkg_.obj and comm_msg_transfer_adaption_pkg.obj.
Now when I insert those two objects into a object library to be used in the Linking process two entries are created on the old platform but only one on the new. After analysing the object files (Analyze/object) I saw that in the case of the old system the s.k module name is hashed into ADA$CMM_MSG_TRNS__75DF7C52$ and ADA$CMM_MSG_TRNS__FCF4EFE0$ and those names are put into the object library. In the case of the new Alpha platform the object names are simply the first 31 characters of the unit name resulting in COMM_MSG_TRANSFER_ADAPTION_PK for both object modules resulting in elevation of the first one entered into the object library.
This problem means that I can not use object libraries but I can link by using all the object files in the ADA lib which usually is slower.
Regards, Fridrik Marteinsson
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО08-31-2004 09:38 AM
тАО08-31-2004 09:38 AM
Re: ADA on Alpha: obj lib problem
This seems to be a slight variation on the question you asked before at:
http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=647132
My answer is pretty much the same - please call your local customer support centre.
"I'm a bit puzzled by your assertion that linking is faster using an object library than directly linking all the object modules. Logic would say that using a library involves extra processing to search for symbol names, and therefore should take longer than simple "include this object file" operations. Also note that ADA object files can contain multiple object modules. Inserting the file into a library will decouple the modules, and may result in critical code missing from the final image because there are no link time references
This kind of issue doesn't work well in this forum because it requires too much question/answer to diagnose the cause. Please log a case with your customer support centre, with a prepared example. Expect to be asked for the complete transcript of the compile and link commands, including the complete text of all error messages. "
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО08-31-2004 02:08 PM
тАО08-31-2004 02:08 PM
Re: ADA on Alpha: obj lib problem
I showed this problem statement to the VMS ADA project leader (who happens to sit a few cubes away), and he said almost exactly what John has already said - You need to contact the CSC and let them work with you on a solution.
Good luck,
Brad McCusker
Software Concepts International
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО08-31-2004 09:40 PM
тАО08-31-2004 09:40 PM
Re: ADA on Alpha: obj lib problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-01-2004 05:58 AM
тАО09-01-2004 05:58 AM
Re: ADA on Alpha: obj lib problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-01-2004 10:05 AM
тАО09-01-2004 10:05 AM
Re: ADA on Alpha: obj lib problem
>I think Fridrik is right about linking using object libraries being faster than linking separate object files.
Obviously there will be cases either way, but consider, I have N object modules that I know make up a specific image. In one case, I just say to the linker "take these object files and link them together". The files are read and linked, THEN the linker goes looking for undefined symbols.
On the other hand, I take the same N modules, and place them in a library. I give the linker the main image and the library. It then needs to go searching immediately. That's overhead! (not to mention the overhead of creating the library in the first place). End to end, I think you'll find that if you already KNOW the modules involved in the image, you may as well just link them all.
That's not to say libraries aren't useful! Quite the contrary, but their forte is storing common components which may be used in multiple images, where the overheads of maintaining the library and searching for the module are amortised over many LINKs.
Ada is also a special case because a single compilation unit ("package") may generate multiple object modules which might not be directly referenced, but are still required to be included in the final image. By directly including the object FILE (potentially containing multiple MODULES) in the LINK command, all MODULES are explicitly included in the output image, regardless of references. If the same FILE is inserted into a LIBRARY, the MODULES become independent and will only be included in the output image if explicitly referenced. That's why Ada provides its own library like functions.
Without proper diagnosis (which really can't be done in this format), I don't think it's possible to give proper advice, so again, I ask Fridrik to please contact his local Customer Support Centre.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-02-2004 01:24 AM
тАО09-02-2004 01:24 AM
Re: ADA on Alpha: obj lib problem
The engineer agrees with what John is saying - contact Customer Support and work it through those channels. The engineer can not effectively work this issue through this medium.
Brad
Software Concepts International
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО09-07-2004 03:08 AM
тАО09-07-2004 03:08 AM
Re: ADA on Alpha: obj lib problem
I met with some of your coworkers about a year ago, when they came to Nashua, NH.
Please report this through the official channels, with a reproducer. I seem to be reproducing the issue, but like to make sure I'm working the correct problem you're seeing.
The object module naming may be a fundimental difference between VAX and Alpha targets, based on my minimal analysis. I see a difference which seems to be what you report in DEC Ada V3.0A-7, as well as the supported V3.5A-23.
I'd need to research if this is a desired difference, or whether its merely due to using different code generators on VAX and Alpha targets.
I don't recall this issue being reported before. That makes me hesitant to make a change like this without adequate analysis.
Charlie McCutcheon
Ada engineering