Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jul 2012 23:52:18 +0100
From:      Anton Shterenlikht <mexas@bristol.ac.uk>
To:        freebsd-questions@freebsd.org
Subject:   Re: profiling library smaller than non-profiling, while it contains more symbols. Why?
Message-ID:  <20120712225218.GA69013@mech-cluster241.men.bris.ac.uk>
In-Reply-To: <20120712223130.GA58047@mech-cluster241.men.bris.ac.uk>
References:  <20120712223130.GA58047@mech-cluster241.men.bris.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 12, 2012 at 11:31:31PM +0100, Anton Shterenlikht wrote:
> While updating my port (math/slatec) to use
> the new OPTIONS framework, I did some
> experiments with the profiling library.
> 
> I don't know much about this, so what surprised me
> is that the profiling library is smaller:
> 
> # ls -al lib*a
> -rw-r--r--  1 root  wheel  6582354 Jul 12 22:56 libslatec.a
> -rw-r--r--  1 root  wheel  6555122 Jul 12 23:02 libslatec_p.a
> #
> 
> while it adds .mcount symbol to each object file:
> 
> # nm libslatec.a > nm
> # nm libslatec_p.a > nmp
> # wc nm nmp
>    16436   36675  373033 nm
>    17885   39573  413605 nmp
>    34321   76248  786638 total
> # grep -c mcount nmp
> 1449
> # expr 16436 + 1449
> 17885
> #
> 
> Using diff I can confirm that the only difference
> between the 2 libs is the .mcount symbol for
> each object file in the profiling library.
> 
> So how can the profiling library be smaller?
> 

Also, the library compiled on amd64 has lots more
symbols than if compiled on ia64. For example:

amd64:

zbesy.o:
0000000000000000 r .LC0
0000000000000008 r .LC1
0000000000000010 r .LC11
0000000000000020 r .LC12
0000000000000028 r .LC13
0000000000000030 r .LC14
0000000000000010 r .LC2
0000000000000018 r .LC5
0000000000000000 r .LC6
                 U cos
                 U d1mach_
                 U exp
                 U i1mach_
                 U sin
                 U zbesh_
0000000000000000 T zbesy_

and ia64:

zbesy.o:
                 U cos
                 U d1mach_
                 U exp
                 U i1mach_
                 U sin
                 U zbesh_
0000000000000000 T zbesy_

Why the difference?

-- 
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120712225218.GA69013>