Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 May 2004 09:46:38 -0700
From:      Peter Wemm <peter@wemm.org>
To:        freebsd-amd64@freebsd.org
Cc:        Till Plewe <till@score.is.tsukuba.ac.jp>
Subject:   Re: profiling on amd64
Message-ID:  <200405180946.38351.peter@wemm.org>
In-Reply-To: <20040518070430.GA68449@cat.robbins.dropbear.id.au>
References:  <20040518050421.GA75633%till@score.is.tsukuba.ac.jp> <20040518070430.GA68449@cat.robbins.dropbear.id.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 18 May 2004 12:04 am, Tim Robbins wrote:
> On Tue, May 18, 2004 at 02:04:21PM +0900, Till Plewe wrote:
> > The program "int main(){return 0;}" fails to compile if I use the
> > option "-pg". The error message I get starts with:
> >
> > # gcc -pg -o test test.c
> > /var/tmp//ccTPXtQI.o: In function `main':
> > /var/tmp//ccTPXtQI.o(.text+0x5): undefined reference to `mcount'
> > /usr/lib/libc_p.a(gmon.po): In function `monstartup':
> > gmon.po(.text+0xa): undefined reference to `mcount
> > ...
>
> This is a bug in the FreeBSD/x86-64 GCC configuration. It should be
> calling ``.mcount'' instead of ``mcount'' (note the full-stop at
> the start of the name.) After applying this patch, rebuilding gcc,
> and rebuilding the profiled C library, gcc -pg does not cause
> linker errors:
>
> ====
> //depot/user/tjr/freebsd-tjr/src/contrib/gcc/config/i386/freebsd64.h#
>5 - /home/tim/p4/src/contrib/gcc/config/i386/freebsd64.h ==== @@ -25,6
> +25,9 @@
>  #undef  TARGET_VERSION
>  #define TARGET_VERSION fprintf (stderr, " (FreeBSD/x86-64 ELF)");
>
> +#undef  MCOUNT_NAME
> +#define MCOUNT_NAME ".mcount"
> +
>  #undef  FBSD_TARGET_CPU_CPP_BUILTINS
>  #define FBSD_TARGET_CPU_CPP_BUILTINS()		\
>    do						\
>
>
> However, programs compiled with -pg will crash almost immediately.
> I don't understand why this happens well enough to venture
> an explanation, but I think both GCC and FreeBSD/amd64's
> <machine/profile.h> header are at fault here.

Yes, profiling wasn't something on my radar at the time so I mostly 
ignored it while doing the early porting work.
-- 
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5



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