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