public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sourceware.org
Subject: [Bug dynamic-link/17645] RFE: Improve performance of dynamic loader for deeply nested DSO dependencies.
Date: Thu, 21 Oct 2021 19:21:18 +0000	[thread overview]
Message-ID: <bug-17645-131-3J0Tz4ZHaJ@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-17645-131@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=17645

--- Comment #22 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Adhemerval Zanella
<azanella@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e6fd79f3795d46dfb583e124be49fc063bc3d58b

commit e6fd79f3795d46dfb583e124be49fc063bc3d58b
Author: Chung-Lin Tang <cltang@codesourcery.com>
Date:   Thu Oct 21 21:41:21 2021 +0800

    elf: Testing infrastructure for ld.so DSO sorting (BZ #17645)

    This is the first of a 2-part patch set that fixes slow DSO sorting
behavior in
    the dynamic loader, as reported in BZ #17645. In order to facilitate such a
    large modification to the dynamic loader, this first patch implements a
testing
    framework for validating shared object sorting behavior, to enable
comparison
    between old/new sorting algorithms, and any later enhancements.

    This testing infrastructure consists of a Python script
    scripts/dso-ordering-test.py' which takes in a description language,
consisting
    of strings that describe a set of link dependency relations between DSOs,
and
    generates testcase programs and Makefile fragments to automatically test
the
    described situation, for example:

      a->b->c->d          # four objects linked one after another

      a->[bc]->d;b->c     # a depends on b and c, which both depend on d,
                          # b depends on c (b,c linked to object a in fixed
order)

      a->b->c;{+a;%a;-a}  # a, b, c serially dependent, main program uses
                          # dlopen/dlsym/dlclose on object a

      a->b->c;{}!->[abc]  # a, b, c serially dependent; multiple tests
generated
                          # to test all permutations of a, b, c ordering linked
                          # to main program

     (Above is just a short description of what the script can do, more
      documentation is in the script comments.)

    Two files containing several new tests, elf/dso-sort-tests-[12].def are
added,
    including test scenarios for BZ #15311 and Redhat issue #1162810 [1].

    Due to the nature of dynamic loader tests, where the sorting behavior and
test
    output occurs before/after main(), generating testcases to use
    support/test-driver.c does not suffice to control meaningful timeout for
ld.so.
    Therefore a new utility program 'support/test-run-command', based on
    test-driver.c/support_test_main.c has been added. This does the same
testcase
    control, but for a program specified through a command-line rather than at
the
    source code level. This utility is used to run the dynamic loader testcases
    generated by dso-ordering-test.py.

    [1] https://bugzilla.redhat.com/show_bug.cgi?id=1162810

    Signed-off-by: Chung-Lin Tang  <cltang@codesourcery.com>
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2021-10-21 19:21 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-25 13:37 [Bug dynamic-link/17645] New: " paulo.cesar.pereira.de.andrade at gmail dot com
2014-11-25 13:52 ` [Bug dynamic-link/17645] " paulo.cesar.pereira.de.andrade at gmail dot com
2014-11-25 14:10 ` paulo.cesar.pereira.de.andrade at gmail dot com
2014-11-25 14:37 ` paulo.cesar.pereira.de.andrade at gmail dot com
2014-11-26 16:41 ` carlos at redhat dot com
2014-11-26 21:56 ` paulo.cesar.pereira.de.andrade at gmail dot com
2014-11-28 15:51 ` carlos at redhat dot com
2014-11-29 22:30 ` paulo.cesar.pereira.de.andrade at gmail dot com
2015-03-17 22:50 ` paulo.cesar.pereira.de.andrade at gmail dot com
2015-03-18 17:21 ` paulo.cesar.pereira.de.andrade at gmail dot com
2015-03-18 17:26 ` paulo.cesar.pereira.de.andrade at gmail dot com
2020-05-06 16:30 ` romain.geissler at amadeus dot com
2020-05-06 16:54 ` carlos at redhat dot com
2020-07-03 16:18 ` carlos at redhat dot com
2020-07-03 16:18 ` carlos at redhat dot com
2020-07-21 14:48 ` s at martinien dot de
2020-12-27 18:31 ` romain.geissler at amadeus dot com
2020-12-27 18:33 ` romain.geissler at amadeus dot com
2021-03-03 22:29 ` san+sourceware at smederijmerlijn dot nl
2021-04-01 21:16 ` hi-angel at yandex dot ru
2021-07-06 11:08 ` marat at slonopotamus dot org
2021-08-10 13:03 ` romain.geissler at amadeus dot com
2021-10-21 19:21 ` cvs-commit at gcc dot gnu.org [this message]
2021-10-21 19:23 ` adhemerval.zanella at linaro dot org
2023-11-24  7:24 ` fweimer at redhat dot com

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=bug-17645-131-3J0Tz4ZHaJ@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sourceware.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).