File:  [DVB] / dietlibc / i386 / mcount.S
Revision 1.2: download - view: text, annotated - select for diffs
Fri Sep 13 22:33:01 2002 UTC (21 years, 8 months ago) by olaf
Branches: MAIN
CVS tags: finnland_test_200301, branch_rc14_fieldtest_finnland, branch_rc13_fieldtest_finnland, branch_rc12_fieldtest_finnland, branch_rc10_fieldtest_finnland, RELEASE_finnland_200301_1, RC12_FIELDTEST_FINNLAND, RC10_FIELDTEST_FINNLAND, HEAD
OK some functions were not marked as such and so gcc 3.x treat them as
bss-objects (variables) if compiling for the dynamic system...

/*
   Copyright (C) 2001, 2002 Thomas M. Ogrisegg

   This is free software. You can redistribute and
   modify it under the terms of the GNU General Public
   Public License.

   mcount.S
     i386 assembler implementation of mcount
*/

/* .section ".profile" */
.text
.globl mcount
.type  mcount,@function
mcount:
/*
   save all generic registers which
   might be used by __mcount, but aren't
   automatically saved
 */
	pushl %eax
	pushl %ecx
	pushl %edx

/*  push the instruction pointer of the calling function */
	pushl 0xc(%esp)

/*  push the instruction pointer of the
    function that called the calling function */
	pushl 0x4(%ebp)

	call __mcount

/*  clean up stack */
	addl $0x8, %esp

/*  restore the previously saved registers */
	popl %edx
	popl %ecx
	popl %eax
	ret

.size mcount,.-mcount

LinuxTV legacy CVS <linuxtv.org/cvs>