mbox

[v2,0/2] Update Makefile fragments for DSO sorting tests

Message ID 20211108154211.167829-1-hjl.tools@gmail.com
Headers

Message

H.J. Lu Nov. 8, 2021, 3:42 p.m. UTC
  One problem of using

$(objpfx)%$o: $(objpfx)%.c $(before-compile); $$(compile-command.c)
compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags)
compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)

to build DSO sorting relocatable objects is that $< may not be the source
file with 3 "make -j 28" parallel builds on a machine with 112 cores.
When generating Makefile fragments at build time, the same file may be
generated more than once at the same time with parallel builds.

1. Update dso-ordering-test.py to put all sources for DSO sorting tests
in a single directory, dso-sort-tests-src, and compile relocatable objects
with

$(objpfx)tst-dso-ordering1-dir/tst-dso-ordering1-a.os: $(objpfx)dso-sort-tests-src/tst-dso-ordering1-a.c
	$(compile.c) $(OUTPUT_OPTION)

2. Generate Makefile fragments for DSO sorting tests at configure time
to avoid generate them in the elf directory at build time.

H.J. Lu (2):
  dso-ordering-test.py: Put all sources in one directory [BZ #28550]
  elf: Pre-generate Makefile fragment for DSO sorting tests [BZ #28550]

 configure                    | 11 +++++++++
 configure.ac                 | 12 +++++++++
 elf/Makefile                 | 22 ++++-------------
 scripts/dso-ordering-test.py | 47 ++++++++++++++++++++++++++----------
 4 files changed, 62 insertions(+), 30 deletions(-)