guix/gnu/packages/patches/glibc-hurd-extern-inline.patch
Manolis Ragkousis 21a8fe1bf5 gnu: base: Add glibc-hurd and hurd-minimal.
* gnu/packages/base.scm (glibc/hurd, glibc/hurd-headers): New variables.
* gnu/packages/hurd.scm (hurd-minimal): New variable.
* gnu/packages/patches/glibc-hurd-extern-inline.patch: New file.
* gnu/packages/patches/libpthread-glibc-preparation.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Mark H Weaver <mhw@netris.org>
2015-09-04 13:50:38 +02:00

35 lines
969 B
Diff

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