From a758c29399641150dc38cffc79ab361c20fabcfd Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 2 Apr 2018 23:40:26 +0000 Subject: [PATCH] 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. --- ChangeLog | 9 +++++++++ hurd/Makefile | 1 + hurd/hurd-raise.c | 1 + sysdeps/hurd/include/hurd/fd.h | 6 ++++++ sysdeps/hurd/include/hurd/signal.h | 1 + 5 files changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index b0256e9..9e2dfa9 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 7a787d2..a41737f 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 ac44c7d..9fe5541 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 b22f0c5..643454f 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 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 fbd01bb..f3185f9 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 -- 2.7.4