This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Remove tilegx port



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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]