Sun Jul 30 09:19:19 2023 UTC ()
ld.elf_so: Sort SRCS.

No functional change intended.


(riastradh)
diff -r1.145 -r1.146 src/libexec/ld.elf_so/Makefile

cvs diff -r1.145 -r1.146 src/libexec/ld.elf_so/Makefile (switch to unified diff)

--- src/libexec/ld.elf_so/Makefile 2023/07/30 09:19:10 1.145
+++ src/libexec/ld.elf_so/Makefile 2023/07/30 09:19:19 1.146
@@ -1,198 +1,198 @@ @@ -1,198 +1,198 @@
1# $NetBSD: Makefile,v 1.145 2023/07/30 09:19:10 riastradh Exp $ 1# $NetBSD: Makefile,v 1.146 2023/07/30 09:19:19 riastradh Exp $
2# 2#
3# NOTE: when changing ld.so, ensure that ldd still compiles. 3# NOTE: when changing ld.so, ensure that ldd still compiles.
4# 4#
5NOLIBCSANITIZER=# defined 5NOLIBCSANITIZER=# defined
6NOSANITIZER= # defined 6NOSANITIZER= # defined
7WARNS?=4 7WARNS?=4
8 8
9LDELFSO_MACHINE_ARCH?= ${MACHINE_ARCH} 9LDELFSO_MACHINE_ARCH?= ${MACHINE_ARCH}
10 10
11# This needs to be before bsd.init.mk 11# This needs to be before bsd.init.mk
12.if defined(BSD_MK_COMPAT_FILE) 12.if defined(BSD_MK_COMPAT_FILE)
13.include <${BSD_MK_COMPAT_FILE}> 13.include <${BSD_MK_COMPAT_FILE}>
14.endif 14.endif
15 15
16# We are not building this with PIE 16# We are not building this with PIE
17PIE_CFLAGS= 17PIE_CFLAGS=
18PIE_LDFLAGS= 18PIE_LDFLAGS=
19.include <bsd.init.mk> # for MKPIC definition 19.include <bsd.init.mk> # for MKPIC definition
20.include <bsd.shlib.mk> # for SHLINKINSTALLDIR definition 20.include <bsd.shlib.mk> # for SHLINKINSTALLDIR definition
21 21
22.if defined(LDELFSO_MACHINE_CPU) && !empty(LDELFSO_MACHINE_CPU) && \ 22.if defined(LDELFSO_MACHINE_CPU) && !empty(LDELFSO_MACHINE_CPU) && \
23 exists(${.CURDIR}/arch/${LDELFSO_MACHINE_CPU}) 23 exists(${.CURDIR}/arch/${LDELFSO_MACHINE_CPU})
24ARCHSUBDIR= ${LDELFSO_MACHINE_CPU} 24ARCHSUBDIR= ${LDELFSO_MACHINE_CPU}
25.else 25.else
26ARCHSUBDIR= ${MACHINE_CPU} 26ARCHSUBDIR= ${MACHINE_CPU}
27.endif 27.endif
28M= ${.CURDIR}/arch/${ARCHSUBDIR} 28M= ${.CURDIR}/arch/${ARCHSUBDIR}
29 29
30.if ((${MACHINE_CPU} == "aarch64") || \ 30.if ((${MACHINE_CPU} == "aarch64") || \
31 (${LDELFSO_MACHINE_ARCH} == "alpha") || \ 31 (${LDELFSO_MACHINE_ARCH} == "alpha") || \
32 (${MACHINE_CPU} == "arm") || \ 32 (${MACHINE_CPU} == "arm") || \
33 (${LDELFSO_MACHINE_ARCH} == "coldfire") || \ 33 (${LDELFSO_MACHINE_ARCH} == "coldfire") || \
34 (${LDELFSO_MACHINE_ARCH} == "hppa") || \ 34 (${LDELFSO_MACHINE_ARCH} == "hppa") || \
35 (${LDELFSO_MACHINE_ARCH} == "i386") || \ 35 (${LDELFSO_MACHINE_ARCH} == "i386") || \
36 (${LDELFSO_MACHINE_ARCH} == "m68k") || \ 36 (${LDELFSO_MACHINE_ARCH} == "m68k") || \
37 (${MACHINE_CPU} == "mips") || \ 37 (${MACHINE_CPU} == "mips") || \
38 (${MACHINE_CPU} == "or1k") || \ 38 (${MACHINE_CPU} == "or1k") || \
39 (${MACHINE_CPU} == "powerpc") || \ 39 (${MACHINE_CPU} == "powerpc") || \
40 (${MACHINE_CPU} == "riscv") || \ 40 (${MACHINE_CPU} == "riscv") || \
41 (${MACHINE_CPU} == "sh3") || \ 41 (${MACHINE_CPU} == "sh3") || \
42 (${LDELFSO_MACHINE_ARCH} == "sparc") || \ 42 (${LDELFSO_MACHINE_ARCH} == "sparc") || \
43 (${LDELFSO_MACHINE_ARCH} == "sparc64") || \ 43 (${LDELFSO_MACHINE_ARCH} == "sparc64") || \
44 (${LDELFSO_MACHINE_ARCH} == "x86_64") || \ 44 (${LDELFSO_MACHINE_ARCH} == "x86_64") || \
45 (${LDELFSO_MACHINE_ARCH} == "vax")) && \ 45 (${LDELFSO_MACHINE_ARCH} == "vax")) && \
46 ${MKPIC} != "no" 46 ${MKPIC} != "no"
47 47
48LDFLAGS+= ${${ACTIVE_CC} == "clang":? -Wl,-Bsymbolic : -symbolic} \ 48LDFLAGS+= ${${ACTIVE_CC} == "clang":? -Wl,-Bsymbolic : -symbolic} \
49 -shared -nostartfiles -nodefaultlibs 49 -shared -nostartfiles -nodefaultlibs
50LDFLAGS+= -Wl,-static 50LDFLAGS+= -Wl,-static
51LDFLAGS+= -Wl,--warn-shared-textrel 51LDFLAGS+= -Wl,--warn-shared-textrel
52LDFLAGS+= -Wl,--no-undefined 52LDFLAGS+= -Wl,--no-undefined
53LDFLAGS+= -Wl,-Map=${.TARGET}.map 53LDFLAGS+= -Wl,-Map=${.TARGET}.map
54 54
55COPTS+= -fvisibility=hidden 55COPTS+= -fvisibility=hidden
56 56
57# Adds SRCS, CPPFLAGS, LDFLAGS, etc. Must go first so MD startup source 57# Adds SRCS, CPPFLAGS, LDFLAGS, etc. Must go first so MD startup source
58# is first. 58# is first.
59.if exists($M/Makefile.inc) 59.if exists($M/Makefile.inc)
60.include "$M/Makefile.inc" 60.include "$M/Makefile.inc"
61.endif 61.endif
62 62
63# Support compat ld.elf_so. 63# Support compat ld.elf_so.
64.if defined(MLIBDIR) 64.if defined(MLIBDIR)
65PROG= ld.elf_so-${MLIBDIR} 65PROG= ld.elf_so-${MLIBDIR}
66CPPFLAGS+= -DRTLD_ARCH_SUBDIR=\"${MLIBDIR}\" 66CPPFLAGS+= -DRTLD_ARCH_SUBDIR=\"${MLIBDIR}\"
67. if ${MLIBDIR} == "o32" 67. if ${MLIBDIR} == "o32"
68. endif 68. endif
69.else 69.else
70PROG= ld.elf_so 70PROG= ld.elf_so
71.endif 71.endif
72 72
73CLIBOBJ!= cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR} 73CLIBOBJ!= cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR}
74 74
75SRCS+= rtld.c 75SRCS+= compat.c
76SRCS+= reloc.c 
77SRCS+= symbol.c 
78SRCS+= xmalloc.c 
79SRCS+= xprintf.c 
80SRCS+= debug.c 76SRCS+= debug.c
81SRCS+= map_object.c 77SRCS+= diagassert.c
82SRCS+= load.c 78SRCS+= expand.c
83SRCS+= search.c 
84SRCS+= headers.c 79SRCS+= headers.c
 80SRCS+= load.c
 81SRCS+= map_object.c
