scripts/dso-ordering-test.py: Generate program run-time dependencies

The main program needs to depend on all shared objects, even objects
that have link-time dependencies among shared objects.  Filtering
out shared objects that already have an link-time dependencies is not
necessary here; make will do this automatically.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
(cherry picked from commit 183d997372)
This commit is contained in:
Florian Weimer 2022-09-06 07:38:10 +02:00
parent 4b95b6e8bb
commit 7a3f8c8a7a

View File

@ -707,13 +707,12 @@ def process_testcase(t):
"\t$(compile.c) $(OUTPUT_OPTION)\n")
makefile.write (rule)
not_depended_objs = find_objs_not_depended_on(test_descr)
if not_depended_objs:
depstr = ""
for dep in not_depended_objs:
depstr += (" $(objpfx)" + test_subdir + "/"
+ test_name + "-" + dep + ".so")
makefile.write("$(objpfx)%s.out:%s\n" % (base_test_name, depstr))
# Ensure that all shared objects are built before running the
# test, whether there link-time dependencies or not.
depobjs = ["$(objpfx){}/{}-{}.so".format(test_subdir, test_name, dep)
for dep in test_descr.objs]
makefile.write("$(objpfx){}.out: {}\n".format(
base_test_name, " ".join(depobjs)))
# Add main executable to test-srcs
makefile.write("test-srcs += %s/%s\n" % (test_subdir, test_name))