Bug 246801

Summary: glibc: please add arm support
Product: [Fedora] Fedora Reporter: Lennert Buytenhek <buytenh>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: arm9   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-07-18 10:44:26 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 245418    
Description Flags
Add 'ports' add-on.
Spec file diffs for ARM.
ARM support for tzdata-update.c. none

Description Lennert Buytenhek 2007-07-04 20:38:05 EDT
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

   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.
Comment 1 Lennert Buytenhek 2007-07-04 20:38:05 EDT
Created attachment 158566 [details]
Add 'ports' add-on.
Comment 2 Lennert Buytenhek 2007-07-04 20:41:13 EDT
Created attachment 158567 [details]
Spec file diffs for ARM.
Comment 3 Lennert Buytenhek 2007-07-04 20:41:43 EDT
Created attachment 158568 [details]
ARM support for tzdata-update.c.
Comment 4 Jakub Jelinek 2007-07-18 10:44:26 EDT
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.
Comment 5 Lennert Buytenhek 2007-07-21 18:47:22 EDT
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!