clfs-1.2
        clfs-2.1
        clfs-3.0.0-systemd
        clfs-3.0.0-sysvinit
        systemd
        sysvinit
      
      
        
          | Last change
 on this file since 0801e7a was             11fbfa9, checked in by Jim Gifford <clfs@…>, 20 years ago | 
        
          | 
r1045@server (orig r1043):  ryan | 2006-01-12 00:56:45 -0800
 
r1079@rei:  lfs | 2006-01-12 19:13:09 +1100Update for glibc-2.3.6
 Also add option to skip libgcc_s.so.1 creation (to match cross-lfs book)
 
 
 
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            1.9 KB | 
      
      
| Rev | Line |  | 
|---|
| [11fbfa9] | 1 | Submitted By: Jim Gifford (patches at jg555 dot com) | 
|---|
|  | 2 | Date: 2005-09-29 | 
|---|
|  | 3 | Initial Package Version: 2.3.2 | 
|---|
|  | 4 | Origin: Debian | 
|---|
|  | 5 | Upstream Status: Unknown | 
|---|
|  | 6 | Description: Fixes Segfault when using localdef. | 
|---|
|  | 7 | This problem is only noticed when using PaX | 
|---|
|  | 8 | and some architectures besides x86. | 
|---|
|  | 9 | See debian bug # 231438 | 
|---|
|  | 10 |  | 
|---|
|  | 11 |  | 
|---|
|  | 12 | --- glibc-20050926/locale/programs/3level.h.orig        2005-09-30 06:00:37.000000000 +0000 | 
|---|
|  | 13 | +++ glibc-20050926/locale/programs/3level.h     2005-09-30 06:01:02.000000000 +0000 | 
|---|
|  | 14 | @@ -204,6 +204,42 @@ | 
|---|
|  | 15 | } | 
|---|
|  | 16 | } | 
|---|
|  | 17 | } | 
|---|
|  | 18 | + | 
|---|
|  | 19 | +/* GCC ATM seems to do a poor job with pointers to nested functions passed | 
|---|
|  | 20 | +   to inlined functions.  Help it a little bit with this hack.  */ | 
|---|
|  | 21 | +#define wchead_table_iterate(tp, fn) \ | 
|---|
|  | 22 | +do                                                                           \ | 
|---|
|  | 23 | +  {                                                                          \ | 
|---|
|  | 24 | +    struct wchead_table *t = (tp);                                           \ | 
|---|
|  | 25 | +    uint32_t index1;                                                         \ | 
|---|
|  | 26 | +    for (index1 = 0; index1 < t->level1_size; index1++)                              \ | 
|---|
|  | 27 | +      {                                                                              \ | 
|---|
|  | 28 | +       uint32_t lookup1 = t->level1[index1];                                 \ | 
|---|
|  | 29 | +       if (lookup1 != ((uint32_t) ~0))                                       \ | 
|---|
|  | 30 | +         {                                                                   \ | 
|---|
|  | 31 | +           uint32_t lookup1_shifted = lookup1 << t->q;                       \ | 
|---|
|  | 32 | +           uint32_t index2;                                                  \ | 
|---|
|  | 33 | +           for (index2 = 0; index2 < (1 << t->q); index2++)                  \ | 
|---|
|  | 34 | +             {                                                               \ | 
|---|
|  | 35 | +               uint32_t lookup2 = t->level2[index2 + lookup1_shifted];       \ | 
|---|
|  | 36 | +               if (lookup2 != ((uint32_t) ~0))                               \ | 
|---|
|  | 37 | +                 {                                                           \ | 
|---|
|  | 38 | +                   uint32_t lookup2_shifted = lookup2 << t->p;               \ | 
|---|
|  | 39 | +                   uint32_t index3;                                          \ | 
|---|
|  | 40 | +                   for (index3 = 0; index3 < (1 << t->p); index3++)          \ | 
|---|
|  | 41 | +                     {                                                       \ | 
|---|
|  | 42 | +                       struct element_t *lookup3                             \ | 
|---|
|  | 43 | +                         = t->level3[index3 + lookup2_shifted];              \ | 
|---|
|  | 44 | +                       if (lookup3 != NULL)                                  \ | 
|---|
|  | 45 | +                         fn ((((index1 << t->q) + index2) << t->p) + index3, \ | 
|---|
|  | 46 | +                             lookup3);                                       \ | 
|---|
|  | 47 | +                     }                                                       \ | 
|---|
|  | 48 | +                 }                                                           \ | 
|---|
|  | 49 | +             }                                                               \ | 
|---|
|  | 50 | +         }                                                                   \ | 
|---|
|  | 51 | +      }                                                                              \ | 
|---|
|  | 52 | +  } while (0) | 
|---|
|  | 53 | + | 
|---|
|  | 54 | #endif | 
|---|
|  | 55 |  | 
|---|
|  | 56 | #ifndef NO_FINALIZE | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.