mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-05 09:01:07 +00:00
NPTL: Remove internal_function from stack marking functions
These are called across DSO boundaries and therefore should use the ABI calling convention.
This commit is contained in:
parent
c4ce038287
commit
e1d2ae8d21
14
ChangeLog
14
ChangeLog
@ -1,3 +1,17 @@
|
|||||||
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
* elf/dl-support.c (_dl_make_stack_executable_hook): Remove
|
||||||
|
internal_function.
|
||||||
|
* nptl/allocatestack.c (__make_stacks_executable): Likewise.
|
||||||
|
* nptl/pthreadP.h (__make_stacks_executable): Likewise.
|
||||||
|
* sysdeps/generic/ldsodefs.h (_rtld_global): Remove
|
||||||
|
internal_function from _dl_make_stack_executable_hook member.
|
||||||
|
(_dl_make_stack_executable): Remove internal_function.
|
||||||
|
* sysdeps/mach/hurd/dl-execstack.c (_dl_make_stack_executable):
|
||||||
|
Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/dl-execstack.c
|
||||||
|
(_dl_make_stack_executable): Likewise.
|
||||||
|
|
||||||
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/netlinkaccess.h
|
* sysdeps/unix/sysv/linux/netlinkaccess.h
|
||||||
|
@ -181,8 +181,7 @@ ElfW(Word) _dl_stack_flags = DEFAULT_STACK_PERMS;
|
|||||||
/* If loading a shared object requires that we make the stack executable
|
/* If loading a shared object requires that we make the stack executable
|
||||||
when it was not, we do it by calling this function.
|
when it was not, we do it by calling this function.
|
||||||
It returns an errno code or zero on success. */
|
It returns an errno code or zero on success. */
|
||||||
int (*_dl_make_stack_executable_hook) (void **) internal_function
|
int (*_dl_make_stack_executable_hook) (void **) = _dl_make_stack_executable;
|
||||||
= _dl_make_stack_executable;
|
|
||||||
|
|
||||||
|
|
||||||
/* Function in libpthread to wait for termination of lookups. */
|
/* Function in libpthread to wait for termination of lookups. */
|
||||||
|
@ -784,7 +784,6 @@ __deallocate_stack (struct pthread *pd)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
internal_function
|
|
||||||
__make_stacks_executable (void **stack_endp)
|
__make_stacks_executable (void **stack_endp)
|
||||||
{
|
{
|
||||||
/* First the main thread's stack. */
|
/* First the main thread's stack. */
|
||||||
|
@ -356,8 +356,7 @@ extern void __deallocate_stack (struct pthread *pd)
|
|||||||
extern void __reclaim_stacks (void) attribute_hidden;
|
extern void __reclaim_stacks (void) attribute_hidden;
|
||||||
|
|
||||||
/* Make all threads's stacks executable. */
|
/* Make all threads's stacks executable. */
|
||||||
extern int __make_stacks_executable (void **stack_endp)
|
extern int __make_stacks_executable (void **stack_endp) attribute_hidden;
|
||||||
internal_function attribute_hidden;
|
|
||||||
|
|
||||||
/* longjmp handling. */
|
/* longjmp handling. */
|
||||||
extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe);
|
extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe);
|
||||||
|
@ -377,7 +377,7 @@ struct rtld_global
|
|||||||
/* If loading a shared object requires that we make the stack executable
|
/* If loading a shared object requires that we make the stack executable
|
||||||
when it was not, we do it by calling this function.
|
when it was not, we do it by calling this function.
|
||||||
It returns an errno code or zero on success. */
|
It returns an errno code or zero on success. */
|
||||||
EXTERN int (*_dl_make_stack_executable_hook) (void **) internal_function;
|
EXTERN int (*_dl_make_stack_executable_hook) (void **);
|
||||||
|
|
||||||
/* Prevailing state of the stack, PF_X indicating it's executable. */
|
/* Prevailing state of the stack, PF_X indicating it's executable. */
|
||||||
EXTERN ElfW(Word) _dl_stack_flags;
|
EXTERN ElfW(Word) _dl_stack_flags;
|
||||||
@ -632,7 +632,7 @@ extern size_t _dl_phnum;
|
|||||||
|
|
||||||
/* This is the initial value of GL(dl_make_stack_executable_hook).
|
/* This is the initial value of GL(dl_make_stack_executable_hook).
|
||||||
A threads library can change it. */
|
A threads library can change it. */
|
||||||
extern int _dl_make_stack_executable (void **stack_endp) internal_function;
|
extern int _dl_make_stack_executable (void **stack_endp);
|
||||||
rtld_hidden_proto (_dl_make_stack_executable)
|
rtld_hidden_proto (_dl_make_stack_executable)
|
||||||
|
|
||||||
/* Variable pointing to the end of the stack (or close to it). This value
|
/* Variable pointing to the end of the stack (or close to it). This value
|
||||||
|
@ -26,7 +26,6 @@ extern struct hurd_startup_data *_dl_hurd_data attribute_hidden;
|
|||||||
so as to mprotect it. */
|
so as to mprotect it. */
|
||||||
|
|
||||||
int
|
int
|
||||||
internal_function
|
|
||||||
_dl_make_stack_executable (void **stack_endp)
|
_dl_make_stack_executable (void **stack_endp)
|
||||||
{
|
{
|
||||||
/* Challenge the caller. */
|
/* Challenge the caller. */
|
||||||
|
@ -30,7 +30,6 @@ extern int __stack_prot attribute_relro attribute_hidden;
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
internal_function
|
|
||||||
_dl_make_stack_executable (void **stack_endp)
|
_dl_make_stack_executable (void **stack_endp)
|
||||||
{
|
{
|
||||||
/* This gives us the highest/lowest page that needs to be changed. */
|
/* This gives us the highest/lowest page that needs to be changed. */
|
||||||
|
Loading…
Reference in New Issue
Block a user