public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/google/grte/v5-2.27/master] Add a GRTE-specific readme.
@ 2021-08-28  0:39 Fangrui Song
  0 siblings, 0 replies; only message in thread
From: Fangrui Song @ 2021-08-28  0:39 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5884367eb9fae9030e8c9c70102a7189248f1870

commit 5884367eb9fae9030e8c9c70102a7189248f1870
Author: Stan Shebs <stanshebs@google.com>
Date:   Wed Jun 6 11:42:14 2018 -0700

    Add a GRTE-specific readme.

Diff:
---
 README.grte | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/README.grte b/README.grte
new file mode 100644
index 0000000000..f7b77818bb
--- /dev/null
+++ b/README.grte
@@ -0,0 +1,61 @@
+This file documents Google's modified version of glibc, known as GRTE
+(Google Run Time Environment).  GRTE serves as the common C library for
+internal Google applications running on production systems.
+
+While GRTE is nearly identical to stock glibc, it does have a number
+of local changes.  These run the gamut from patches that were
+submitted but not accepted for trunk glibc, to workarounds for quirks
+of Google infrastructure, to extensions that are critical for the
+proper functioning of applications.  The ideal, however, is to have no
+local changes at all.
+
+GRTE versions are identified by a small integer, which generally
+corresponds to a particular glibc version.  GRTE v4 is based on
+glibc-2.19, while GRTE v5 is based on glibc-2.27, for instance.
+
+BUILDING GRTE WITH GCC
+
+When using GCC, GRTE v4 and later will build with native
+configure/make in the usual way for glibc.  For v4, nscd does not
+work, so add --disable-nscd when configuring.
+
+Supported architectures include x86_64 and ppc64le.
+
+Testsuites will likely have some additional failures.
+
+BUILDING GRTE WITH CLANG
+
+GRTE v5 and later can also be built with clang and (optionally) lld.
+LLVM support for GNU source code continues to evolve (as of June
+2018), so the process is less straightforward, and likely to change
+from what is documented here.  There are a number of glibc patches
+that make this work, including additional configure options mentioned
+below.
+
+The minimum version of clang is 6.0.0.  If lld is to be used for linking,
+it needs to be newer than 6.0.0.
+
+Configure:
+
+  CC=path-to-llvm/clang CXX=path-to-llvm/clang \
+    ../glibc/configure --disable-werror --with-clang --disable-float128 \
+      --with-lld --with-default-link --prefix=/something
+
+To build with BFD ld as linker, omit the "--with-lld
+--with-default-link".  (Gold has had problems in the past.)
+
+Build:
+
+  make
+  make install
+
+To test:
+
+  make check
+
+Testsuite results will show many unexpected failures beyond the
+GCC-compiled results; about 390 for x86-64.  These are a combination
+of known bugs in clang, and issues with conformance to old standards
+predating clang.  Note that the clang build still needs symlinks to
+libgcc and libstdc++ in the installed library directory, so that
+thread cancellation tests pass.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-28  0:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-28  0:39 [glibc/google/grte/v5-2.27/master] Add a GRTE-specific readme Fangrui Song

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).