Hi Carlos, Thanks for the detailed review you gave the last submission[1], and apologies for taking so long for this revised patch set. I believe this one should resolve almost all of the issues you raised in your review. As the last submission, there are two parts: this one, the testing patch, and the actual algorithm changes. On the testing part here, the dso-ordering-test.py script has had some pretty significant changes since the last version[2]: 1. For each test, all objects and scripts are now created in an '$objpfx/elf/-dir' subdirectory, which should be much tidier for testcases with a large number of objects. 2. The running and comparing of tests are now all combined into a single test, executed by the running of a generated .sh shell script. In the last version, things like permutations created a large number of individual tests, which are now all combined as one. Actually another tidying change. 3. Tests can now be specified in description files; all of the tests that were in the last submission are now placed in elf/dso-sort-tests-1.def. 4. More flexible names, now [a-zA-Z0-9]+ are allowed. 5. Constructor/destructor output adjusted to "name>" and " [BZ #17645] [BZ #15311] [BZ #15310] * elf/Makefile (include_dsosort_tests): New make function. Use to process dso-sort-tests-[12].def files. (single_dsosort_test): Likewise. * dso-sort-tests-1.def: New file. * dso-sort-tests-2.def: New file. * scripts/dso-ordering-test.py: New script.