]> git.ipfire.org Git - thirdparty/glibc.git/blame - malloc/mtrace.c
malloc: Use hp-timing on libmemusage
[thirdparty/glibc.git] / malloc / mtrace.c
CommitLineData
9dad716d 1/* mtrace API for `malloc'.
2b778ceb 2 Copyright (C) 1991-2021 Free Software Foundation, Inc.
41bdb6e2 3 This file is part of the GNU C Library.
6d52618b 4
41bdb6e2
AJ
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
6d52618b 9
41bdb6e2 10 The GNU C Library is distributed in the hope that it will be useful,
6d52618b
UD
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13 Lesser General Public License for more details.
6d52618b 14
41bdb6e2 15 You should have received a copy of the GNU Lesser General Public
59ba27a6 16 License along with the GNU C Library; if not, see
5a82c748 17 <https://www.gnu.org/licenses/>. */
6d52618b 18
9dad716d
SP
19#if !IS_IN (libc)
20# include "mtrace-impl.c"
21#else
22# include <shlib-compat.h>
23# include <libc-symbols.h>
6d52618b
UD
24#endif
25
9dad716d 26#if IS_IN (libc) && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
00d28960
SP
27/* Compatibility symbols that were introduced to help break at allocation sites
28 for specific memory allocations. This is unusable with ASLR, although gdb
29 may allow predictable allocation addresses. Even then, gdb has watchpoint
30 and conditional breakpoint support which should provide the same
31 functionality without having this kludge. These symbols are preserved in
32 case some applications ended up linking against them but they don't actually
33 do anything anymore; not that they did much before anyway. */
34
7c241325 35void *mallwatch;
00d28960
SP
36compat_symbol (libc, mallwatch, mallwatch, GLIBC_2_0);
37
38void
39tr_break (void)
40{
41}
42compat_symbol (libc, tr_break, tr_break, GLIBC_2_0);
43#endif
44
6d52618b 45
6d52618b 46void
60d2f8f3 47mtrace (void)
6d52618b 48{
9dad716d
SP
49#if !IS_IN (libc)
50 do_mtrace ();
a5a0310d 51#endif
6d52618b
UD
52}
53
54void
60d2f8f3 55muntrace (void)
6d52618b 56{
9dad716d
SP
57#if !IS_IN (libc)
58 do_muntrace ();
59#endif
6d52618b 60}