scripts: remove . from $PATH
Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.
If . is in PATH, gcc-4.4.4 build breaks:
[ALL ] checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL ] config.status: creating as
i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.
Signed-off-by: Johannes Stezenbach <js@sig21.net>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 20dd8cef1c8adff0aa3e78ae6d7acfbc45ed5a83)
1 Original patch from: gentoo/src/patchsets/glibc/2.9/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch
3 -= BEGIN original header =-
4 revert cfi additions to clone on i386/x86_64 to workaround problems in
5 gcc's unwinder code. this is not a bug in glibc, it triggers problems
6 elsewhere. this cfi code does not gain us a whole lot anyways.
8 http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html
10 -= END original header =-
12 diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/i386/clone.S glibc-2_9/sysdeps/unix/sysv/linux/i386/clone.S
13 --- glibc-2_9.orig/sysdeps/unix/sysv/linux/i386/clone.S 2006-12-04 00:12:36.000000000 +0100
14 +++ glibc-2_9/sysdeps/unix/sysv/linux/i386/clone.S 2009-02-02 22:00:45.000000000 +0100
20 - /* Clearing frame pointer is insufficient, use CFI. */
21 - cfi_undefined (eip);
22 /* Note: %esi is zero. */
23 movl %esi,%ebp /* terminate the stack frame */
32 PSEUDO_END (BP_SYM (__clone))
33 diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/x86_64/clone.S glibc-2_9/sysdeps/unix/sysv/linux/x86_64/clone.S
34 --- glibc-2_9.orig/sysdeps/unix/sysv/linux/x86_64/clone.S 2006-12-04 00:12:36.000000000 +0100
35 +++ glibc-2_9/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-02-02 22:00:45.000000000 +0100
41 - /* Clearing frame pointer is insufficient, use CFI. */
42 - cfi_undefined (rip);
43 /* Clear the frame pointer. The ABI suggests this be done, to mark
44 the outermost frame obviously. */
47 /* Call exit with return value from function call. */
49 call HIDDEN_JUMPTARGET (_exit)
53 PSEUDO_END (BP_SYM (__clone))