gnu: gcc: Properly set the dynamic linker file name on GNU/Hurd.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: In 'pre-configure' phase, match 'GNU_USER_DYNAMIC_LINKER' in addition to 'GLIBC_DYNAMIC_LINKER'. This fixes GNU/Hurd cross-compilation as reported at <https://lists.gnu.org/archive/html/guix-devel/2017-01/msg01731.html>.
This commit is contained in:
		
							parent
							
								
									c8b44fc107
								
							
						
					
					
						commit
						33ae7d4385
					
				
					 1 changed files with 6 additions and 5 deletions
				
			
		|  | @ -205,17 +205,18 @@ where the OS part is overloaded to denote a specific ABI---into GCC | |||
|                 (for-each | ||||
|                  (lambda (x) | ||||
|                    (substitute* (find-files "gcc/config" | ||||
|                                             "^linux(64|-elf|-eabi)?\\.h$") | ||||
|                      (("(#define GLIBC_DYNAMIC_LINKER.*)\\\\\n$" _ line) | ||||
|                                             "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") | ||||
|                      (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line) | ||||
|                       line))) | ||||
|                  '(1 2 3)) | ||||
| 
 | ||||
|                 ;; Fix the dynamic linker's file name. | ||||
|                 (substitute* (find-files "gcc/config" | ||||
|                                          "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") | ||||
|                   (("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix) | ||||
|                    (format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%" | ||||
|                            suffix | ||||
|                   (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ ]*).*$" | ||||
|                     _ gnu-user suffix) | ||||
|                    (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" | ||||
|                            gnu-user suffix | ||||
|                            (string-append libc ,(glibc-dynamic-linker))))) | ||||
| 
 | ||||
|                 ;; Tell where to find libstdc++, libc, and `?crt*.o', except | ||||
|  |  | |||
		Reference in a new issue