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/mman.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
#include <memusage.h>
|
|
||||||
#include <hp-timing.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'
|
/* Pointer to the real functions. These are determined used `dlsym'
|
||||||
when really needed. */
|
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
|
the main thread and it is the first call to any of these
|
||||||
functions. */
|
functions. */
|
||||||
if (__glibc_unlikely (!start_sp))
|
if (__glibc_unlikely (!start_sp))
|
||||||
start_sp = GETSP ();
|
start_sp = __thread_stack_pointer ();
|
||||||
|
|
||||||
uintptr_t sp = GETSP ();
|
uintptr_t sp = __thread_stack_pointer ();
|
||||||
#ifdef STACK_GROWS_UPWARD
|
#ifdef _STACK_GROWS_UP
|
||||||
/* This can happen in threads where we didn't catch the thread's
|
/* This can happen in threads where we didn't catch the thread's
|
||||||
stack early enough. */
|
stack early enough. */
|
||||||
if (__glibc_unlikely (sp < start_sp))
|
if (__glibc_unlikely (sp < start_sp))
|
||||||
|
@ -268,7 +269,7 @@ me (void)
|
||||||
const char *outname;
|
const char *outname;
|
||||||
|
|
||||||
if (!start_sp)
|
if (!start_sp)
|
||||||
start_sp = GETSP ();
|
start_sp = __thread_stack_pointer ();
|
||||||
|
|
||||||
outname = getenv ("MEMUSAGE_OUTPUT");
|
outname = getenv ("MEMUSAGE_OUTPUT");
|
||||||
if (outname != NULL && outname[0] != '\0'
|
if (outname != NULL && outname[0] != '\0'
|
||||||
|
@ -334,7 +335,7 @@ static void
|
||||||
__attribute__ ((constructor))
|
__attribute__ ((constructor))
|
||||||
init (void)
|
init (void)
|
||||||
{
|
{
|
||||||
start_sp = GETSP ();
|
start_sp = __thread_stack_pointer ();
|
||||||
if (!initialized)
|
if (!initialized)
|
||||||
me ();
|
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. */
|
/* Return the current stack pointer. */
|
||||||
|
|
||||||
#define __thread_stack_pointer() ({ \
|
#define __thread_stack_pointer() ({ \
|
||||||
register void *__sp__ asm("esp"); \
|
register uintptr_t __sp__ asm("esp"); \
|
||||||
__sp__; \
|
__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. */
|
/* Return the current stack pointer. */
|
||||||
|
|
||||||
#define __thread_stack_pointer() ({ \
|
#define __thread_stack_pointer() ({ \
|
||||||
void *__sp__; \
|
uintptr_t __sp__; \
|
||||||
__asm__ ("movl %%esp, %0" : "=r" (__sp__)); \
|
__asm__ ("movl %%esp, %0" : "=r" (__sp__)); \
|
||||||
__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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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
|
License along with the GNU C Library; if not, see
|
||||||
<https://www.gnu.org/licenses/>. */
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _MACHINE_SP_H
|
||||||
|
#define _MACHINE_SP_H
|
||||||
|
|
||||||
#include <limits.h>
|
/* Return the current stack pointer. */
|
||||||
#include <stdint.h>
|
static inline uintptr_t
|
||||||
|
__thread_stack_pointer (void)
|
||||||
|
{
|
||||||
|
return (uintptr_t) CURRENT_STACK_FRAME;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef GETSP
|
#endif /* machine-sp.h */
|
||||||
# warning "GETSP is not defined for this architecture."
|
|
||||||
# define GETSP 0
|
|
||||||
#endif
|
|
|
@ -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 a new issue