85SRCS+= paths.c 82SRCS+= paths.c
86SRCS+= expand.c 83SRCS+= reloc.c
87SRCS+= tls.c 84SRCS+= rtld.c
 85SRCS+= search.c
 86SRCS+= symbol.c
88SRCS+= symver.c 87SRCS+= symver.c
89SRCS+= diagassert.c 88SRCS+= tls.c
90SRCS+= compat.c 89SRCS+= xmalloc.c
 90SRCS+= xprintf.c
91 91
92.if ${USE_FORT} == "yes" 92.if ${USE_FORT} == "yes"
93.PATH.c: ${NETBSDSRCDIR}/lib/libc/misc 93.PATH.c: ${NETBSDSRCDIR}/lib/libc/misc
94SRCS+= stack_protector.c 94SRCS+= stack_protector.c
95.endif 95.endif
96 96
97.PATH.c: ${NETBSDSRCDIR}/lib/libc/stdlib 97.PATH.c: ${NETBSDSRCDIR}/lib/libc/stdlib
98SRCS+= exit.c 98SRCS+= exit.c
99 99
100errlist_concat.h: ${NETBSDSRCDIR}/lib/libc/gen/errlist.awk ${NETBSDSRCDIR}/sys/sys/errno.h 100errlist_concat.h: ${NETBSDSRCDIR}/lib/libc/gen/errlist.awk ${NETBSDSRCDIR}/sys/sys/errno.h
101 ${TOOL_AWK} -v concat=1 -f ${.ALLSRC} > ${.TARGET}.tmp && \ 101 ${TOOL_AWK} -v concat=1 -f ${.ALLSRC} > ${.TARGET}.tmp && \
102 mv -f ${.TARGET}.tmp ${.TARGET} 102 mv -f ${.TARGET}.tmp ${.TARGET}
103 103
104xprintf.c: errlist_concat.h 104xprintf.c: errlist_concat.h
105 105
106CLEANFILES+= errlist_concat.h ${PROG}.map 106CLEANFILES+= errlist_concat.h ${PROG}.map
107 107
108BINDIR= ${SHLINKINSTALLDIR} 108BINDIR= ${SHLINKINSTALLDIR}
109 109
110CPPFLAGS.tls.c+= -std=gnu11 110CPPFLAGS.tls.c+= -std=gnu11
111CPPFLAGS+= -DLIBDIR=\"${LIBDIR}\" -D_PATH_RTLD=\"${BINDIR}/${PROG}\" 111CPPFLAGS+= -DLIBDIR=\"${LIBDIR}\" -D_PATH_RTLD=\"${BINDIR}/${PROG}\"
112CPPFLAGS+= -I${.CURDIR} -I. -D_KERNTYPES 112CPPFLAGS+= -I${.CURDIR} -I. -D_KERNTYPES
113CPPFLAGS+= -DRTLD_LOADER 113CPPFLAGS+= -DRTLD_LOADER
114CPPFLAGS+= -DGNU_RELRO 114CPPFLAGS+= -DGNU_RELRO
115CPPFLAGS+= -D_RTLD_SOURCE 115CPPFLAGS+= -D_RTLD_SOURCE
116CPPFLAGS+= -DHAVE_INITFINI_ARRAY 116CPPFLAGS+= -DHAVE_INITFINI_ARRAY
117#CPPFLAGS+= -DDEBUG 117#CPPFLAGS+= -DDEBUG
118#CPPFLAGS+= -DRTLD_DEBUG 118#CPPFLAGS+= -DRTLD_DEBUG
119#CPPFLAGS+= -DRTLD_DEBUG_RELOC 119#CPPFLAGS+= -DRTLD_DEBUG_RELOC
120.if !empty(LDELFSO_MACHINE_ARCH:Mearm*) 120.if !empty(LDELFSO_MACHINE_ARCH:Mearm*)
121CPPFLAGS+= -I${NETBSDSRCDIR}/lib/libexecinfo 121CPPFLAGS+= -I${NETBSDSRCDIR}/lib/libexecinfo
122.endif 122.endif
123#DBG= -g 123#DBG= -g
124COPTS+= -O3 124COPTS+= -O3
125 125
126.if ${MACHINE_CPU} != "m68k" && ${MACHINE_CPU} != "sh3" && ${MACHINE_ARCH} != "vax" 126.if ${MACHINE_CPU} != "m68k" && ${MACHINE_CPU} != "sh3" && ${MACHINE_ARCH} != "vax"
127COPTS+= -fomit-frame-pointer 127COPTS+= -fomit-frame-pointer
128.endif 128.endif
129 129
130.if ${LDELFSO_MACHINE_ARCH} == "i386" || ${LDELFSO_MACHINE_ARCH} == "x86_64" 130.if ${LDELFSO_MACHINE_ARCH} == "i386" || ${LDELFSO_MACHINE_ARCH} == "x86_64"
131COPTS+= -mno-3dnow -mno-mmx -mno-sse -mno-sse2 -mno-sse3 131COPTS+= -mno-3dnow -mno-mmx -mno-sse -mno-sse2 -mno-sse3
132.endif 132.endif
133 133
134 134
135.if ${SHLIBDIR} != ${LIBDIR} 135.if ${SHLIBDIR} != ${LIBDIR}
136CPPFLAGS+= -DRTLD_DEFAULT_LIBRARY_PATH=\"${SHLIBDIR}:${LIBDIR}\" 136CPPFLAGS+= -DRTLD_DEFAULT_LIBRARY_PATH=\"${SHLIBDIR}:${LIBDIR}\"
137.endif 137.endif
138 138
139# rtld.c and symbol.c use alloca, so disable SSP warnings. 139# rtld.c and symbol.c use alloca, so disable SSP warnings.
140COPTS.rtld.c+= -Wno-stack-protector 140COPTS.rtld.c+= -Wno-stack-protector
141COPTS.symbol.c+=-Wno-stack-protector 141COPTS.symbol.c+=-Wno-stack-protector
142 142
143.if ${MACHINE_CPU} == "vax" 143.if ${MACHINE_CPU} == "vax"
144COPTS.rtld.c+= -O0 144COPTS.rtld.c+= -O0
145.endif 145.endif
146 146
147LDADD+= -Wl,--version-script=${.CURDIR}/symbols.map 147LDADD+= -Wl,--version-script=${.CURDIR}/symbols.map
148LDADD+= -L${CLIBOBJ} -L${DESTDIR}${LIBDIR} 148LDADD+= -L${CLIBOBJ} -L${DESTDIR}${LIBDIR}
149.if ${MKPICLIB} != "no" 149.if ${MKPICLIB} != "no"
150LDADD+= -lc_pic 150LDADD+= -lc_pic
151.if ${MKPICINSTALL} != "no" 151.if ${MKPICINSTALL} != "no"
152DPADD+= ${LIBC_PIC} 152DPADD+= ${LIBC_PIC}
153.endif 153.endif
154DPADD+= ${CLIBOBJ}/libc_pic.a 154DPADD+= ${CLIBOBJ}/libc_pic.a
155.else 155.else
156LDADD+= -lc 156LDADD+= -lc
157DPADD+= ${CLIBOBJ}/libc.a 157DPADD+= ${CLIBOBJ}/libc.a
158.endif 158.endif
159 159
160.if ${MACHINE_CPU} == "hppa" || ${MACHINE_CPU} == "sh3" 160.if ${MACHINE_CPU} == "hppa" || ${MACHINE_CPU} == "sh3"
161# for $$divU, $$remU etc. (millicode) 161# for $$divU, $$remU etc. (millicode)
162LDADD+= -lgcc 162LDADD+= -lgcc
163DPADD+= ${LIBGCC} 163DPADD+= ${LIBGCC}
164.endif 164.endif
165 165
166STRIPFLAG= 166STRIPFLAG=
167 167
168.PATH: $M 168.PATH: $M
169 169
170 170
171${PROG}: ${OBJS} ${DPADD} 171${PROG}: ${OBJS} ${DPADD}
172 ${_MKMSG_LINK} ${PROG} 172 ${_MKMSG_LINK} ${PROG}
173 ${CC} ${LDFLAGS} -o ${PROG} ${OBJS} ${LDADD} 173 ${CC} ${LDFLAGS} -o ${PROG} ${OBJS} ${LDADD}
174.if ${MKDEBUG} != "no" 174.if ${MKDEBUG} != "no"
175 ( ${OBJCOPY} --only-keep-debug ${.TARGET} ${.TARGET}.debug \ 175 ( ${OBJCOPY} --only-keep-debug ${.TARGET} ${.TARGET}.debug \
176 && ${OBJCOPY} --strip-debug -p -R .gnu_debuglink \ 176 && ${OBJCOPY} --strip-debug -p -R .gnu_debuglink \
177 --add-gnu-debuglink=${.TARGET}.debug ${.TARGET} \ 177 --add-gnu-debuglink=${.TARGET}.debug ${.TARGET} \
178 ) || (rm -f ${.TARGET}.debug; false) 178 ) || (rm -f ${.TARGET}.debug; false)
179 179
180_PROGDEBUG.${PROG} := ${PROG}.debug 180_PROGDEBUG.${PROG} := ${PROG}.debug
181.endif 181.endif
182 182
183 183
184.if ${SHLINKINSTALLDIR} != "/usr/libexec" 184.if ${SHLINKINSTALLDIR} != "/usr/libexec"
185SYMLINKS+= ${SHLINKINSTALLDIR}/${PROG} /usr/libexec/${PROG} 185SYMLINKS+= ${SHLINKINSTALLDIR}/${PROG} /usr/libexec/${PROG}
186.if ${MKDEBUG} != "no" 186.if ${MKDEBUG} != "no"
187SYMLINKS+= ${DEBUGDIR}${BINDIR}/${PROG}.debug \ 187SYMLINKS+= ${DEBUGDIR}${BINDIR}/${PROG}.debug \
188 ${DEBUGDIR}/usr${BINDIR}/${PROG}.debug 188 ${DEBUGDIR}/usr${BINDIR}/${PROG}.debug
189.endif 189.endif
190.endif 190.endif
191 191
192.include <bsd.prog.mk> 192.include <bsd.prog.mk>
193.else 193.else
194 194
195MAN= ld.elf_so.1 195MAN= ld.elf_so.1
196 196
197.include <bsd.man.mk> 197.include <bsd.man.mk>
198.endif 198.endif