On Mon, Feb 26, 2018 at 5:35 PM, Dushyant Pratap Singh <iamdushyant...@gmail.com> wrote: > Hello GCC community, > My name is Dushyant and I am interested in Gsoc at GCC .I am pursuing > Integrated B.Tech (Computer Science) and M.Tech (software engineering) from > Gautam Buddha University, India. Currently I am in 4th year of the > programme. > > I have experience in Competitive Programming (primary language C++) and > have won and participated in many of the Algorithmic & Data Structures > competitions. > > Here is my Linkedin: > https://www.linkedin.com/in/dushyant-pratap-singh-044658128/ > > I have taken a course on Compiler Design in my last semester in which i > scored A+ grade. > > Project that i am most interested in is Textual Representation of LTO > Object Files. > > In my compiler lab I learned about the Compilation process how the > preproccessed files (.i file) ,assembly code (.s file) ,object code (.o > file) and finally executable file(a.out) were generated (as they were > temporary files they needed an extra GCC flag -save-temps to store > "temporary files" permanently) using gcc –Wall –save-temps prog1.c –o prog1 > . > > I have started to investigate on converting binary files to human readable > forms.It would be great if someone could explain how to get started with > the process.
The suggested way was to handle things similar to the gcov tools -- piggy-back on the existing {lto,tree}-streamer-in.c files, #ifdef'ing relevant parts so you can link them into a new lto-dump "driver" binary. To get started you might want to look at lto/lto-object.c and/or follow the lto1 binary when it processes its input files. Eventually integrating the dumping of a textual representation into the lto1 binary itself would also be feasible. Still the actual dumping should probably be intermangled with the binary reading code for ease of maintainance. Note the project isn't about providing a way of editing the textual representation and reading that back in but only for for inspection / debugging. There are several interesting pieces of information in the LTO IL so having a way to dump only parts with a specifyable level of detail is desirable (thus the suggestion to do this in a new binary rather than lto1). Thanks for the interest in this project! Richard. > Regards > > Dushyant Pratap Singh