scripts/build/debug/duma.in
author Daniel Schultze <kinglag@gmail.com>
Thu Jan 16 14:55:23 2014 -0800 (2014-01-16)
changeset 3281 529a71ea091e
parent 686 dd364fef67b4
permissions -rw-r--r--
libc/glibc: adding patch for glibc-2.10.1 for make-3.82 and later

Make 3.82 broke makefiles that used implicit and explicit rules on the
same line.

This was a undocumented feature that broke many makefiles.

This patch removes the offending rule and replaces it with two separate rules.

Signed-off-by: Daniel Schultze <kinglag@gmail.com>
[yann.morin.1998@free.fr: make it a crosstool-ng patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <CAEsx0Y-PDK7g6XanR=GRWT-8efMX=qAuB4Ub7wakF5sH=tQGxA@mail.gmail.com>
Patchwork-Id: 311876
     1 #!/bin/sh
     2 # (C) 2008 Yann E. MORIN <yann.morin.1998@free.fr>
     3 # Licensed under the GPL v.2
     4 
     5 LIBDUMA_SO=
     6 
     7 case "$1" in
     8   -on)
     9     case "${LD_PRELOAD}" in
    10       *${LIBDUMA_SO}*) ;;
    11       *) LD_PRELOAD="${LIBDUMA_SO} ${LD_PRELOAD}";;
    12     esac
    13     shift
    14     ;;
    15   -off)
    16     # We use a suposedly POSIX-compliant shell: /bin/sh
    17     #  -> we can't use "${LD_PRELOAD//${LIBDUMA_SO}/}", it's not POSIX
    18     # We don't know if sed will be present on the target
    19     #  -> we can't use $(echo "${LD_PRELOAD}" |sed -r -e "s|${LIBDUMA_SO}||;")
    20     # So, iterate through LD_PRELOAD, and keep only those libs that
    21     # are not "${LIBDUMA_SO}"
    22     old_LD_PRELOAD="${LD_PRELOAD}"
    23     LD_PRELOAD=
    24     for lib in ${old_LD_PRELOAD}; do
    25       [ "${lib}" = "${LIBDUMA_SO}" ] || LD_PRELOAD="${LD_PRELOAD} ${lib}"
    26     done
    27     unset old_LD_PRELOAD
    28     shift
    29     ;;
    30   -show)
    31     case "${LD_PRELOAD}" in
    32       *${LIBDUMA_SO}*) echo "duma is enabled";;
    33       *)               echo "duma is disabled";;
    34     esac
    35     exit 0
    36     ;;
    37   "")
    38     cat <<_EOF_
    39 Usage:
    40     . $0 <-on|-off|-show>
    41         Sets, unsets or show DUMA usage.
    42     $0 <executable [arg...]>
    43         Execute 'executable' (with arguments 'args') using DUMA.
    44 _EOF_
    45     false # Don't 'exit', we could well be source'd
    46     ;;
    47   *)
    48     exec "$0" -on "$@"
    49     ;;
    50 esac
    51 
    52 export LD_PRELOAD
    53 if [ -n "$1" ]; then
    54   exec "$@"
    55 fi