in reply to Source files going into perl interpreter during compilation

used 'strings' shell command as well).... But it does not seem to work on perl source files themselves

Did you only run strings on the perl executable, or on libperl.xo also?

Have you considered using the #warning "some text here" directive to identify the files that are process during compilation?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^2: Source files going into perl interpreter during compilation
by buntyshubho (Initiate) on Jun 21, 2011 at 22:45 UTC
    ^^Thanks a lot. That was really good.

    So, I tried working with .o files and used "strings" on all of those. Basically, what I have done is inserted the following right at the bottom of each .c and .h file.

    static char *a = "Filename";

    But because it is defined as static, those strings don't show up using strings command (in .so as well as the executable). Why? I do not know myself. It works when I do that for dummy files.

    When I remove the static keyword,there are linker issues showing redefinitions all over the place.

    #warnings was an interesting idea and I tried it out just now. It's successful in the sense that it does print out the warnings along with all the other compiler messages.

    But, I cannot make it output to a file so I can analyze it. No, redirection ( make > makelog.txt) is not working.

    This is getting really interesting. Any further help will be greatly appreciated.

    Thanks
      But because it is defined as static, those strings don't show up using strings command (in .so as well as the executable). Why? I do not know myself. It works when I do that for dummy files.

      Perhaps because Perl compiles with optimisation turned on, and unless those strings where referenced somewhere, they'll just be omptimised away.

      But, I cannot make it output to a file so I can analyze it. No, redirection ( make > makelog.txt) is not working.

      Have you tried make 2>&1 > make.log?


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        Have you tried make 2>&1 > make.log?
        At least in bash, the redirections must be switched (as shown in bash):
        make > make.log 2>&1