Remove tilegx port
Adhemerval Zanella
adhemerval.zanella@linaro.org
Fri Apr 27 16:19:00 GMT 2018
On 27/04/2018 12:36, Joseph Myers wrote:
> Since tile support has been removed from the Linux kernel for 4.17,
> this patch removes the (unmaintained) port to tilegx from glibc (the
> tilepro support having been previously removed). This reflects the
> general principle that a glibc port needs upstream support for the
> architecture in all the components it build-depends on (so binutils,
> GCC and the Linux kernel, for the normal case of a port supporting the
> Linux kernel but no other OS), in order to be maintainable.
>
> Apart from removal of sysdeps/tile and sysdeps/unix/sysv/linux/tile
> (omitted from the diffs below), there are updates to various comments
> referencing tile for which removal of those references seemed
> appropriate. The configuration is removed from README and from
> build-many-glibcs.py. contrib.texi keeps mention of removed
> contributions, but I updated Chris Metcalf's entry to reflect that he
> also contributed the non-removed support for the generic Linux kernel
> syscall interface. __ASSUME_FADVISE64_64_NO_ALIGN support is removed,
> as it was only used by tile.
>
> 2018-04-27 Joseph Myers <joseph@codesourcery.com>
>
> * sysdeps/tile: Remove.
> * sysdeps/unix/sysv/linux/tile: Likewise.
> * README (tilegx-*-linux-gnu): Remove from list of supported
> configurations.
> * manual/contrib.texi (Contributors): Mention Chris Metcalf's
> contribution of support for generic Linux kernel syscall
> interface.
> * scripts/build-many-glibcs.py (Context.add_all_configs): Remove
> tilegx configurations.
> (Config.install_linux_headers): Do not handle tile.
> * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Do not mention Tile
> in comment.
> * sysdeps/unix/sysv/linux/nios2/Makefile: Likewise.
> * sysdeps/unix/sysv/linux/posix_fadvise.c: Likewise.
> [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove
> conditional undefine and redefine.
> * sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not mention Tile
> in comment.
> [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove
> conditional undefine and redefine.
LGTM.
>
> diff --git a/NEWS b/NEWS
> index 3d6b2c8..363e918 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -57,6 +57,8 @@ Deprecated and removed features, and other changes affecting compatibility:
> these macros should first include <sys/types.h>, and then include
> <sys/sysmacros.h> if __GNU_LIBRARY__ is defined.
>
> +* The tilegx*-*-linux-gnu configurations are no longer supported.
> +
> Changes to build and runtime requirements:
>
> [Add changes to build and runtime requirements here]
Ok.
> diff --git a/README b/README
> index 2874505..27a9fd4 100644
> --- a/README
> +++ b/README
> @@ -41,7 +41,6 @@ The GNU C Library supports these configurations for using Linux kernels:
> sh[34]-*-linux-gnu
> sparc*-*-linux-gnu
> sparc64*-*-linux-gnu
> - tilegx-*-linux-gnu
>
> If you are interested in doing a port, please contact the glibc
> maintainers; see http://www.gnu.org/software/libc/ for more
Ok.
> diff --git a/manual/contrib.texi b/manual/contrib.texi
> index 0da6dcb..dd28e92 100644
> --- a/manual/contrib.texi
> +++ b/manual/contrib.texi
> @@ -265,7 +265,8 @@ version 3 (@code{i386-sequent-bsd}).
> @item
> Chris Metcalf for the port to Linux/Tile
> (@code{tilegx-@var{anything}-linux} and
> -@code{tilepro-@var{anything}-linux}).
> +@code{tilepro-@var{anything}-linux}) and support for the generic Linux
> +kernel syscall interface used by several newer ports.
>
> @item
> David Miller for contributing the port to Linux/Sparc
> diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
> index f911b20..19411c1 100755
> --- a/scripts/build-many-glibcs.py
> +++ b/scripts/build-many-glibcs.py
> @@ -376,14 +376,6 @@ class Context(object):
> 'arch': 'sparcv9',
> 'ccopts': '-m32 -mlong-double-128',
> 'cfg': ['--disable-multi-arch']}])
> - self.add_config(arch='tilegx',
> - os_name='linux-gnu',
> - glibcs=[{},
> - {'variant': '32', 'ccopts': '-m32'}])
> - self.add_config(arch='tilegxbe',
> - os_name='linux-gnu',
> - glibcs=[{},
> - {'variant': '32', 'ccopts': '-m32'}])
> self.add_config(arch='x86_64',
> os_name='linux-gnu',
> gcc_cfg=['--with-multilib-list=m64,m32,mx32'],
> @@ -1271,7 +1263,6 @@ class Config(object):
> 'riscv64': 'riscv',
> 'sh': 'sh',
> 'sparc': 'sparc',
> - 'tile': 'tile',
> 'x86_64': 'x86'}
> linux_arch = None
> for k in arch_map:
Ok.
> diff --git a/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h b/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
> index 2f2f973..ff88292 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
> +++ b/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
> @@ -1,4 +1,5 @@
> -/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile.
> +/* Run-time dynamic linker data structures for loaded ELF shared objects.
> + AArch64 version.
> Copyright (C) 2001-2018 Free Software Foundation, Inc.
> This file is part of the GNU C Library.
>
Ok.
> diff --git a/sysdeps/unix/sysv/linux/nios2/Makefile b/sysdeps/unix/sysv/linux/nios2/Makefile
> index d0af9ec..20910fa 100644
> --- a/sysdeps/unix/sysv/linux/nios2/Makefile
> +++ b/sysdeps/unix/sysv/linux/nios2/Makefile
> @@ -3,7 +3,7 @@ gen-as-const-headers += ucontext_i.sym
> endif
>
> ifeq ($(subdir),misc)
> -# MIPS/Tile-style cacheflush routine
> +# MIPS-style cacheflush routine
> sysdep_headers += sys/cachectl.h
> sysdep_routines += cacheflush
> endif
Ok.
> diff --git a/sysdeps/unix/sysv/linux/posix_fadvise.c b/sysdeps/unix/sysv/linux/posix_fadvise.c
> index 08ccc22..d676a68 100644
> --- a/sysdeps/unix/sysv/linux/posix_fadvise.c
> +++ b/sysdeps/unix/sysv/linux/posix_fadvise.c
> @@ -31,9 +31,8 @@
> (redefined to __NR_fadvise64_64 in kernel-features.h) that behaves as
> __NR_fadvise64_64 (without the aligment argument required for the ABI).
>
> - Third option will be used by both tile 32-bits and mips o32. Tile
> - will set __ASSUME_FADVISE64_64_NO_ALIGN to issue a 6 argument syscall,
> - while mips will use a 7 argument one with __NR_fadvise64.
> + Third option will be used by mips o32. Mips will use a 7 argument
> + syscall with __NR_fadvise64.
>
> s390 implements fadvice64_64 using a specific struct with arguments
> packed inside. This is the only implementation handled in arch-specific
> @@ -53,11 +52,6 @@ posix_fadvise (int fd, off_t offset, off_t len, int advise)
> SYSCALL_LL (offset), SYSCALL_LL (len));
> # else
>
> -# ifdef __ASSUME_FADVISE64_64_NO_ALIGN
> -# undef __ALIGNMENT_ARG
> -# define __ALIGNMENT_ARG
> -# endif
> -
> # ifndef __NR_fadvise64_64
> # define __NR_fadvise64_64 __NR_fadvise64
> # endif
Ok.
> diff --git a/sysdeps/unix/sysv/linux/posix_fadvise64.c b/sysdeps/unix/sysv/linux/posix_fadvise64.c
> index eebf10c..61dfe89 100644
> --- a/sysdeps/unix/sysv/linux/posix_fadvise64.c
> +++ b/sysdeps/unix/sysv/linux/posix_fadvise64.c
> @@ -26,18 +26,10 @@ libc_hidden_proto (__posix_fadvise64_l64)
> just after 'fd' to avoid the requirement of implementing 7-arg syscalls.
> ARM also defines __NR_fadvise64_64 as __NR_arm_fadvise64_64.
>
> - tile requires __ASSUME_ALIGNED_REGISTER_PAIRS but implements the 32-bit
> - fadvise64_64 without the padding 0 after fd.
> -
> s390 implements fadvice64_64 using a specific struct with arguments
> packed inside. This is the only implementation handled in arch-specific
> code. */
>
> -#ifdef __ASSUME_FADVISE64_64_NO_ALIGN
> -# undef __ALIGNMENT_ARG
> -# define __ALIGNMENT_ARG
> -#endif
> -
> #ifndef __NR_fadvise64_64
> # define __NR_fadvise64_64 __NR_fadvise64
> #endif
>
Ok.
More information about the Libc-alpha
mailing list