Re: FORTRAN reverse engineering
On 19 April 2015 at 05:39, Martin Packer wrote: > I wonder if compilers plant idiomatic machine code - from which > higher-level constructs can be garnered. I would expect "optimising" > (prefer "improving") compilers would defeat that. Certainly older compilers did tend to have canned blocks of code that were brought in fairly predictably to implement language-specific patterns. But as you say, optimization tends to hide that, and perhaps even more so does the use of common compiler middle and back ends, to use GCC terminology. Perhaps the OP can tell us which FORTRAN compiler was used (should be easily identifiable from IDRs). Tony H. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: FORTRAN reverse engineering
All I can suggest is the following: - Run an AMBLIST to find out how many CSECT names there are in each of your LMODS. - Disassemble each CSECT in turn and then try to figure out what Fortran source code generated it. I did come up against a similar problem more than 20 years ago, caused by a loop in some Fortran code from a 3rd party ISV and executing in its own address space. The ISV could not identify what caused the loop (it happened at random) and would not release the source code either. I tracked down the start/end offsets of the loop in the LMOD from a full system trace, called in the ISV and asked them to recompile their source with an assembly listing (compiler 'LIST' option?) From this I could then match the object code in the dump with the Fortran assembly listing, and thus fix the problem. You could also try XDC'ing your LMODs if that helps. Just my ha'pennyworth. Cheers, Chris Poncelet Itschak Mugzach wrote: I have three (quit complex) FORTRAN load modules which I do not have the source code of. I Know the Source company, but they deal with Cobol, and I need Fortran. Any idea how to reverse engineering the load modules? ITschak -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: FORTRAN reverse engineering
Can't answer your question but it reminds me of a long-standing conjecture of mine: I wonder if compilers plant idiomatic machine code - from which higher-level constructs can be garnered. I would expect "optimising" (prefer "improving") compilers would defeat that. Cheers, Martin Martin Packer, zChampion, Principal Systems Investigator, Worldwide Banking Center of Excellence, IBM +44-7802-245-584 email: martin_pac...@uk.ibm.com Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker From: Itschak Mugzach To: IBM-MAIN@LISTSERV.UA.EDU Date: 18/04/2015 17:46 Subject:FORTRAN reverse engineering Sent by:IBM Mainframe Discussion List I have three (quit complex) FORTRAN load modules which I do not have the source code of. I Know the Source company, but they deal with Cobol, and I need Fortran. Any idea how to reverse engineering the load modules? ITschak -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: FORTRAN reverse engineering
1. What does each program use for input? Sample file, file layout. 2. What does each program use for output? Sample report, file layout. 3. What actions is each program supposed to do? Program description. On Sat, Apr 18, 2015 at 11:46 AM, Itschak Mugzach wrote: > I > have three (quit complex) FORTRAN load modules which I do not have the > source code of. I Know the Source company, but they deal with Cobol, and I > need Fortran. > > Any idea how to reverse engineering the load modules? > > ITschak > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- Mike A Schwab, Springfield IL USA Where do Forest Rangers go to get away from it all? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
FORTRAN reverse engineering
I have three (quit complex) FORTRAN load modules which I do not have the source code of. I Know the Source company, but they deal with Cobol, and I need Fortran. Any idea how to reverse engineering the load modules? ITschak -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN