Do we still have to use LinkEdit control decks for statically called COBOL routines?
![]()
We have tens of thousands of COBOL programs. I realize that one time RTC didn't support intelligent binding for z/OS programs so one had to create a linkedit control deck to explain how a program should be linkedited. With the enhancements described in https://jazz.net/wiki/bin/view/Main/ZOSLinkEditSupportEnhancements, it appears that it should be possible now to do away with the linkedit control decks and depend on the LinkEdit flag in the linkedit translator to figure out what needs to be relinked. Am I wrong?
We implemented a compile+link for our modules within the same language definition. Every source member usually has its own load module and if we have a static call dependency to another module we usually bind the load module (not object) of the callee. This process seems to work without a linkedit control deck, however, it appears that the link precedence isn't enforced. That is, if I submit a build that is supposed to rebuild a caller and a callee, the caller gets linked before the callee got built so we end up with the older version of the callee in the caller. I thought the enhancements in the wiki doc above were supposed to address this. Please clarify if we're doing something wrong or if we should open a work item/PMR to investigate.
|