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 diff -durN gcc-3.4.6.orig/gcc/config/sh/sh.c gcc-3.4.6/gcc/config/sh/sh.c
2 --- gcc-3.4.6.orig/gcc/config/sh/sh.c 2004-09-03 08:51:30.000000000 +0200
3 +++ gcc-3.4.6/gcc/config/sh/sh.c 2007-08-15 23:01:48.000000000 +0200
6 this = FUNCTION_ARG (cum, Pmode, ptr_type_node, 1);
8 + /* In PIC case, we set PIC register to compute the target address. We
9 + can use a scratch register to save and restore the original value
10 + except for SHcompact. For SHcompact, use stack. */
11 + if (flag_pic && TARGET_SHCOMPACT)
13 + push (PIC_OFFSET_TABLE_REGNUM);
14 + emit_insn (gen_GOTaddr2picreg ());
17 /* For SHcompact, we only have r0 for a scratch register: r1 is the
18 static chain pointer (even if you can't have nested virtual functions
19 right now, someone might implement them sometime), and the rest of the
20 @@ -9189,8 +9198,24 @@
21 assemble_external (function);
22 TREE_USED (function) = 1;
24 + /* We can use scratch1 to save and restore the original value of
25 + PIC register except for SHcompact. */
26 + if (flag_pic && ! TARGET_SHCOMPACT)
28 + emit_move_insn (scratch1,
29 + gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM));
30 + emit_insn (gen_GOTaddr2picreg ());
32 funexp = XEXP (DECL_RTL (function), 0);
33 emit_move_insn (scratch2, funexp);
36 + if (! TARGET_SHCOMPACT)
37 + emit_move_insn (gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM),
40 + pop (PIC_OFFSET_TABLE_REGNUM);
42 funexp = gen_rtx_MEM (FUNCTION_MODE, scratch2);
43 sibcall = emit_call_insn (gen_sibcall (funexp, const0_rtx, NULL_RTX));
44 SIBLING_CALL_P (sibcall) = 1;