Linking

Luca luca.piol at fastwebnet.it
Sat Dec 9 05:25:59 UTC 2006


Cameron Simpson wrote:
> On 08Dec2006 12:01, Luca <luca.piol at fastwebnet.it> wrote:
> | How do I capture the linking time and data size of ld?
> | 
> | I mean, example, when I compile a package foo from scratch, what
> | commands should I use to save a log file with something like:
> | 
> | /usr/bin/ld: total time in link: [time]
> | /usr/bin/ld: data size [size]
>
> Second part first: the 'size" command reports on the section sizes of
> an executable, so if the ld command makes a file "bah", the command:
>
>   size bah
>
> will report on its size. See "man size" for details.
>
> For timing, you can get the time with the "time" command. Where you
> have "ld foo...", put "time ld foo...". Time writes to standard error,
> so you will need to send that somewhere:
>
>   time ld foo... 2>output-file
>
> However, ld will write its own error messages to stderr too, and you
> _don't_ want to interfere with them. This incantation
>
>   time sh -c 'exec 2>&3 3>&-; exec ld foo...' 3>&2 2>output-file
>
> will work around that, sending time's stderr to the output-file and ld's
> stderr wherever the original stderr went (usually your terminal). It
> takes a copy of the original stderr and the reattaches the copy as stderr
> inside the sh command.
>
> Finally, "time" is often a builtin command in shells. You may get better
> behaviour by saying "/usr/bin/time" instead of just "time". That will
> run the system "time" executable rather than whatever your shell provides
> internally.
>
> Cheers,
>   
Thanks Cameron;

I read something about using gprof and profiling but wasn't 100% sure so
I thought better ask.




More information about the fedora-list mailing list