scripts/addToolsVersion: properly handle .in vs. .in.2
While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).
Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.
So, for each tool, we need to explicitly know what file to munge.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
3 # DP: Description: Fix localedef segfault when run under exec-shield,
4 # PaX or similar. (#231438, #198099)
5 # DP: Dpatch Author: James Troup <james@nocrew.org>
6 # DP: Patch Author: (probably) Jakub Jelinek <jakub@redhat.com>
7 # DP: Upstream status: Unknown
8 # DP: Status Details: Unknown
12 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
16 -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;;
17 -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;;
19 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
24 diff -durN glibc-2.12.1.orig/locale/programs/3level.h glibc-2.12.1/locale/programs/3level.h
25 --- glibc-2.12.1.orig/locale/programs/3level.h 2007-07-16 02:54:59.000000000 +0200
26 +++ glibc-2.12.1/locale/programs/3level.h 2009-11-13 00:49:56.000000000 +0100
32 +/* GCC ATM seems to do a poor job with pointers to nested functions passed
33 + to inlined functions. Help it a little bit with this hack. */
34 +#define wchead_table_iterate(tp, fn) \
37 + struct wchead_table *t = (tp); \
39 + for (index1 = 0; index1 < t->level1_size; index1++) \
41 + uint32_t lookup1 = t->level1[index1]; \
42 + if (lookup1 != ((uint32_t) ~0)) \
44 + uint32_t lookup1_shifted = lookup1 << t->q; \
46 + for (index2 = 0; index2 < (1 << t->q); index2++) \
48 + uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \
49 + if (lookup2 != ((uint32_t) ~0)) \
51 + uint32_t lookup2_shifted = lookup2 << t->p; \
53 + for (index3 = 0; index3 < (1 << t->p); index3++) \
55 + struct element_t *lookup3 \
56 + = t->level3[index3 + lookup2_shifted]; \
57 + if (lookup3 != NULL) \
58 + fn ((((index1 << t->q) + index2) << t->p) + index3, \