patches/uClibc/0.9.30.2/290-blackfin-nommu-fork-stub.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
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 From: Jie Zhang <jie.zhang@analog.com>
     2 Date: Mon, 1 Jun 2009 07:25:42 +0000 (+0000)
     3 Subject: Backport UCLIBC_HAS_STUBS config option from the upstream. This option makes uClibc... 
     4 X-Git-Url: http://blackfin.uclinux.org/git/?p=readonly-mirrors%2Ftoolchain.git;a=commitdiff_plain;h=cacea6b12bae6f6cfd08e2bbec536e9b23b342f5
     5 
     6 Backport UCLIBC_HAS_STUBS config option from the upstream. This option makes uClibc provide fork() stub on NOMMU targets. It's default off.
     7 
     8 
     9 git-svn-id: svn://localhost/svn/toolchain/trunk@3417 2adf4935-75e9-4407-93b2-34b21a1880a4
    10 ---
    11 
    12 Index: uClibc-0.9.30.2/libc/unistd/daemon.c
    13 ===================================================================
    14 --- uClibc-0.9.30.2.orig/libc/unistd/daemon.c	2010-01-13 22:22:31.000000000 +0100
    15 +++ uClibc-0.9.30.2/libc/unistd/daemon.c	2010-04-06 22:04:11.000000000 +0200
    16 @@ -55,7 +55,6 @@
    17  libc_hidden_proto(dup2)
    18  libc_hidden_proto(setsid)
    19  libc_hidden_proto(chdir)
    20 -libc_hidden_proto(fork)
    21  
    22  #ifndef __ARCH_USE_MMU__
    23  #include <sys/syscall.h>
    24 @@ -85,6 +84,8 @@
    25  	return ret;
    26  }
    27  #else
    28 +libc_hidden_proto(fork)
    29 +
    30  static inline pid_t fork_parent(void)
    31  {
    32  	switch (fork()) {