Message ID | 20230502202424.1350288-1-samuel.thibault@ens-lyon.org |
---|---|
State | New |
Headers | show |
Series | [hurd,commited] hurd: Enable x86_64 build script | expand |
I'm observing that build-many-glibcs.py runs can end up with modifications to the source directory (which later cause problems with updating the glibc checkout): diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h index 069865189f..3b6363568d 100644 --- a/sysdeps/mach/hurd/bits/errno.h +++ b/sysdeps/mach/hurd/bits/errno.h @@ -4,11 +4,11 @@ libc-symbols.h mach/message.h mach/kern_return.h - mach/i386/kern_return.h + mach/x86_64/kern_return.h mach/port.h mach/boolean.h - mach/i386/boolean.h - mach/i386/vm_types.h + mach/x86_64/boolean.h + mach/x86_64/vm_types.h stdint.h ../stdlib/stdint.h ../bits/libc-header-start.h What this suggests to me is that the contents generated for sysdeps/mach/hurd/bits/errno.h depend on the system for which glibc is configured - which is never appropriate for a file in the source directory. Either you need separate files for i386 and x86_64, or the contents need to avoid depending on the architecture, or the file needs to become purely a build-tree (and installed) file and not checked in.
Hello, Joseph Myers, le mar. 09 mai 2023 21:53:26 +0000, a ecrit: > I'm observing that build-many-glibcs.py runs can end up with modifications > to the source directory (which later cause problems with updating the > glibc checkout): Ah, indeed, kern_return.h happens to be pulling machine-specific headers, but that doesn't matter for the errno.h content. I have thus ruled them out from the comment. Samuel
diff --git a/NEWS b/NEWS index 40964d2ee0..054d81fc81 100644 --- a/NEWS +++ b/NEWS @@ -24,6 +24,11 @@ Major new features: * A new tunable, glibc.pthread.stack_hugetlb, can be used to disable Transparent Huge Pages (THP) in stack allocation at pthread_create. +* Support for x86_64 running on Hurd has been added. This port requires + as least binutils 2.40 and GCC 13: + + - x86_64-gnu + Deprecated and removed features, and other changes affecting compatibility: * In the Linux kernel for the hppa/parisc architecture some of the diff --git a/README b/README index 63f3a1bebf..9532b97986 100644 --- a/README +++ b/README @@ -12,7 +12,7 @@ implement the operating system behavior seen by user applications. In GNU/Hurd systems, it works with a microkernel and Hurd servers. The GNU C Library implements much of the POSIX.1 functionality in the -GNU/Hurd system, using configurations i[4567]86-*-gnu. +GNU/Hurd system, using configurations i[4567]86-*-gnu and x86_64-gnu. When working with Linux kernels, this version of the GNU C Library requires Linux kernel version 3.2 or later. diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py index 97b6862167..95726c4a29 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -465,6 +465,9 @@ class Context(object): 'ccopts': '-m32 -march=i486'}, {'arch': 'i586', 'ccopts': '-m32 -march=i586'}]) + self.add_config(arch='x86_64', + os_name='gnu', + gcc_cfg=['--disable-multilib']) def add_config(self, **args): """Add an individual build configuration."""