From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30492 invoked by alias); 10 Nov 2011 00:55:01 -0000 Received: (qmail 30462 invoked by uid 22791); 10 Nov 2011 00:54:58 -0000 X-SWARE-Spam-Status: No, hits=2.7 required=5.0 tests=AWL,BAYES_00,KHOP_DYNAMIC,RDNS_DYNAMIC,TBC,TO_NO_BRKTS_DYNIP,TVD_RCVD_IP X-Spam-Check-By: sourceware.org Received: from 206.83.70.73.ptr.us.xo.net (HELO king.tilera.com) (206.83.70.73) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 10 Nov 2011 00:54:44 +0000 Received: from farm-0002.internal.tilera.com ([10.2.0.32]) by king.tilera.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Wed, 9 Nov 2011 19:54:43 -0500 Received: (from cmetcalf@localhost) by farm-0002.internal.tilera.com (8.13.8/8.12.11/Submit) id pAA0sf6u025585; Wed, 9 Nov 2011 19:54:41 -0500 Date: Thu, 10 Nov 2011 00:55:00 -0000 Message-Id: <201111100054.pAA0sf6u025585@farm-0002.internal.tilera.com> Subject: [PATCH v2 0/10] Tilera (and Linux asm-generic) support for glibc From: Chris Metcalf To: libc-alpha@sourceware.org, libc-ports@sourceware.org Cc: Arnd Bergmann , Linas Vepstas , Guan Xuetao , Jonas Bonn , Chen Liqin X-IsSubscribed: yes Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2011-11/txt/msg00017.txt.bz2 This is the second version of the patch, including feedback from the detailed commentary by Joseph S. Myers. The major issues raised are addressed as follows: - tile now has a shlib-versions file with "GLIBC_2.12 GLIBC_2.15" as the default. This will allow us to be backwards-compatible in glibc 2.15 and following with the RHEL 6-compatible 2.12 we are shipping to customers in our forthcoming 4.x release series. This requires a bugfix to firstversions.awk. - The tile backtracing support has been entirely handed off to libgcc and glibc will just use _Unwind_Backtrace to access it. - The "Linux generic" 32-bit APIs (stat, statfs, lseek) now check for and return EOVERFLOW when the 64-bit kernel APIs return too-large values. - The platform-independent bits/byteswap.h now has GCC_PREREQ support for __builtin_bswap. One other note which I should have mentioned in my original overview email is that tile support will require syncing up the config.guess and config.sub files, as they currently have some early tile support, but not quite the right stuff (need to get 2011-06-03 or better). For reference, the "v1" overview text follows, unchanged. Thanks again to Joseph Myers for his thoughtful critiques. -- The accompanying patches add support for the Tilera architecture chip family (currently the 32-bit TILEPro and the 64-bit TILE-Gx). The architecture is supported in the Linux kernel (as of 2.6.36 for TILEPro, 3.0 for TILE-Gx); has been accepted into the binutils CVS repository; and is in review for gcc. More information on Tilera, the company, is at http://www.tilera.com; our open source information is at http://www.tilera.com/scm/. The libc-ports portion of the patch consists of two pieces: the Tilera chip support, plus an additional "generic ABI" Linux piece. The first patch is the tile architecture support, in sysdeps/tile and sysdeps/unix/sysv/linux/tile. The second is the Linux asm-generic support, in sysdeps/unix/sysv/linux/generic. This component supports architectures that are using the new, limited kernel ABI defined by the syscall header, and using the various definitions of kernel data structures such as "struct stat", "struct statfs", etc. The "score" architecture also uses the asm-generic headers, though its use of the syscall header is in the backwards-compatible mode that enables the old syscalls. More importantly, both the new "unicore32" and "openrisc" architectures (both currently supported in the Linux kernel) use this mode. They will be able to share the proposed new "asm-generic ABI" linux support included in this patch. The first two patches are sent to just the glibc-ports mailing list. The remaining seven (fairly minor) patches are to aspects of the core, so will be sent to just the glibc-alpha mailing list (though at least some of them are of interest to new ports maintainers as well, since they include core changes required for each new port). Running "make tests" reports almost all successes; I have spent time cleaning up tests over the last couple of weeks and will continue to do so going forward as time permits. We have been shipping our version of glibc to customers for over a year now, based on glibc 2.11.2 in our 3.x release stream, and more recently in our 4.x release on the RedHat Enterprise Linux 6.0 version of glibc 2.12. I have a current FSF copyright assignment on file through Tilera. -- Chris Metcalf, Tilera Corp. http://www.tilera.com