This is the mail archive of the
mailing list for the libc-ports project.
[PATCH v2 0/10] Tilera (and Linux asm-generic) support for glibc
- From: Chris Metcalf <cmetcalf at tilera dot com>
- To: libc-alpha at sourceware dot org, libc-ports at sourceware dot org
- Cc: Arnd Bergmann <arnd at arndb dot de>, Linas Vepstas <linas at codeaurora dot org>, Guan Xuetao <gxt at mprc dot pku dot edu dot cn>, Jonas Bonn <jonas at southpole dot se>, Chen Liqin <liqin dot chen at gmail dot com>
- Date: Wed, 9 Nov 2011 19:54:41 -0500
- Subject: [PATCH v2 0/10] Tilera (and Linux asm-generic) support for glibc
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
- The platform-independent bits/byteswap.h now has GCC_PREREQ support
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
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
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 <asm-generic/unistd.h> syscall header, and using the various
<asm-generic> 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.