Consolodate the Linux `*_SUPER_MAGIC` constants.
Move the Linux `*_SUPER_MAGIC` constants out of
android/uclibc/gnu-specific directories and into the common `linux_like` directory
so that they're available on all Linux-family platforms, and so that that all
Linux-family platforms have all the constants.
Fix the build on the latest FreeBSD 14 snapshot
* KERN_STACKTOP was recently removed upstream, and has never been included in a stable FreeBSD release
* The MNTK_ flags are for kernel use only and aren't visible to userland
cc `@GuillaumeGomez`
uclibc: fix O_TMPFILE value, hide some unused fields to fix libc-test
This was a bit of a yak-shave.
First, O_TMPFILE was wrong because 020000000 is decimal, not octal. 🤦 This was, of course, causing all sorts of things to be horrible.
That led me to switch to a newer toolchain which actually defined O_TMPFILE, so that the libc tests pass on `armv7-unknown-linux-uclibceabihf`.
That revealed that certain field names had changed since the last time I ran the libc tests on this architecture, which revealed that some struct fields (e.g. `__unused`) were being marked as `pub` where all other architectures left them as private.
So, this patch might seem somewhat sprawling, but without all of these changes it's not possible to run libc-test!
To test:
* get https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2021.11-1.tar.bz2
* unpack somewhere, and call that `$TOOLCHAIN`
```
cd libc-test
PATH=$TOOLCHAIN/bin:$PATH \
CC_armv7_unknown_linux_uclibc=armv7-buildroot-linux-uclibc-gcc \
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_UCLIBCEABIHF_LINKER=armv7-buildroot-linux-uclibc-gcc \
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_UCLIBCEABIHF_RUNNER="qemu-arm -L $TOOLCHAIN/arm-buildroot-linux-uclibcgnueabihf/sysroot/" \
cargo +nightly test --target armv7-unknown-linux-uclibceabihf -Zbuild-std=core,std
```
These are only for the kernel's internal use and aren't exposed to
userland. They also aren't stable across versions, and may be changed
or deleted at any time. For example, by
4dcdf3987c
It got removed by upstream. This should not be considered a breaking
change, because KERN_STACKTOP has never been included in a released
version of FreeBSD.
1544f5add8