Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Aug 2016 11:34:42 -0700
From:      Ngie Cooper <yaneurabeya@gmail.com>
To:        Konstantin Belousov <kib@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r304011 - head/libexec/rtld-elf
Message-ID:  <35B0B56E-A536-4A07-B397-7E5ABAB4CB34@gmail.com>
In-Reply-To: <201608121829.u7CITCIu059447@repo.freebsd.org>
References:  <201608121829.u7CITCIu059447@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Aug 12, 2016, at 11:29, Konstantin Belousov <kib@FreeBSD.org> wrote:
>=20
> Author: kib
> Date: Fri Aug 12 18:29:11 2016
> New Revision: 304011
> URL: https://svnweb.freebsd.org/changeset/base/304011
>=20
> Log:
>  Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf.

Why?

>  Sponsored by:    The FreeBSD Foundation
>  MFC after:    1 week
>=20
> Modified:
>  head/libexec/rtld-elf/rtld.c
>=20
> 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    Fri Aug 12 18:07:44 2016    (r304010)
> +++ head/libexec/rtld-elf/rtld.c    Fri Aug 12 18:29:11 2016    (r304011)
> @@ -2164,8 +2164,7 @@ load_needed_objects(Obj_Entry *first, in
> {
>     Obj_Entry *obj;
>=20
> -    obj =3D first;
> -    TAILQ_FOREACH_FROM(obj, &obj_list, next) {
> +    for (obj =3D first; obj !=3D NULL; obj =3D TAILQ_NEXT(obj, next)) {
>    if (obj->marker)
>        continue;
>    if (process_needed(obj, obj->needed, flags) =3D=3D -1)
> @@ -2769,9 +2768,8 @@ relocate_objects(Obj_Entry *first, bool=20
>    Obj_Entry *obj;
>    int error;
>=20
> -    error =3D 0;
> -    obj =3D first;
> -    TAILQ_FOREACH_FROM(obj, &obj_list, next) {
> +    for (error =3D 0, obj =3D first;  obj !=3D NULL;
> +        obj =3D TAILQ_NEXT(obj, next)) {
>        if (obj->marker)
>            continue;
>        error =3D relocate_object(obj, bind_now, rtldobj, flags,
> @@ -2811,8 +2809,7 @@ resolve_objects_ifunc(Obj_Entry *first,=20
> {
>    Obj_Entry *obj;
>=20
> -    obj =3D first;
> -    TAILQ_FOREACH_FROM(obj, &obj_list, next) {
> +    for (obj =3D first; obj !=3D NULL; obj =3D TAILQ_NEXT(obj, next)) {
>        if (obj->marker)
>            continue;
>        if (resolve_object_ifunc(obj, bind_now, flags, lockstate) =3D=3D -1=
)
> @@ -4316,7 +4313,7 @@ trace_loaded_objects(Obj_Entry *obj)
>=20
>     list_containers =3D getenv(_LD("TRACE_LOADED_OBJECTS_ALL"));
>=20
> -    TAILQ_FOREACH_FROM(obj, &obj_list, next) {
> +    for (; obj !=3D NULL; obj =3D TAILQ_NEXT(obj, next)) {
>    Needed_Entry        *needed;
>    char            *name, *path;
>    bool            is_lib;
> @@ -4661,8 +4658,7 @@ allocate_tls(Obj_Entry *objs, void *oldt
>     */
>    free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr));
>     } else {
> -    obj =3D objs;
> -    TAILQ_FOREACH_FROM(obj, &obj_list, next) {
> +    for (obj =3D objs; obj !=3D NULL; obj =3D TAILQ_NEXT(obj, next)) {
>        if (obj->marker || obj->tlsoffset =3D=3D 0)
>            continue;
>        addr =3D segbase - obj->tlsoffset;
>=20



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35B0B56E-A536-4A07-B397-7E5ABAB4CB34>