diff options
author | Andreas Jaeger <aj@suse.de> | 2002-08-21 07:57:48 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2002-08-21 07:57:48 +0000 |
commit | 6dbdc56c3d1b52090fdff1a41ea6edbb55a5b8ea (patch) | |
tree | d0e918ebfec36c763a44123ba455696e7b04ff81 /sysdeps/x86_64 | |
parent | 0bbade1c7a27a55b8cccf668dd750ac5d1d75921 (diff) | |
download | glibc-6dbdc56c3d1b52090fdff1a41ea6edbb55a5b8ea.tar glibc-6dbdc56c3d1b52090fdff1a41ea6edbb55a5b8ea.tar.gz glibc-6dbdc56c3d1b52090fdff1a41ea6edbb55a5b8ea.tar.bz2 glibc-6dbdc56c3d1b52090fdff1a41ea6edbb55a5b8ea.zip |
Update.
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.
Diffstat (limited to 'sysdeps/x86_64')
-rw-r--r-- | sysdeps/x86_64/Makefile | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/sysdep.h | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile index ad2a0cac06..3b8328ad2a 100644 --- a/sysdeps/x86_64/Makefile +++ b/sysdeps/x86_64/Makefile @@ -5,3 +5,7 @@ ifeq ($(subdir),csu) sysdep_routines += hp-timing static-only-routines += hp-timing endif + +ifeq ($(subdir),gmon) +sysdep_routines += _mcount +endif diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h index 2a2ad41e52..a9c0d25f11 100644 --- a/sysdeps/x86_64/sysdep.h +++ b/sysdeps/x86_64/sysdep.h @@ -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 |