Bug: 122833823

Clone this repo:
  1. 49917e0 Add all missing EPOLL values. am: 7b15559986 by Christopher Ferris · 7 weeks ago emu-35-4-dev emu-35-5-release llvm-r547379-release main master
  2. 7b15559 Add all missing EPOLL values. by Christopher Ferris · 7 weeks ago
  3. b8255b7 Update <sys/mount.h> from glibc 2.38. am: 46b32c6160 by Elliott Hughes · 9 weeks ago
  4. 46b32c6 Update <sys/mount.h> from glibc 2.38. by Elliott Hughes · 9 weeks ago
  5. fc40673 Update <linux/uinput.h> from glibc 2.38. am: e4ddd6326e by Elliott Hughes · 10 weeks ago

Host glibc sysroot

Here lie the bones of a prebuilt glibc 2.17, the current host Linux sysroot.

Full version updates have historically been painful. They also annoy users. This is the sysroot used to build the NDK and other host tools shared with app developers, not just OS developers, and even OS developers outside Google often seem to prefer (or at least “are required by corporate policy”) to stick to older host OS versions with old glibc versions.

We do not currently plan to update to a newer glibc. Our hope is to be able to move to musl instead, which will also offer the option of shipping static host executables.

In the meantime, we have been taking targeted updates to these headers.

In particular, adding missing constants is almost always fine, whereas adding missing function declarations doesn‘t help anyone (though we could potentially add a static inline, but that’s not something we've done yet).

In the ideal case, you can simply copy the current glibc header over the old one and it “just works”. In such cases, just remember to include the glibc version number that you're updating to in the commit message.

Other cases can be a lot harder. Sometimes there are changes you don‘t want or can’t take in the same file, for example. Or there might have been a sufficiently large refactoring of transitive includes that you end up touching tens of headers when all you really wanted to do was add one missing constant. These kinds of cases are probably worth discussing with the OWNERS before you get too deep in the weeds!