The attached patches add support for building glibc on the ARM architecture to the current rawhide glibc package. There are four issues which are addressed by this patch set: 1. For some time now, ARM support has lived outside the main glibc tree, in the 'ports' add-on. (The original decision to move ARM support out of the main tree seems to have been made at the time because of the fact that the ARM glibc port wasn't maintained very well back then, but these days it seems to be maintained pretty well.) Attached is a patch that pulls in the ports add-on, and selects it for build on port archs (only ARM for now.) This requires pulling in glibc-ports-2.6.tar.bz2 from your favorite gnu mirror. 2. Rawhide glibc 2.6 builds with -fasynchronous-unwind-tables. This does work fine on ARM for the main glibc, but, it does confuse the top-level configure script, since that tries to build stuff with -nostdlib, while ARM needs to pull in libgcc_eh for -fasynchronous-unwind-tables (and libgcc_eh pulls in various glibc bits.) We could disable building with -fasynchronous-unwind-tables on ARM, but the easier fix is probably to just do the configure tests without -nostdlib. Attached spec file patch neuters the -nostdlib instances in the top-level configure script. 3. Rawhide glibc 2.6 builds with --enable-kernel=2.6.9, but glibc's ARM EABI port wants at least 2.6.14, the kernel version where the necessary NPTL bits were added, and those bits didn't stabilise until 2.6.16, so you'd want to require at least 2.6.16. Attached spec file patch makes glibc build with --enable-kernel=2.6.16 on ARM, and with 2.6.9 otherwise. 4. The syscall bits in tzdata-update.c do not have an implementation for ARM. Attached is a patch which adds this. These patches allow a successful build of the current rawhide glibc package. Please consider applying them. Thanks for your time.
Created attachment 158566 [details] Add 'ports' add-on.
Created attachment 158567 [details] Spec file diffs for ARM.
Created attachment 158568 [details] ARM support for tzdata-update.c.
Including ports means that fedora branch will have to maintain arm, mips, cris, ... etc. support, which is what I'd like to avoid at all costs, there is enough work with the mainstream architectures. I can surely apply the tzdata-update.c change and perhaps can add ExclusiveArch to glibc.spec for the architectures that are supported in the main tree. Then you can just create glibc-ports*.src.rpm which will track fedora-branch and you'll be responsible for making sure ports work with it and maintain it yourself - this src.rpm would then for arm etc. create glibc-2*.arm*.rpm etc. Changes which require updating all ports happen many times a year, in the current model I can just care about the core architectures.
OK, that makes sense. Can you please apply the tzdata-update.c change and add an ExclusiveArch then? And then I'll look into how to get a glibc-ports package into the archive. Thanks again!