summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-02 23:40:26 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-02 23:40:26 +0000
commita758c29399641150dc38cffc79ab361c20fabcfd (patch)
treeae673bdede887fdfcb58e7a10ba4bcf6f77a0916
parent7a8f45e302b4518da518b48ab54ab43249d606f1 (diff)
downloadglibc-a758c29399641150dc38cffc79ab361c20fabcfd.tar.gz
hurd: Avoid more libc.so PLTs
* sysdeps/hurd/include/hurd/signal.h (_hurd_raise_signal): Add hidden prototype. * hurd/hurd-raise.c (_hurd_raise_signal): Add hidden def. * hurd/Makefile ($(inlines:%=$(objpfx)%.c): Define _HEADER_H_HIDDEN_DEF macro. * sysdeps/hurd/include/hurd/fd.h (_hurd_fd_error, _hurd_fd_error_signal): Add hidden prototype. [_HURD_FD_H_HIDDEN_DEF] (_hurd_fd_error, _hurd_fd_error_signal): Add hidden def.
-rw-r--r--ChangeLog9
-rw-r--r--hurd/Makefile1
-rw-r--r--hurd/hurd-raise.c1
-rw-r--r--sysdeps/hurd/include/hurd/fd.h6
-rw-r--r--sysdeps/hurd/include/hurd/signal.h1
5 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b0256e9d81..9e2dfa934d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -387,6 +387,15 @@
* sysdeps/mach/include/mach.h: New file.
* sysdeps/mach/include/mach/mig_support.h: New file.
* sysdeps/mach/include/mach_error.h: New file.
+ * sysdeps/hurd/include/hurd/signal.h (_hurd_raise_signal): Add hidden
+ prototype.
+ * hurd/hurd-raise.c (_hurd_raise_signal): Add hidden def.
+ * hurd/Makefile ($(inlines:%=$(objpfx)%.c): Define
+ _HEADER_H_HIDDEN_DEF macro.
+ * sysdeps/hurd/include/hurd/fd.h (_hurd_fd_error,
+ _hurd_fd_error_signal): Add hidden prototype.
+ [_HURD_FD_H_HIDDEN_DEF] (_hurd_fd_error, _hurd_fd_error_signal): Add
+ hidden def.
* sysdeps/mach/hurd/localplt.data: New file.
diff --git a/hurd/Makefile b/hurd/Makefile
index 7a787d2900..a41737f497 100644
--- a/hurd/Makefile
+++ b/hurd/Makefile
@@ -79,6 +79,7 @@ shared-only-routines = compat-20
$(inlines:%=$(objpfx)%.c): $(objpfx)%-inlines.c: %.h
(h="`echo $(subst /,_,$*) | tr '[a-z]' '[A-Z]'`"; \
echo "#define _$${h}_H_EXTERN_INLINE /* Define real function. */"; \
+ echo "#define _$${h}_H_HIDDEN_DEF /* Declare hidden definition. */"; \
echo '#include "$<"') > $@-new
mv -f $@-new $@
generated += $(inlines:=.c)
diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c
index ac44c7d33f..9fe5541311 100644
--- a/hurd/hurd-raise.c
+++ b/hurd/hurd-raise.c
@@ -48,3 +48,4 @@ _hurd_raise_signal (struct hurd_sigstate *ss,
other thread. */
return __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ());
}
+libc_hidden_def (_hurd_raise_signal)
diff --git a/sysdeps/hurd/include/hurd/fd.h b/sysdeps/hurd/include/hurd/fd.h
index b22f0c59f4..643454f3f8 100644
--- a/sysdeps/hurd/include/hurd/fd.h
+++ b/sysdeps/hurd/include/hurd/fd.h
@@ -1,4 +1,10 @@
#ifndef _HURD_FD_H
#include_next <hurd/fd.h>
libc_hidden_proto (_hurd_intern_fd)
+libc_hidden_proto (_hurd_fd_error)
+libc_hidden_proto (_hurd_fd_error_signal)
+#ifdef _HURD_FD_H_HIDDEN_DEF
+libc_hidden_def (_hurd_fd_error)
+libc_hidden_def (_hurd_fd_error_signal)
+#endif
#endif
diff --git a/sysdeps/hurd/include/hurd/signal.h b/sysdeps/hurd/include/hurd/signal.h
index fbd01bb80d..f3185f97db 100644
--- a/sysdeps/hurd/include/hurd/signal.h
+++ b/sysdeps/hurd/include/hurd/signal.h
@@ -3,4 +3,5 @@
libc_hidden_proto (_hurd_exception2signal)
libc_hidden_proto (_hurd_intr_rpc_mach_msg)
libc_hidden_proto (_hurd_thread_sigstate)
+libc_hidden_proto (_hurd_raise_signal)
#endif