about summary refs log tree commit diff
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
glibc-a758c29399641150dc38cffc79ab361c20fabcfd.tar.xz
glibc-a758c29399641150dc38cffc79ab361c20fabcfd.zip
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