* 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>
		
			
				
	
	
		
			35 lines
		
	
	
		
			No EOL
		
	
	
		
			969 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			No EOL
		
	
	
		
			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
 |