mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
malloc: Remove memusage.h
And use machine-sp.h instead. The Linux implementation is based on already provided CURRENT_STACK_FRAME (used on nptl code) and STACK_GROWS_UPWARD is replaced with _STACK_GROWS_UP.
This commit is contained in:
parent
a75b1e35c5
commit
83b8d5027d
@ -33,8 +33,9 @@
|
||||
#include <sys/mman.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <memusage.h>
|
||||
#include <hp-timing.h>
|
||||
#include <machine-sp.h>
|
||||
#include <stackinfo.h> /* For _STACK_GROWS_UP */
|
||||
|
||||
/* Pointer to the real functions. These are determined used `dlsym'
|
||||
when really needed. */
|
||||
@ -155,10 +156,10 @@ update_data (struct header *result, size_t len, size_t old_len)
|
||||
the main thread and it is the first call to any of these
|
||||
functions. */
|
||||
if (__glibc_unlikely (!start_sp))
|
||||
start_sp = GETSP ();
|
||||
start_sp = __thread_stack_pointer ();
|
||||
|
||||
uintptr_t sp = GETSP ();
|
||||
#ifdef STACK_GROWS_UPWARD
|
||||
uintptr_t sp = __thread_stack_pointer ();
|
||||
#ifdef _STACK_GROWS_UP
|
||||
/* This can happen in threads where we didn't catch the thread's
|
||||
stack early enough. */
|
||||
if (__glibc_unlikely (sp < start_sp))
|
||||
@ -268,7 +269,7 @@ me (void)
|
||||
const char *outname;
|
||||
|
||||
if (!start_sp)
|
||||
start_sp = GETSP ();
|
||||
start_sp = __thread_stack_pointer ();
|
||||
|
||||
outname = getenv ("MEMUSAGE_OUTPUT");
|
||||
if (outname != NULL && outname[0] != '\0'
|
||||
@ -334,7 +335,7 @@ static void
|
||||
__attribute__ ((constructor))
|
||||
init (void)
|
||||
{
|
||||
start_sp = GETSP ();
|
||||
start_sp = __thread_stack_pointer ();
|
||||
if (!initialized)
|
||||
me ();
|
||||
}
|
||||
|
@ -1,21 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("$30"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,21 +0,0 @@
|
||||
/* Machine-specific definitions for memory usage profiling, ARC version.
|
||||
Copyright (C) 2020-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,21 +0,0 @@
|
||||
/* Machine-specific definitions for memory usage profiling, C-SKY version.
|
||||
Copyright (C) 2018-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,21 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("%r30"); stack_ptr; })
|
||||
#define STACK_GROWS_UPWARD 1
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -22,7 +22,7 @@
|
||||
/* Return the current stack pointer. */
|
||||
|
||||
#define __thread_stack_pointer() ({ \
|
||||
register void *__sp__ asm("esp"); \
|
||||
register uintptr_t __sp__ asm("esp"); \
|
||||
__sp__; \
|
||||
})
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
#include "../i686/memusage.h"
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("esp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("esp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,22 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <hp-timing.h>
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("%r12"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,21 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -22,7 +22,7 @@
|
||||
/* Return the current stack pointer. */
|
||||
|
||||
#define __thread_stack_pointer() ({ \
|
||||
void *__sp__; \
|
||||
uintptr_t __sp__; \
|
||||
__asm__ ("movl %%esp, %0" : "=r" (__sp__)); \
|
||||
__sp__; \
|
||||
})
|
||||
|
@ -1,21 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("r1"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("$29"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,21 +0,0 @@
|
||||
/* Machine-specific definitions for memory usage profiling, Nios II version.
|
||||
Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("%r1"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,21 +0,0 @@
|
||||
/* Machine-specific definitions for memory usage profiling, RISC-V version.
|
||||
Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr __asm__ ("15"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("r15"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2000-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2000-2021 Free Software Foundation, Inc.
|
||||
/* Machine-specific function to return the stack pointer. Linux version.
|
||||
Copyright (C) 2021 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
|
||||
@ -15,11 +16,14 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _MACHINE_SP_H
|
||||
#define _MACHINE_SP_H
|
||||
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
/* Return the current stack pointer. */
|
||||
static inline uintptr_t
|
||||
__thread_stack_pointer (void)
|
||||
{
|
||||
return (uintptr_t) CURRENT_STACK_FRAME;
|
||||
}
|
||||
|
||||
#ifndef GETSP
|
||||
# warning "GETSP is not defined for this architecture."
|
||||
# define GETSP 0
|
||||
#endif
|
||||
#endif /* machine-sp.h */
|
@ -1,20 +0,0 @@
|
||||
/* Copyright (C) 2001-2021 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#define GETSP() ({ register uintptr_t stack_ptr asm ("rsp"); stack_ptr; })
|
||||
|
||||
#include <sysdeps/generic/memusage.h>
|
Loading…
Reference in New Issue
Block a user