patches/gcc/4.4.4/260-sh-libgcc-stacks.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
parent 1948 d341be24dc68
permissions -rw-r--r--
kernel/linux: fix using custom location

Currently, extract and patch are skipped as thus:
- using a custom directory of pre-installed headers
- a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
- a non-custom kernel is used
- a previous build only partially extracted the non-custom sources
- that p[revious build broke during extraction (eg. incomplete tarball...)
- a subsequent build will find a properly named directory, and will
thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type | Extract | Patch
----------------------+---------+-------
Pre-installed headers | N | N
custom directory | N | N
custom tarball | Y | N
mainstream tarball | Y | Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
     1 diff -durN gcc-4.4.4.orig/gcc/config/sh/lib1funcs.asm gcc-4.4.4/gcc/config/sh/lib1funcs.asm
     2 --- gcc-4.4.4.orig/gcc/config/sh/lib1funcs.asm	2009-04-10 01:23:07.000000000 +0200
     3 +++ gcc-4.4.4/gcc/config/sh/lib1funcs.asm	2010-05-16 19:14:19.000000000 +0200
     4 @@ -30,6 +30,11 @@
     5  !! recoded in assembly by Toshiyasu Morita
     6  !! tm@netcom.com
     7  
     8 +#if defined(__ELF__) && defined(__linux__)
     9 +.section .note.GNU-stack,"",%progbits
    10 +.previous
    11 +#endif
    12 +
    13  /* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and
    14     ELF local label prefixes by J"orn Rennecke
    15     amylaar@cygnus.com  */
    16 diff -durN gcc-4.4.4.orig/gcc/config/sh/linux-atomic.asm gcc-4.4.4/gcc/config/sh/linux-atomic.asm
    17 --- gcc-4.4.4.orig/gcc/config/sh/linux-atomic.asm	2009-04-10 01:23:07.000000000 +0200
    18 +++ gcc-4.4.4/gcc/config/sh/linux-atomic.asm	2010-05-16 19:14:19.000000000 +0200
    19 @@ -136,3 +136,6 @@
    20  ATOMIC_FETCH_AND_COMBOP(nand,and,not,4,l,mov)
    21  
    22  #endif /* ! __SH5__ */
    23 +
    24 +.section .note.GNU-stack,"",%progbits
    25 +.previous