summaryrefslogtreecommitdiff
path: root/elf-Makefile-Reflow-and-sort-most-variable-assignmen.patch
diff options
context:
space:
mode:
Diffstat (limited to 'elf-Makefile-Reflow-and-sort-most-variable-assignmen.patch')
-rw-r--r--elf-Makefile-Reflow-and-sort-most-variable-assignmen.patch544
1 files changed, 544 insertions, 0 deletions
diff --git a/elf-Makefile-Reflow-and-sort-most-variable-assignmen.patch b/elf-Makefile-Reflow-and-sort-most-variable-assignmen.patch
new file mode 100644
index 0000000..1d1f790
--- /dev/null
+++ b/elf-Makefile-Reflow-and-sort-most-variable-assignmen.patch
@@ -0,0 +1,544 @@
+From de6cdd68753ed126a3ecf105d98e8c0ee8cb6ec4 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Fri, 14 Jan 2022 20:16:05 +0100
+Subject: [PATCH] elf/Makefile: Reflow and sort most variable assignments
+
+Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
+(cherry picked from commit 7de01e60c200c431d3469deb784da8fd4508fc15)
+---
+ elf/Makefile | 386 +++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 294 insertions(+), 92 deletions(-)
+
+diff --git a/elf/Makefile b/elf/Makefile
+index 5859d47fc7..f930e04e27 100644
+--- a/elf/Makefile
++++ b/elf/Makefile
+@@ -21,21 +21,62 @@ subdir := elf
+
+ include ../Makeconfig
+
+-headers = elf.h bits/elfclass.h link.h bits/link.h
+-routines = $(all-dl-routines) dl-support dl-iteratephdr \
+- dl-addr dl-addr-obj enbl-secure dl-profstub \
+- dl-origin dl-libc dl-sym dl-sysdep dl-error \
+- dl-reloc-static-pie libc_early_init rtld_static_init
++headers = \
++ bits/elfclass.h \
++ bits/link.h \
++ elf.h \
++ link.h \
++ # headers
++
++routines = \
++ $(all-dl-routines) \
++ dl-addr \
++ dl-addr-obj \
++ dl-error \
++ dl-iteratephdr \
++ dl-libc \
++ dl-origin \
++ dl-profstub \
++ dl-reloc-static-pie \
++ dl-support \
++ dl-sym \
++ dl-sysdep \
++ enbl-secure \
++ libc_early_init \
++ rtld_static_init \
++ # routines
+
+ # The core dynamic linking functions are in libc for the static and
+ # profiled libraries.
+-dl-routines = $(addprefix dl-,load lookup object reloc deps \
+- runtime init fini debug misc \
+- version profile tls origin scope \
+- execstack open close trampoline \
+- exception sort-maps lookup-direct \
+- call-libc-early-init write \
+- thread_gscope_wait tls_init_tp)
++dl-routines = \
++ dl-call-libc-early-init \
++ dl-close \
++ dl-debug \
++ dl-deps \
++ dl-exception \
++ dl-execstack \
++ dl-fini \
++ dl-init \
++ dl-load \
++ dl-lookup \
++ dl-lookup-direct \
++ dl-misc \
++ dl-object \
++ dl-open \
++ dl-origin \
++ dl-profile \
++ dl-reloc \
++ dl-runtime \
++ dl-scope \
++ dl-sort-maps \
++ dl-thread_gscope_wait \
++ dl-tls \
++ dl-tls_init_tp \
++ dl-trampoline \
++ dl-version \
++ dl-write \
++ # dl-routines
++
+ ifeq (yes,$(use-ldconfig))
+ dl-routines += dl-cache
+ endif
+@@ -58,16 +99,38 @@ endif
+
+ all-dl-routines = $(dl-routines) $(sysdep-dl-routines)
+ # But they are absent from the shared libc, because that code is in ld.so.
+-elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin \
+- dl-sysdep dl-exception dl-reloc-static-pie \
+- thread_gscope_wait rtld_static_init
++elide-routines.os = \
++ $(all-dl-routines) \
++ dl-exception \
++ dl-origin \
++ dl-reloc-static-pie \
++ dl-support \
++ dl-sysdep \
++ enbl-secure \
++ rtld_static_init \
++ thread_gscope_wait \
++ # elide-routines.os
+
+ # ld.so uses those routines, plus some special stuff for being the program
+ # interpreter and operating independent of libc.
+-rtld-routines = rtld $(all-dl-routines) dl-sysdep dl-environ dl-minimal \
+- dl-error-minimal dl-conflict dl-hwcaps dl-hwcaps_split dl-hwcaps-subdirs \
+- dl-usage dl-diagnostics dl-diagnostics-kernel dl-diagnostics-cpu \
+- dl-mutex
++rtld-routines = \
++ $(all-dl-routines) \
++ dl-conflict \
++ dl-diagnostics \
++ dl-diagnostics-cpu \
++ dl-diagnostics-kernel \
++ dl-environ \
++ dl-error-minimal \
++ dl-hwcaps \
++ dl-hwcaps-subdirs \
++ dl-hwcaps_split \
++ dl-minimal \
++ dl-mutex \
++ dl-sysdep \
++ dl-usage \
++ rtld \
++ # rtld-routines
++
+ all-rtld-routines = $(rtld-routines) $(sysdep-rtld-routines)
+
+ CFLAGS-dl-runtime.c += -fexceptions -fasynchronous-unwind-tables
+@@ -102,8 +165,16 @@ ld-map = $(common-objpfx)ld.map
+ endif
+
+ ifeq (yes,$(build-shared))
+-extra-objs = $(all-rtld-routines:%=%.os) sofini.os interp.os
+-generated += librtld.os dl-allobjs.os ld.so ldd
++extra-objs = \
++ $(all-rtld-routines:%=%.os) \
++ sofini.os \
++ interp.os \
++ # extra-objs
++generated += \
++ dl-allobjs.os \
++ ld.so ldd \
++ librtld.os \
++ # generated
+ install-others = $(inst_rtlddir)/$(rtld-installed-name)
+ install-bin-script = ldd
+ endif
+@@ -121,8 +192,15 @@ others-static += ldconfig
+ others += ldconfig
+ install-rootsbin += ldconfig
+
+-ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon static-stubs \
+- stringtable
++ldconfig-modules := \
++ cache \
++ chroot_canon \
++ readlib \
++ static-stubs \
++ stringtable \
++ xmalloc \
++ xstrdup \
++ # ldconfig-modules
+ extra-objs += $(ldconfig-modules:=.o)
+ others-extras = $(ldconfig-modules)
+ endif
+@@ -156,23 +234,35 @@ $(inst_auditdir)/sotruss-lib.so: $(objpfx)sotruss-lib.so $(+force)
+ $(do-install-program)
+ endif
+
+-tests-static-normal := tst-array1-static tst-array5-static \
+- tst-dl-iter-static \
+- tst-tlsalign-static tst-tlsalign-extern-static \
+- tst-linkall-static tst-env-setuid tst-env-setuid-tunables \
+- tst-single_threaded-static tst-single_threaded-pthread-static \
+- tst-dst-static tst-getauxval-static
+-
+-tests-static-internal := tst-tls1-static \
+- tst-ptrguard1-static tst-stackguard1-static \
+- tst-tls1-static-non-pie
++tests-static-normal := \
++ tst-array1-static \
++ tst-array5-static \
++ tst-dl-iter-static \
++ tst-dst-static \
++ tst-env-setuid \
++ tst-env-setuid-tunables \
++ tst-getauxval-static \
++ tst-linkall-static \
++ tst-single_threaded-pthread-static \
++ tst-single_threaded-static \
++ tst-tlsalign-extern-static \
++ tst-tlsalign-static \
++ # tests-static-normal
++
++tests-static-internal := \
++ tst-ptrguard1-static \
++ tst-stackguard1-static \
++ tst-tls1-static \
++ tst-tls1-static-non-pie \
++ # tests-static-internal
+
+ CRT-tst-tls1-static-non-pie := $(csu-objpfx)crt1.o
+ tst-tls1-static-non-pie-no-pie = yes
+
+ tests-container := \
+- tst-ldconfig-bad-aux-cache \
+- tst-ldconfig-ld_so_conf-update
++ tst-ldconfig-bad-aux-cache \
++ tst-ldconfig-ld_so_conf-update \
++ # tests-container
+
+ ifeq (no,$(build-hardcoded-path-in-tests))
+ # This is an ld.so.cache test, and RPATH/RUNPATH in the executable
+@@ -180,14 +271,31 @@ ifeq (no,$(build-hardcoded-path-in-tests))
+ tests-container += tst-glibc-hwcaps-prepend-cache
+ endif
+
+-tests := tst-tls9 tst-leaks1 \
+- tst-array1 tst-array2 tst-array3 tst-array4 tst-array5 \
+- tst-auxv tst-stringtable
+-tests-internal := tst-tls1 $(tests-static-internal)
++tests := \
++ tst-array1 \
++ tst-array2 \
++ tst-array3 \
++ tst-array4 \
++ tst-array5 \
++ tst-auxv \
++ tst-leaks1 \
++ tst-stringtable \
++ tst-tls9 \
++ # tests
++
++tests-internal := \
++ $(tests-static-internal) \
++ tst-tls1 \
++ # tests-internal
++
+ tests-static := $(tests-static-normal) $(tests-static-internal)
+
+ ifeq (yes,$(build-shared))
+-tests-static += tst-tls9-static tst-single_threaded-static-dlopen
++tests-static += \
++ tst-single_threaded-static-dlopen \
++ tst-tls9-static \
++ # tests-static
++
+ static-dlopen-environment = \
+ LD_LIBRARY_PATH=$(ld-library-path):$(common-objpfx)dlfcn
+ tst-tls9-static-ENV = $(static-dlopen-environment)
+@@ -312,33 +421,65 @@ tests += \
+ unload6 \
+ unload7 \
+ unload8 \
+-# reldep9
++ # tests
+ tests-cxx = \
+ tst-dlopen-nodelete-reloc \
+ tst-nodelete \
+ tst-unique3 \
+ tst-unique4 \
+-# tests-cxx
++ # tests-cxx
+
+ tests += $(if $(CXX),$(tests-cxx))
+-tests-internal += loadtest unload unload2 circleload1 \
+- neededtest neededtest2 neededtest3 neededtest4 \
+- tst-tls3 tst-tls6 tst-tls7 tst-tls8 tst-dlmopen2 \
+- tst-ptrguard1 tst-stackguard1 \
+- tst-create_format1 tst-tls-surplus tst-dl-hwcaps_split
+-tests-container += tst-pldd tst-dlopen-tlsmodid-container \
+- tst-dlopen-self-container tst-preload-pthread-libc
+-test-srcs = tst-pathopt
++tests-internal += \
++ circleload1 \
++ loadtest \
++ neededtest \
++ neededtest2 \
++ neededtest3 \
++ neededtest4 \
++ tst-create_format1 \
++ tst-dl-hwcaps_split \
++ tst-dlmopen2 \
++ tst-ptrguard1 \
++ tst-stackguard1 \
++ tst-tls-surplus \
++ tst-tls3 \
++ tst-tls6 \
++ tst-tls7 \
++ tst-tls8 \
++ unload \
++ unload2 \
++ # tests-internal
++
++tests-container += \
++ tst-dlopen-self-container \
++ tst-dlopen-tlsmodid-container \
++ tst-pldd \
++ tst-preload-pthread-libc \
++ # tests-container
++
++test-srcs = \
++ tst-pathopt \
++ # tests-srcs
++
+ selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
++
+ ifneq ($(selinux-enabled),1)
+-tests-execstack-yes = tst-execstack tst-execstack-needed tst-execstack-prog
++tests-execstack-yes = \
++ tst-execstack \
++ tst-execstack-needed \
++ tst-execstack-prog \
++ # tests-execstack-yes
+ endif
+ endif
+ tests += $(tests-execstack-$(have-z-execstack))
+ ifeq ($(run-built-tests),yes)
+-tests-special += $(objpfx)tst-leaks1-mem.out \
+- $(objpfx)noload-mem.out \
+- $(objpfx)tst-ldconfig-X.out $(objpfx)tst-rtld-help.out
++tests-special += \
++ $(objpfx)noload-mem.out \
++ $(objpfx)tst-ldconfig-X.out \
++ $(objpfx)tst-leaks1-mem.out \
++ $(objpfx)tst-rtld-help.out \
++ # tests-special
+ endif
+ tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+@@ -355,9 +496,16 @@ tst-tls-many-dynamic-modules-dep = \
+ tst-tls-many-dynamic-modules-dep-bad-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
+ tst-tls-many-dynamic-modules-dep-bad = \
+ $(foreach n,$(tst-tls-many-dynamic-modules-dep-bad-suffixes),tst-tls-manydynamic$(n)mod-dep-bad)
+-extra-test-objs += $(tlsmod17a-modules:=.os) $(tlsmod18a-modules:=.os) \
+- tst-tlsalign-vars.o
+-test-extras += tst-tlsmod17a tst-tlsmod18a tst-tlsalign-vars
++extra-test-objs += \
++ $(tlsmod17a-modules:=.os) \
++ $(tlsmod18a-modules:=.os) \
++ tst-tlsalign-vars.o \
++ # extra-test-objs
++test-extras += \
++ tst-tlsalign-vars \
++ tst-tlsmod17a \
++ tst-tlsmod18a \
++ # test-extras
+ modules-names = \
+ circlemod1 \
+ circlemod1a \
+@@ -609,17 +757,17 @@ modules-names-cxx = \
+ tst-unique3lib \
+ tst-unique3lib2 \
+ tst-unique4lib \
+-# modules-names-cxx
++ # modules-names-cxx
+
+ modules-names += \
+ $(if $(CXX),$(modules-names-cxx)) \
+ $(modules-execstack-$(have-z-execstack)) \
++ $(tlsmod17a-modules) \
++ $(tlsmod18a-modules) \
+ $(tst-tls-many-dynamic-modules) \
+ $(tst-tls-many-dynamic-modules-dep) \
+ $(tst-tls-many-dynamic-modules-dep-bad) \
+- $(tlsmod17a-modules) \
+- $(tlsmod18a-modules) \
+-# modules-names
++ # modules-names
+
+ # Most modules build with _ISOMAC defined, but those filtered out
+ # depend on internal headers.
+@@ -668,35 +816,70 @@ modules-names-nobuild := filtmod1 tst-big-note-lib tst-ro-dynamic-mod
+ tests += $(tests-static)
+
+ ifeq (yes,$(have-ifunc))
+-tests-ifuncstatic := ifuncmain1static ifuncmain1picstatic \
+- ifuncmain2static ifuncmain2picstatic \
+- ifuncmain4static ifuncmain4picstatic \
+- ifuncmain5static ifuncmain5picstatic \
+- ifuncmain7static ifuncmain7picstatic
++tests-ifuncstatic := \
++ ifuncmain1static \
++ ifuncmain1picstatic \
++ ifuncmain2static \
++ ifuncmain2picstatic \
++ ifuncmain4static \
++ ifuncmain4picstatic \
++ ifuncmain5static \
++ ifuncmain5picstatic \
++ ifuncmain7static \
++ ifuncmain7picstatic \
++ # tests-ifuncstatic
+ ifeq (yes,$(have-gcc-ifunc))
+ tests-ifuncstatic += ifuncmain9static ifuncmain9picstatic
+ endif
+ tests-static += $(tests-ifuncstatic)
+ tests-internal += $(tests-ifuncstatic)
+ ifeq (yes,$(build-shared))
+-tests += tst-ifunc-fault-lazy tst-ifunc-fault-bindnow
++tests += \
++ tst-ifunc-fault-bindnow \
++ tst-ifunc-fault-lazy \
++ # tests
+ # Note: sysdeps/x86_64/ifuncmain8.c uses ifuncmain8.
+ tests-internal += \
+- ifuncmain1 ifuncmain1pic ifuncmain1vis ifuncmain1vispic \
+- ifuncmain1staticpic \
+- ifuncmain2 ifuncmain2pic ifuncmain3 ifuncmain4 \
+- ifuncmain5 ifuncmain5pic ifuncmain5staticpic \
+- ifuncmain7 ifuncmain7pic
++ ifuncmain1 \
++ ifuncmain1pic \
++ ifuncmain1staticpic \
++ ifuncmain1vis \
++ ifuncmain1vispic \
++ ifuncmain2 \
++ ifuncmain2pic \
++ ifuncmain3 \
++ ifuncmain4 \
++ ifuncmain5 \
++ ifuncmain5pic \
++ ifuncmain5staticpic \
++ ifuncmain7 \
++ ifuncmain7pic \
++ # tests-internal
+ ifeq (yes,$(have-gcc-ifunc))
+-tests-internal += ifuncmain9 ifuncmain9pic
++tests-internal += \
++ ifuncmain9 \
++ ifuncmain9pic \
++ # tests-internal
+ endif
+-ifunc-test-modules = ifuncdep1 ifuncdep1pic ifuncdep2 ifuncdep2pic \
+- ifuncdep5 ifuncdep5pic
++ifunc-test-modules = \
++ ifuncdep1 \
++ ifuncdep1pic \
++ ifuncdep2 \
++ ifuncdep2pic \
++ ifuncdep5 \
++ ifuncdep5pic \
++ # ifunc-test-modules
+ extra-test-objs += $(ifunc-test-modules:=.o)
+ test-internal-extras += $(ifunc-test-modules)
+ ifeq (yes,$(have-fpie))
+-ifunc-pie-tests = ifuncmain1pie ifuncmain1vispie ifuncmain1staticpie \
+- ifuncmain5pie ifuncmain6pie ifuncmain7pie
++ifunc-pie-tests = \
++ ifuncmain1pie \
++ ifuncmain1staticpie \
++ ifuncmain1vispie \
++ ifuncmain5pie \
++ ifuncmain6pie \
++ ifuncmain7pie \
++ # ifunc-pie-tests
+ ifeq (yes,$(have-gcc-ifunc))
+ ifunc-pie-tests += ifuncmain9pie
+ endif
+@@ -706,30 +889,50 @@ endif
+ tests-internal += $(ifunc-pie-tests)
+ tests-pie += $(ifunc-pie-tests)
+ endif
+-modules-names += ifuncmod1 ifuncmod3 ifuncmod5 ifuncmod6
++modules-names += \
++ ifuncmod1 \
++ ifuncmod3 \
++ ifuncmod5 \
++ ifuncmod6 \
++ # module-names
+ endif
+ endif
+
+ ifeq (yes,$(build-shared))
+ ifeq ($(run-built-tests),yes)
+-tests-special += $(objpfx)tst-pathopt.out $(objpfx)tst-rtld-load-self.out \
+- $(objpfx)tst-rtld-preload.out $(objpfx)argv0test.out \
+- $(objpfx)tst-rtld-help.out
++tests-special += \
++ $(objpfx)argv0test.out \
++ $(objpfx)tst-pathopt.out \
++ $(objpfx)tst-rtld-help.out \
++ $(objpfx)tst-rtld-load-self.out \
++ $(objpfx)tst-rtld-preload.out \
++ # tests-special
+ endif
+-tests-special += $(objpfx)check-textrel.out $(objpfx)check-execstack.out \
+- $(objpfx)check-wx-segment.out \
+- $(objpfx)check-localplt.out $(objpfx)check-initfini.out
++tests-special += \
++ $(objpfx)check-execstack.out \
++ $(objpfx)check-initfini.out \
++ $(objpfx)check-localplt.out \
++ $(objpfx)check-textrel.out \
++ $(objpfx)check-wx-segment.out \
++ # tests-special
+ endif
+
+ ifeq ($(run-built-tests),yes)
+-tests-special += $(objpfx)order-cmp.out $(objpfx)tst-array1-cmp.out \
+- $(objpfx)tst-array1-static-cmp.out \
+- $(objpfx)tst-array2-cmp.out $(objpfx)tst-array3-cmp.out \
+- $(objpfx)tst-array4-cmp.out $(objpfx)tst-array5-cmp.out \
+- $(objpfx)tst-array5-static-cmp.out $(objpfx)order2-cmp.out \
+- $(objpfx)tst-initorder-cmp.out \
+- $(objpfx)tst-initorder2-cmp.out $(objpfx)tst-unused-dep.out \
+- $(objpfx)tst-unused-dep-cmp.out
++tests-special += \
++ $(objpfx)order-cmp.out \
++ $(objpfx)order2-cmp.out \
++ $(objpfx)tst-array1-cmp.out \
++ $(objpfx)tst-array1-static-cmp.out \
++ $(objpfx)tst-array2-cmp.out \
++ $(objpfx)tst-array3-cmp.out \
++ $(objpfx)tst-array4-cmp.out \
++ $(objpfx)tst-array5-cmp.out \
++ $(objpfx)tst-array5-static-cmp.out \
++ $(objpfx)tst-initorder-cmp.out \
++ $(objpfx)tst-initorder2-cmp.out \
++ $(objpfx)tst-unused-dep-cmp.out \
++ $(objpfx)tst-unused-dep.out \
++ # tests-special
+ endif
+
+ check-abi: $(objpfx)check-abi-ld.out
+@@ -811,6 +1014,7 @@ rtld-stubbed-symbols = \
+ free \
+ malloc \
+ realloc \
++ # rtld-stubbed-symbols
+
+ ifeq ($(have-ssp),yes)
+ # rtld is not built with the stack protector, so these references will
+--
+2.27.0
+