in reply to Re^2: Source files going into perl interpreter during compilation
in thread Source files going into perl interpreter during compilation

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.

Replies are listed 'Best First'.
Re^4: Source files going into perl interpreter during compilation
by choroba (Cardinal) on Jun 22, 2011 at 01:30 UTC
    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

      This is perfect...switched redirections do work. I wasn't aware of this at all.

      Now, I have got all the #warning messages in a log file, sizeof(logfile)=19000+ lines. I can easily parse it using perl itself. A hackneyed and definitely not elegant approach, but definitely seems to work.

      Thanks a lot monks. If there is any other solution that one can think of, it'll be great for the sake of sharing knowledge

      UPDATE: Also, like BrowserUK said, it is using -O2 optimization and hence static char* are not being displayed using "strings" in any .o file. But simple char* are displayed. This still seems confusing to me. I guess I might have to read up a bit on compiler optimizations.