summary refs log tree commit diff
path: root/gnu/packages/patches/glibc-hurd-extern-inline.patch
blob: a609b1f54a7ecbf70a8e66e13ee364ff2244360b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
This changes the way _EXTERN_INLINE is defined so we can
avoid external definition errors.
https://lists.gnu.org/archive/html/bug-hurd/2014-04/msg00002.html

diff --git a/signal/sigsetops.c b/signal/sigsetops.c
index 0317662..b92c296 100644
--- a/signal/sigsetops.c
+++ b/signal/sigsetops.c
@@ -3,7 +3,9 @@
 
 #include <features.h>
 
-#define _EXTERN_INLINE
+#ifndef _EXTERN_INLINE
+#define _EXTERN_INLINE __extern_inline
+#endif
 #ifndef __USE_EXTERN_INLINES
 # define __USE_EXTERN_INLINES  1
 #endif

Link libmachuser and libhurduser automatically with libc, since they are
considered a standard part of the API in GNU-land.

--- a/Makerules
+++ b/Makerules
@@ -978,6 +978,9 @@
 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
 	) > $@.new
+ifeq ($(patsubst gnu%,,$(config-os)),)
+	echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new
+endif
 	mv -f $@.new $@
 
 endif