patches/glibc/2.3.2/glibc-2.3.2-override.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
The error
yann@1
     2
yann@1
     3
make[2]: *** [.../gcc-3.3.3-glibc-2.1.3/i686-unknown-linux-gnu/share/zoneinfo/Africa/Algiers] Segmentation fault
yann@1
     4
make[2]: Leaving directory `.../gcc-3.3.3-glibc-2.1.3/glibc-2.1.3/timezone'
yann@1
     5
make[1]: *** [timezone/subdir_install] Error 2
yann@1
     6
yann@1
     7
is caused by glibc trying to run something it just compiled.
yann@1
     8
A crude workaround for this was posted at
yann@1
     9
http://lists.scratchbox.org/pipermail/scratchbox-users/2004-February/000018.html
yann@1
    10
but the following patch lets you optionally override these programs at
yann@1
    11
make time by setting Make variables 
yann@1
    12
  localedef_FOR_BUILD rpcgen_FOR_BUILD zic_FOR_BUILD
yann@1
    13
and maybe a few others to point to versions of those programs
yann@1
    14
that can run on the build machine.
yann@1
    15
Thanks to http://groups.google.com/groups?selm=9012160052.AA23106%40kaos.ksr.com
yann@1
    16
for pointing out the idiom for inline $(ifdef ...) in GNU Make.
yann@1
    17
yann@1
    18
Dan Kegel 2004-05-17
yann@1
    19
[rediffed for glibc-2.3.2]
yann@1
    20
[typos corrected - those are make variables, not environment variables,
yann@1
    21
 and it's $(built-program-override-name), not $(build-program-override-name)]
yann@1
    22
yann@1
    23
--- glibc-2.3.2/Makeconfig.old	2004-05-17 13:53:46.000000000 -0700
yann@1
    24
+++ glibc-2.3.2/Makeconfig	2004-05-17 14:09:59.000000000 -0700
yann@1
    25
@@ -534,9 +534,12 @@
yann@1
    26
 run-program-prefix =
yann@1
    27
 endif
yann@1
    28
 # Never use $(run-program-prefix) for the statically-linked %-bp test programs
yann@1
    29
-built-program-cmd = $(patsubst %,$(run-program-prefix),\
yann@1
    30
+built-program-real = $(patsubst %,$(run-program-prefix),\
yann@1
    31
 			$(filter-out %-bp,$(built-program-file))) \
yann@1
    32
 		    $(built-program-file)
yann@1
    33
+# If user set foo_FOR_BUILD, use that instead of actually running the program we just linked.
yann@1
    34
+built-program-override-name = $(notdir $(word 2,$^))_FOR_BUILD
yann@1
    35
+built-program-cmd = $(if $(findstring undefined,$(origin $(built-program-override-name))),$(built-program-real),$($(built-program-override-name)))
yann@1
    36
 
yann@1
    37
 ifndef LD
yann@1
    38
 LD := ld -X