2002-08-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Fix it.

	* sysdeps/x86_64/Makefile (sysdep_routines): Add _mcount.

	* sysdeps/x86_64/machine-gmon.h: New.
	* sysdeps/x86_64/_mcount.S: New.
This commit is contained in:
Andreas Jaeger 2002-08-21 07:57:48 +00:00
parent 0bbade1c7a
commit 6dbdc56c3d
3 changed files with 15 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2002-08-21 Andreas Jaeger <aj@suse.de>
* sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Fix it.
* sysdeps/x86_64/Makefile (sysdep_routines): Add _mcount.
* sysdeps/x86_64/machine-gmon.h: New.
* sysdeps/x86_64/_mcount.S: New.
2002-08-20 Ulrich Drepper <drepper@redhat.com>
* elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP. Set

View File

@ -5,3 +5,7 @@ ifeq ($(subdir),csu)
sysdep_routines += hp-timing
static-only-routines += hp-timing
endif
ifeq ($(subdir),gmon)
sysdep_routines += _mcount
endif

View File

@ -1,5 +1,5 @@
/* Assembler macros for x86-64.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -58,11 +58,10 @@
/* If compiled for profiling, call `mcount' at the start of each function. */
#ifdef PROF
/* XXX this does not work yet! */
/* The mcount code relies on a normal frame pointer being on the stack
to locate our caller, so push one just for its benefit. */
#define CALL_MCOUNT \
pushl %ebp; movl %esp, %ebp; call JUMPTARGET(mcount); popl %ebp;
pushq %rbp; movq %rsp, %rbp; call JUMPTARGET(mcount); popq %rbp;
#else
#define CALL_MCOUNT /* Do nothing. */
#endif