From owner-cvs-all@FreeBSD.ORG Wed Aug 25 07:42:35 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B0E516A4CE; Wed, 25 Aug 2004 07:42:35 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F32243D6B; Wed, 25 Aug 2004 07:42:35 +0000 (GMT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i7P7gZX2056312; Wed, 25 Aug 2004 07:42:35 GMT (envelope-from marcel@repoman.freebsd.org) Received: (from marcel@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i7P7gZtx056311; Wed, 25 Aug 2004 07:42:35 GMT (envelope-from marcel) Message-Id: <200408250742.i7P7gZtx056311@repoman.freebsd.org> From: Marcel Moolenaar Date: Wed, 25 Aug 2004 07:42:35 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/ia64/ia64 support.S src/sys/ia64/include asm.h cpu.h profile.h src/lib/libc/ia64/gen Makefile.inc _mcount.S X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2004 07:42:35 -0000 marcel 2004-08-25 07:42:34 UTC FreeBSD src repository Modified files: sys/ia64/ia64 support.S sys/ia64/include asm.h cpu.h profile.h lib/libc/ia64/gen Makefile.inc Added files: lib/libc/ia64/gen _mcount.S Log: Make profiling actually work. The gcc compiler emits a call to the _mcount() stub when profiling is enabled. Emit this code sequence for assembly routines as welli (MCOUNT definition in . We do not pass the GOT entry however as the 4th argument, because it's not used. The _mcount() stub calls __mcount(), which does the actual work. Define _MCOUNT_DECL to define __mcount. We do not have an implementation of mcount(), so we define MCOUNT as empty, but have a weak alias to _mcount() in _mcount.S. Note that the _mcount() stub in the kernel is slightly different from the stub in userland. This is because we do not have to worry about nested routines in the kernel. Revision Changes Path 1.13 +4 -4 src/lib/libc/ia64/gen/Makefile.inc 1.1 +75 -0 src/lib/libc/ia64/gen/_mcount.S (new) 1.22 +42 -0 src/sys/ia64/ia64/support.S 1.11 +9 -6 src/sys/ia64/include/asm.h 1.45 +5 -0 src/sys/ia64/include/cpu.h 1.9 +29 -88 src/sys/ia64/include/profile.h