unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Joseph Myers <joseph@codesourcery.com>
To: <libc-alpha@sourceware.org>
Subject: Remove tilegx port
Date: Fri, 27 Apr 2018 15:36:34 +0000	[thread overview]
Message-ID: <alpine.DEB.2.20.1804271534430.17705@digraph.polyomino.org.uk> (raw)

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.

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]
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
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:
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.
 
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
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
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

-- 
Joseph S. Myers
joseph@codesourcery.com


             reply	other threads:[~2018-04-27 15:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-27 15:36 Joseph Myers [this message]
2018-04-27 16:19 ` Remove tilegx port Adhemerval Zanella
2018-04-27 17:26 ` Jeff Law
2018-04-27 17:42   ` Richard Biener
2018-04-27 19:32     ` Jeff Law
2021-09-10 11:50       ` Richard Biener via Libc-alpha
2021-09-10 13:53         ` Jeff Law via Libc-alpha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/libc/involved.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.20.1804271534430.17705@digraph.polyomino.org.uk \
    --to=joseph@codesourcery.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).