Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Sep 2011 16:06:28 +0400
From:      Sergey Kandaurov <pluknet@freebsd.org>
To:        Konstantin Belousov <kib@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r225582 - head/libexec/rtld-elf
Message-ID:  <CAE-mSOJjO%2BgoLEX-eL9qrcStC-Whi-F=JF0-1zFtDqMRCmLLEQ@mail.gmail.com>
In-Reply-To: <201109151150.p8FBo99f072220@svn.freebsd.org>
References:  <201109151150.p8FBo99f072220@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15 September 2011 15:50, Konstantin Belousov <kib@freebsd.org> wrote:
> Author: kib
> Date: Thu Sep 15 11:50:09 2011
> New Revision: 225582
> URL: http://svn.freebsd.org/changeset/base/225582
>
> Log:
> =A0Use the proper dynamic tls block to calculate the tls variable address
> =A0in case tls data generation was updated.
>
> =A0PR: =A0 misc/160721
> =A0Submitted by: "Thinker K.F. Li" <thinker codemud net>
> =A0Tested by: =A0 =A0flo
> =A0Approved by: =A0re (bz)
> =A0MFC after: =A0 =A01 week
>
> Modified:
> =A0head/libexec/rtld-elf/rtld.c
>
> Modified: head/libexec/rtld-elf/rtld.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/libexec/rtld-elf/rtld.c =A0 =A0 =A0 =A0Thu Sep 15 11:17:07 2011 =
=A0 =A0 =A0 =A0(r225581)
> +++ head/libexec/rtld-elf/rtld.c =A0 =A0 =A0 =A0Thu Sep 15 11:50:09 2011 =
=A0 =A0 =A0 =A0(r225582)
> @@ -3370,7 +3370,7 @@ tls_get_addr_common(Elf_Addr** dtvp, int
> =A0 =A0 =A0 =A0newdtv[1] =3D tls_max_index;
> =A0 =A0 =A0 =A0free(dtv);
> =A0 =A0 =A0 =A0lock_release(rtld_bind_lock, &lockstate);
> - =A0 =A0 =A0 *dtvp =3D newdtv;
> + =A0 =A0 =A0 dtv =3D *dtvp =3D newdtv;
> =A0 =A0 }
>
> =A0 =A0 /* Dynamically allocate module TLS if necessary */
>

Thanks,

this patch fixes immediate /usr/bin/top SIGSEGV used with nss-pam-ldap auth
when built with -O2. Tested and patched on 8.1-R.

--=20
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSOJjO%2BgoLEX-eL9qrcStC-Whi-F=JF0-1zFtDqMRCmLLEQ>