All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Elia Pinto <gitter.spiros@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v2] test-lib.sh: Use GLIBC_TUNABLES instead of MALLOC_CHECK_ on glibc >= 2.34
Date: Thu, 03 Mar 2022 14:12:14 -0800	[thread overview]
Message-ID: <xmqq8rtq8z41.fsf@gitster.g> (raw)
In-Reply-To: <20220303090640.190307-1-gitter.spiros@gmail.com> (Elia Pinto's message of "Thu, 3 Mar 2022 09:06:40 +0000")

Elia Pinto <gitter.spiros@gmail.com> writes:

> Compared to the first version, the code has been simplified, based on Junio's
> indications, introducing some redundancy in the setting of the glibc variables
> covered by the patch

I think we can even lose the separate case statement and write its
body inside if/then...fi.  The following shows the result of
shuffling the lines to do so.

>  	setup_malloc_check () {
> +		if _GLIBC_VERSION=$(getconf GNU_LIBC_VERSION 2>/dev/null) &&
> +		   _GLIBC_VERSION=${_GLIBC_VERSION#"glibc "} &&
> +		   expr 2.34 \<= "$_GLIBC_VERSION" >/dev/null

I am wondering if we want to make sure "getconf" returned a string
that begins with "glibc " before stripping that prefix.  Hopefully
such a paranoia is probably unneeded.

> +		then
> +			g=
> +			LD_PRELOAD="libc_malloc_debug.so.0"
> +			for t in \
> +				glibc.malloc.check=1 \
> +				glibc.malloc.perturb=165
> +			do
> +				g="${g##:}:$t"

Cute.  As this strips a constant, we do not need to be ##greedy
and using just a single # would suffice, right?

> +			done
> +			GLIBC_TUNABLES=$g
> +			export LD_PRELOAD GLIBC_TUNABLES
> +			;;
> +		fi
>  		MALLOC_CHECK_=3	MALLOC_PERTURB_=165
>  		export MALLOC_CHECK_ MALLOC_PERTURB_
>  	}
>  	teardown_malloc_check () {
>  		unset MALLOC_CHECK_ MALLOC_PERTURB_
> +		unset LD_PRELOAD GLIBC_TUNABLES
>  	}
>  fi

especially the teardown side unsets these unconditionally.

      reply	other threads:[~2022-03-03 22:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-03  9:06 [PATCH v2] test-lib.sh: Use GLIBC_TUNABLES instead of MALLOC_CHECK_ on glibc >= 2.34 Elia Pinto
2022-03-03 22:12 ` Junio C Hamano [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqq8rtq8z41.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=gitter.spiros@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.