summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-08-13 21:11:38 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-08-13 21:11:38 +0200
commite1d2ae8d217e50551802f3906099c8adc9f0811e (patch)
tree25b4656da90b19e7ea2edfb3b9e4a9f0e0b0280a
parentc4ce038287c907495d589104e497991185d43c89 (diff)
downloadglibc-e1d2ae8d217e50551802f3906099c8adc9f0811e.tar.gz
NPTL: Remove internal_function from stack marking functions
These are called across DSO boundaries and therefore should use the ABI calling convention.
-rw-r--r--ChangeLog14
-rw-r--r--elf/dl-support.c3
-rw-r--r--nptl/allocatestack.c1
-rw-r--r--nptl/pthreadP.h3
-rw-r--r--sysdeps/generic/ldsodefs.h4
-rw-r--r--sysdeps/mach/hurd/dl-execstack.c1
-rw-r--r--sysdeps/unix/sysv/linux/dl-execstack.c1
7 files changed, 18 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index b5526501e3..5c7c011f7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
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>
+
* sysdeps/unix/sysv/linux/netlinkaccess.h
(__netlink_assert_response): Remove internal_function.
* sysdeps/unix/sysv/linux/netlink_assert_response.c
diff --git a/elf/dl-support.c b/elf/dl-support.c
index c22be854f4..48340f7959 100644
--- a/elf/dl-support.c
+++ b/elf/dl-support.c
@@ -181,8 +181,7 @@ ElfW(Word) _dl_stack_flags = DEFAULT_STACK_PERMS;
/* If loading a shared object requires that we make the stack executable
when it was not, we do it by calling this function.
It returns an errno code or zero on success. */
-int (*_dl_make_stack_executable_hook) (void **) internal_function
- = _dl_make_stack_executable;
+int (*_dl_make_stack_executable_hook) (void **) = _dl_make_stack_executable;
/* Function in libpthread to wait for termination of lookups. */
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index ce2e24af95..6d1bcaa294 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -784,7 +784,6 @@ __deallocate_stack (struct pthread *pd)
int
-internal_function
__make_stacks_executable (void **stack_endp)
{
/* First the main thread's stack. */
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 6e7d6ff09e..5f0c18299d 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -356,8 +356,7 @@ extern void __deallocate_stack (struct pthread *pd)
extern void __reclaim_stacks (void) attribute_hidden;
/* Make all threads's stacks executable. */
-extern int __make_stacks_executable (void **stack_endp)
- internal_function attribute_hidden;
+extern int __make_stacks_executable (void **stack_endp) attribute_hidden;
/* longjmp handling. */
extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe);
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 1c0b9cb32e..55bb5e979e 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -377,7 +377,7 @@ struct rtld_global
/* If loading a shared object requires that we make the stack executable
when it was not, we do it by calling this function.
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. */
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).
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)
/* Variable pointing to the end of the stack (or close to it). This value
diff --git a/sysdeps/mach/hurd/dl-execstack.c b/sysdeps/mach/hurd/dl-execstack.c
index 1168df9262..51f0b9cc5b 100644
--- a/sysdeps/mach/hurd/dl-execstack.c
+++ b/sysdeps/mach/hurd/dl-execstack.c
@@ -26,7 +26,6 @@ extern struct hurd_startup_data *_dl_hurd_data attribute_hidden;
so as to mprotect it. */
int
-internal_function
_dl_make_stack_executable (void **stack_endp)
{
/* Challenge the caller. */
diff --git a/sysdeps/unix/sysv/linux/dl-execstack.c b/sysdeps/unix/sysv/linux/dl-execstack.c
index 3c4de1cb46..4fe81523f3 100644
--- a/sysdeps/unix/sysv/linux/dl-execstack.c
+++ b/sysdeps/unix/sysv/linux/dl-execstack.c
@@ -30,7 +30,6 @@ extern int __stack_prot attribute_relro attribute_hidden;
int
-internal_function
_dl_make_stack_executable (void **stack_endp)
{
/* This gives us the highest/lowest page that needs to be changed. */