Opened 14 years ago

Last modified 14 years ago

#2820 closed defect

glibc issues with --enable-kernel=2.6.22.5 — at Version 3

Reported by: bigorneault Owned by: lfs-book@…
Priority: normal Milestone: 6.8
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description (last modified by bdubbs@…)

When building glibc 2.12.1 and 2.12.2 on x86_64 linux with --enable-kernel=2.6.22.5, the following tests fail:

make[2]: *** [/build/glibc-build/nptl/tst-rwlock6.out] Error 1
make[2]: *** [/build/glibc-build/nptl/tst-rwlock7.out] Error 1
make[2]: *** [/build/glibc-build/nptl/tst-rwlock9.out] Error 1
make[2]: *** [/build/glibc-build/nptl/tst-rwlock11.out] Error 1
make[2]: *** [/build/glibc-build/nptl/tst-rwlock12.out] Error 11
make[2]: *** [/build/glibc-build/nptl/tst-rwlock14.out] Error 1
make[2]: *** [/build/glibc-build/nptl/tst-abstime.out] Error 1

This issues does not occur on i686. If I build glibc with --enable-kernel=2.6.29 or later, all tests pass.

Change History (4)

comment:1 by bigorneault, 14 years ago

killing the ASSUME_PRIVATE_FUTEX define seems to fix the problem. See the patch.

by bigorneault, 14 years ago

kill ASSUME_PRIVATE_FUTEX

comment:2 by Bryan Kadzban, 14 years ago

Can you tell what the ASSUME_PRIVATE_FUTEX define is changing? I assume that since you say it works with 2.6.29, there's some other defined ASSUME_* symbol that affects the generated code... Can you tell why the tests are failing? (The logs should be helpful.)

Does it work to use 2.6.22 instead of 2.6.22.5? (Why are we using 2.6.22.5 anyway? That's not functionally any different from 2.6.22, it just has some bugfixes.)

comment:3 by bdubbs@…, 14 years ago

Description: modified (diff)

I'm just guessing, but I suspect the failed tests depend on the kernel configuration.

Symbol: FUTEX [=y]                                                                             
 Prompt: Enable futex support                                                                   
   Defined at init/Kconfig:903                                                                  
     Depends on: EMBEDDED [=y]                                                                    
     Location:                                                                                    
       -> General setup                                                                           
         -> Configure standard kernel features (for small systems) (EMBEDDED [=y])                
     Selects: RT_MUTEXES [=y]

The 2.6.22.5 version is what we specify as the minimum.

Note: See TracTickets for help on using tickets.