1# Host glibc sysroot 2 3Here lie the bones of a prebuilt glibc 2.17, the current host Linux sysroot. 4 5Full version updates have historically been painful. They also annoy users. 6This is the sysroot used to build the NDK and other host tools shared with 7app developers, not just OS developers, and even OS developers outside Google 8often seem to prefer (or at least "are required by corporate policy") to 9stick to older host OS versions with old glibc versions. 10 11We do not currently plan to update to a newer glibc. Our hope is to be able to 12move to musl instead, which will also offer the option of shipping static host 13executables. 14 15In the meantime, we have been taking targeted updates to these headers. 16 17In particular, adding missing constants is almost always fine, whereas 18adding missing function declarations doesn't help anyone (though we could 19potentially add a static inline, but that's not something we've done yet). 20 21In the ideal case, you can simply copy the current glibc header over the old 22one and it "just works". In such cases, just remember to include the glibc 23version number that you're updating to in the commit message. 24 25Other cases can be a lot harder. Sometimes there are changes you don't want or 26can't take in the same file, for example. Or there might have been a 27sufficiently large refactoring of transitive includes that you end up touching 28tens of headers when all you really wanted to do was add one missing constant. 29These kinds of cases are probably worth discussing with the OWNERS before you 30get too deep in the weeds!