]>
Commit | Line | Data |
---|---|---|
9f0a21e6 MM |
1 | .if !defined(WITH_CTF) |
2 | WITH_CTF=1 | |
3 | .endif | |
4 | ||
5 | .include <bsd.sys.mk> | |
6 | ||
109d2c93 | 7 | SRCDIR=${.CURDIR} |
9f0a21e6 MM |
8 | INCDIR=${.CURDIR:H}/include |
9 | ||
10 | KMOD= openzfs | |
11 | ||
12 | .PATH: ${SRCDIR}/avl \ | |
cbd76b40 AJ |
13 | ${SRCDIR}/lua \ |
14 | ${SRCDIR}/nvpair \ | |
985c33b1 | 15 | ${SRCDIR}/icp/algs/blake3 \ |
4c5fec01 TR |
16 | ${SRCDIR}/icp/algs/edonr \ |
17 | ${SRCDIR}/icp/algs/sha2 \ | |
985c33b1 | 18 | ${SRCDIR}/icp/asm-aarch64/blake3 \ |
4c5fec01 TR |
19 | ${SRCDIR}/icp/asm-aarch64/sha2 \ |
20 | ${SRCDIR}/icp/asm-arm/sha2 \ | |
21 | ${SRCDIR}/icp/asm-ppc64/sha2 \ | |
985c33b1 TR |
22 | ${SRCDIR}/icp/asm-ppc64/blake3 \ |
23 | ${SRCDIR}/icp/asm-x86_64/blake3 \ | |
4c5fec01 | 24 | ${SRCDIR}/icp/asm-x86_64/sha2 \ |
9f0a21e6 MM |
25 | ${SRCDIR}/os/freebsd/spl \ |
26 | ${SRCDIR}/os/freebsd/zfs \ | |
27 | ${SRCDIR}/unicode \ | |
28 | ${SRCDIR}/zcommon \ | |
10b3c7f5 MN |
29 | ${SRCDIR}/zfs \ |
30 | ${SRCDIR}/zstd \ | |
234e9605 RE |
31 | ${SRCDIR}/zstd/lib/common \ |
32 | ${SRCDIR}/zstd/lib/compress \ | |
33 | ${SRCDIR}/zstd/lib/decompress | |
10b3c7f5 | 34 | |
9f0a21e6 | 35 | CFLAGS+= -I${INCDIR} |
67a1b037 | 36 | CFLAGS+= -I${SRCDIR}/icp/include |
9f0a21e6 MM |
37 | CFLAGS+= -I${INCDIR}/os/freebsd |
38 | CFLAGS+= -I${INCDIR}/os/freebsd/spl | |
39 | CFLAGS+= -I${INCDIR}/os/freebsd/zfs | |
10b3c7f5 | 40 | CFLAGS+= -I${SRCDIR}/zstd/include |
9f0a21e6 | 41 | CFLAGS+= -include ${INCDIR}/os/freebsd/spl/sys/ccompile.h |
cbd76b40 | 42 | CFLAGS+= -I${.CURDIR} |
9f0a21e6 | 43 | |
cbd76b40 AJ |
44 | CFLAGS+= -D__KERNEL__ -DFREEBSD_NAMECACHE -DBUILDING_ZFS -D__BSD_VISIBLE=1 \ |
45 | -DHAVE_UIO_ZEROCOPY -DWITHOUT_NETDUMP -D__KERNEL -D_SYS_CONDVAR_H_ \ | |
46 | -D_SYS_VMEM_H_ -DKDTRACE_HOOKS -DCOMPAT_FREEBSD11 | |
9f0a21e6 MM |
47 | |
48 | .if ${MACHINE_ARCH} == "amd64" | |
985c33b1 | 49 | CFLAGS+= -D__x86_64 -DHAVE_SSE2 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 \ |
cbd76b40 | 50 | -DHAVE_AVX -DHAVE_AVX2 -DHAVE_AVX512F -DHAVE_AVX512VL -DHAVE_AVX512BW |
9f0a21e6 MM |
51 | .endif |
52 | ||
53 | .if defined(WITH_DEBUG) && ${WITH_DEBUG} == "true" | |
cd44f5be MM |
54 | CFLAGS+= -DZFS_DEBUG -g |
55 | .if defined(WITH_INVARIANTS) && ${WITH_INVARIANTS} == "true" | |
56 | CFLAGS+= -DINVARIANTS -DWITNESS -DOPENSOLARIS_WITNESS | |
57 | .endif | |
58 | .if defined(WITH_O0) && ${WITH_O0} == "true" | |
59 | CFLAGS+= -O0 | |
60 | .endif | |
9f0a21e6 MM |
61 | .else |
62 | CFLAGS += -DNDEBUG | |
63 | .endif | |
64 | ||
65 | .if defined(WITH_VFS_DEBUG) && ${WITH_VFS_DEBUG} == "true" | |
66 | # kernel must also be built with this option for this to work | |
67 | CFLAGS+= -DDEBUG_VFS_LOCKS | |
68 | .endif | |
69 | ||
70 | .if defined(WITH_GCOV) && ${WITH_GCOV} == "true" | |
71 | CFLAGS+= -fprofile-arcs -ftest-coverage | |
72 | .endif | |
73 | ||
74 | DEBUG_FLAGS=-g | |
75 | ||
76 | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ | |
cbd76b40 | 77 | ${MACHINE_ARCH} == "powerpcspe" || ${MACHINE_ARCH} == "arm" |
9f0a21e6 MM |
78 | CFLAGS+= -DBITS_PER_LONG=32 |
79 | .else | |
80 | CFLAGS+= -DBITS_PER_LONG=64 | |
81 | .endif | |
82 | ||
83 | SRCS= vnode_if.h device_if.h bus_if.h | |
84 | ||
ca678bc0 | 85 | #avl |
9f0a21e6 MM |
86 | SRCS+= avl.c |
87 | ||
985c33b1 TR |
88 | #icp/algs/blake3 |
89 | SRCS+= blake3.c \ | |
90 | blake3_generic.c \ | |
4c5fec01 | 91 | blake3_impl.c |
985c33b1 TR |
92 | |
93 | #icp/asm-aarch64/blake3 | |
94 | SRCS+= b3_aarch64_sse2.S \ | |
95 | b3_aarch64_sse41.S | |
96 | ||
97 | #icp/asm-ppc64/blake3 | |
98 | SRCS+= b3_ppc64le_sse2.S \ | |
99 | b3_ppc64le_sse41.S | |
100 | ||
101 | #icp/asm-x86_64/blake3 | |
102 | SRCS+= blake3_avx2.S \ | |
103 | blake3_avx512.S \ | |
104 | blake3_sse2.S \ | |
105 | blake3_sse41.S | |
106 | ||
ca678bc0 RN |
107 | #icp/algs/edonr |
108 | SRCS+= edonr.c | |
109 | ||
4c5fec01 | 110 | #icp/algs/sha2 |
ca678bc0 RN |
111 | SRCS+= sha256_impl.c \ |
112 | sha2_generic.c \ | |
4c5fec01 TR |
113 | sha512_impl.c |
114 | ||
115 | #icp/asm-arm/sha2 | |
116 | SRCS+= sha256-armv7.S \ | |
117 | sha512-armv7.S | |
118 | ||
119 | #icp/asm-aarch64/sha2 | |
120 | SRCS+= sha256-armv8.S \ | |
121 | sha512-armv8.S | |
122 | ||
123 | #icp/asm-ppc64/sha2 | |
124 | SRCS+= sha256-p8.S \ | |
4c5fec01 | 125 | sha256-ppc.S \ |
ca678bc0 | 126 | sha512-p8.S \ |
4c5fec01 TR |
127 | sha512-ppc.S |
128 | ||
129 | #icp/asm-x86_64/sha2 | |
130 | SRCS+= sha256-x86_64.S \ | |
131 | sha512-x86_64.S | |
132 | ||
9f0a21e6 MM |
133 | #lua |
134 | SRCS+= lapi.c \ | |
135 | lauxlib.c \ | |
136 | lbaselib.c \ | |
137 | lcode.c \ | |
138 | lcompat.c \ | |
139 | lcorolib.c \ | |
140 | lctype.c \ | |
141 | ldebug.c \ | |
142 | ldo.c \ | |
143 | lfunc.c \ | |
144 | lgc.c \ | |
145 | llex.c \ | |
146 | lmem.c \ | |
147 | lobject.c \ | |
148 | lopcodes.c \ | |
149 | lparser.c \ | |
150 | lstate.c \ | |
151 | lstring.c \ | |
152 | lstrlib.c \ | |
153 | ltable.c \ | |
154 | ltablib.c \ | |
155 | ltm.c \ | |
156 | lvm.c \ | |
157 | lzio.c | |
158 | ||
159 | #nvpair | |
ca678bc0 RN |
160 | SRCS+= fnvpair.c \ |
161 | nvpair.c \ | |
162 | nvpair_alloc_fixed.c \ | |
163 | nvpair_alloc_spl.c | |
9f0a21e6 MM |
164 | |
165 | #os/freebsd/spl | |
166 | SRCS+= acl_common.c \ | |
9f0a21e6 MM |
167 | callb.c \ |
168 | list.c \ | |
169 | spl_acl.c \ | |
170 | spl_cmn_err.c \ | |
171 | spl_dtrace.c \ | |
172 | spl_kmem.c \ | |
173 | spl_kstat.c \ | |
174 | spl_misc.c \ | |
175 | spl_policy.c \ | |
e53d678d | 176 | spl_procfs_list.c \ |
9f0a21e6 MM |
177 | spl_string.c \ |
178 | spl_sunddi.c \ | |
179 | spl_sysevent.c \ | |
180 | spl_taskq.c \ | |
181 | spl_uio.c \ | |
182 | spl_vfs.c \ | |
183 | spl_vm.c \ | |
e53d678d MM |
184 | spl_zlib.c \ |
185 | spl_zone.c | |
9f0a21e6 | 186 | |
9f0a21e6 | 187 | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ |
cbd76b40 | 188 | ${MACHINE_ARCH} == "powerpcspe" || ${MACHINE_ARCH} == "arm" |
9f0a21e6 MM |
189 | SRCS+= spl_atomic.c |
190 | .endif | |
191 | ||
192 | #os/freebsd/zfs | |
fc551d7e | 193 | SRCS+= abd_os.c \ |
e53d678d | 194 | arc_os.c \ |
9f0a21e6 MM |
195 | crypto_os.c \ |
196 | dmu_os.c \ | |
9d088740 | 197 | event_os.c \ |
9f0a21e6 MM |
198 | hkdf.c \ |
199 | kmod_core.c \ | |
200 | spa_os.c \ | |
201 | sysctl_os.c \ | |
202 | vdev_file.c \ | |
9f0a21e6 | 203 | vdev_geom.c \ |
e53d678d | 204 | vdev_label_os.c \ |
9f0a21e6 MM |
205 | zfs_acl.c \ |
206 | zfs_ctldir.c \ | |
e53d678d | 207 | zfs_debug.c \ |
9f0a21e6 | 208 | zfs_dir.c \ |
ca678bc0 | 209 | zfs_file_os.c \ |
23c87167 | 210 | zfs_ioctl_compat.c \ |
9f0a21e6 | 211 | zfs_ioctl_os.c \ |
64e0fe14 | 212 | zfs_racct.c \ |
9f0a21e6 | 213 | zfs_vfsops.c \ |
e53d678d | 214 | zfs_vnops_os.c \ |
9f0a21e6 MM |
215 | zfs_znode.c \ |
216 | zio_crypt.c \ | |
217 | zvol_os.c | |
218 | ||
219 | #unicode | |
ca678bc0 RN |
220 | SRCS+= u8_textprep.c \ |
221 | uconv.c | |
9f0a21e6 MM |
222 | |
223 | #zcommon | |
ca678bc0 RN |
224 | SRCS+= cityhash.c \ |
225 | zfeature_common.c \ | |
9f0a21e6 MM |
226 | zfs_comutil.c \ |
227 | zfs_deleg.c \ | |
9f0a21e6 | 228 | zfs_fletcher_avx512.c \ |
ca678bc0 | 229 | zfs_fletcher.c \ |
9f0a21e6 MM |
230 | zfs_fletcher_intel.c \ |
231 | zfs_fletcher_sse.c \ | |
9f0a21e6 | 232 | zfs_fletcher_superscalar4.c \ |
ca678bc0 | 233 | zfs_fletcher_superscalar.c \ |
9f0a21e6 MM |
234 | zfs_namecheck.c \ |
235 | zfs_prop.c \ | |
236 | zpool_prop.c \ | |
237 | zprop_common.c | |
238 | ||
239 | #zfs | |
fc551d7e BA |
240 | SRCS+= abd.c \ |
241 | aggsum.c \ | |
9f0a21e6 | 242 | arc.c \ |
985c33b1 | 243 | blake3_zfs.c \ |
9f0a21e6 MM |
244 | blkptr.c \ |
245 | bplist.c \ | |
246 | bpobj.c \ | |
ca678bc0 RN |
247 | bptree.c \ |
248 | bqueue.c \ | |
67a1b037 | 249 | brt.c \ |
e53d678d | 250 | btree.c \ |
ca678bc0 | 251 | dataset_kstats.c \ |
9f0a21e6 MM |
252 | dbuf.c \ |
253 | dbuf_stats.c \ | |
9f0a21e6 | 254 | ddt.c \ |
59738541 | 255 | ddt_stats.c \ |
9f0a21e6 MM |
256 | ddt_zap.c \ |
257 | dmu.c \ | |
258 | dmu_diff.c \ | |
259 | dmu_object.c \ | |
260 | dmu_objset.c \ | |
261 | dmu_recv.c \ | |
262 | dmu_redact.c \ | |
263 | dmu_send.c \ | |
264 | dmu_traverse.c \ | |
265 | dmu_tx.c \ | |
266 | dmu_zfetch.c \ | |
267 | dnode.c \ | |
268 | dnode_sync.c \ | |
ca678bc0 RN |
269 | dsl_bookmark.c \ |
270 | dsl_crypt.c \ | |
9f0a21e6 MM |
271 | dsl_dataset.c \ |
272 | dsl_deadlist.c \ | |
273 | dsl_deleg.c \ | |
9f0a21e6 | 274 | dsl_destroy.c \ |
ca678bc0 | 275 | dsl_dir.c \ |
9f0a21e6 MM |
276 | dsl_pool.c \ |
277 | dsl_prop.c \ | |
278 | dsl_scan.c \ | |
279 | dsl_synctask.c \ | |
280 | dsl_userhold.c \ | |
269b5dad | 281 | edonr_zfs.c \ |
9f0a21e6 MM |
282 | fm.c \ |
283 | gzip.c \ | |
9f0a21e6 | 284 | lz4.c \ |
d6c1bbdd | 285 | lz4_zfs.c \ |
ca678bc0 | 286 | lzjb.c \ |
9f0a21e6 MM |
287 | metaslab.c \ |
288 | mmp.c \ | |
289 | multilist.c \ | |
290 | objlist.c \ | |
291 | pathname.c \ | |
292 | range_tree.c \ | |
293 | refcount.c \ | |
294 | rrwlock.c \ | |
295 | sa.c \ | |
3e254aaa | 296 | sha2_zfs.c \ |
9f0a21e6 MM |
297 | skein_zfs.c \ |
298 | spa.c \ | |
ca678bc0 RN |
299 | space_map.c \ |
300 | space_reftree.c \ | |
9f0a21e6 MM |
301 | spa_checkpoint.c \ |
302 | spa_config.c \ | |
303 | spa_errlog.c \ | |
304 | spa_history.c \ | |
305 | spa_log_spacemap.c \ | |
306 | spa_misc.c \ | |
307 | spa_stats.c \ | |
9f0a21e6 MM |
308 | txg.c \ |
309 | uberblock.c \ | |
310 | unique.c \ | |
311 | vdev.c \ | |
b2255edc BB |
312 | vdev_draid.c \ |
313 | vdev_draid_rand.c \ | |
9f0a21e6 | 314 | vdev_indirect_births.c \ |
ca678bc0 | 315 | vdev_indirect.c \ |
9f0a21e6 MM |
316 | vdev_indirect_mapping.c \ |
317 | vdev_initialize.c \ | |
318 | vdev_label.c \ | |
319 | vdev_mirror.c \ | |
320 | vdev_missing.c \ | |
321 | vdev_queue.c \ | |
322 | vdev_raidz.c \ | |
9f0a21e6 MM |
323 | vdev_raidz_math_avx2.c \ |
324 | vdev_raidz_math_avx512bw.c \ | |
325 | vdev_raidz_math_avx512f.c \ | |
ca678bc0 RN |
326 | vdev_raidz_math.c \ |
327 | vdev_raidz_math_scalar.c \ | |
9f0a21e6 MM |
328 | vdev_raidz_math_sse2.c \ |
329 | vdev_raidz_math_ssse3.c \ | |
547df816 | 330 | vdev_rebuild.c \ |
9f0a21e6 MM |
331 | vdev_removal.c \ |
332 | vdev_root.c \ | |
333 | vdev_trim.c \ | |
334 | zap.c \ | |
335 | zap_leaf.c \ | |
336 | zap_micro.c \ | |
337 | zcp.c \ | |
338 | zcp_get.c \ | |
339 | zcp_global.c \ | |
340 | zcp_iter.c \ | |
341 | zcp_set.c \ | |
342 | zcp_synctask.c \ | |
343 | zfeature.c \ | |
344 | zfs_byteswap.c \ | |
985c33b1 | 345 | zfs_chksum.c \ |
9f0a21e6 MM |
346 | zfs_fm.c \ |
347 | zfs_fuid.c \ | |
4c5fec01 | 348 | zfs_impl.c \ |
9f0a21e6 | 349 | zfs_ioctl.c \ |
e53d678d | 350 | zfs_log.c \ |
9f0a21e6 MM |
351 | zfs_onexit.c \ |
352 | zfs_quota.c \ | |
353 | zfs_ratelimit.c \ | |
e53d678d | 354 | zfs_replay.c \ |
9f0a21e6 MM |
355 | zfs_rlock.c \ |
356 | zfs_sa.c \ | |
e53d678d | 357 | zfs_vnops.c \ |
9f0a21e6 MM |
358 | zil.c \ |
359 | zio.c \ | |
360 | zio_checksum.c \ | |
361 | zio_compress.c \ | |
362 | zio_inject.c \ | |
363 | zle.c \ | |
364 | zrlock.c \ | |
365 | zthr.c \ | |
366 | zvol.c | |
367 | ||
10b3c7f5 | 368 | #zstd |
ca678bc0 RN |
369 | SRCS+= zfs_zstd.c |
370 | ||
371 | #zstd/common | |
372 | SRCS+= entropy_common.c \ | |
234e9605 | 373 | error_private.c \ |
cbd76b40 | 374 | fse_decompress.c \ |
cbd76b40 AJ |
375 | pool.c \ |
376 | xxhash.c \ | |
377 | zstd_common.c \ | |
ca678bc0 RN |
378 | |
379 | #zstd/compress | |
380 | SRCS+= fse_compress.c \ | |
381 | hist.c \ | |
382 | huf_compress.c \ | |
234e9605 RE |
383 | zstd_compress.c \ |
384 | zstd_compress_literals.c \ | |
385 | zstd_compress_sequences.c \ | |
386 | zstd_compress_superblock.c \ | |
387 | zstd_double_fast.c \ | |
388 | zstd_fast.c \ | |
389 | zstd_lazy.c \ | |
390 | zstd_ldm.c \ | |
cbd76b40 | 391 | zstd_opt.c |
234e9605 | 392 | |
ca678bc0 RN |
393 | #zstd/decompress |
394 | SRCS+= huf_decompress.c \ | |
395 | zstd_ddict.c \ | |
396 | zstd_decompress_block.c \ | |
397 | zstd_decompress.c | |
398 | ||
9f0a21e6 MM |
399 | beforeinstall: |
400 | .if ${MK_DEBUG_FILES} != "no" | |
401 | mtree -eu \ | |
402 | -f /etc/mtree/BSD.debug.dist \ | |
403 | -p ${DESTDIR}/usr/lib | |
404 | .endif | |
405 | ||
406 | .include <bsd.kmod.mk> | |
407 | ||
677c6f84 RY |
408 | # Generated binary search code is particularly bad with this optimization. |
409 | # Oddly, range_tree.c is not affected when unrolling is not done and dsl_scan.c | |
410 | # is not affected when unrolling is done. | |
411 | # Disable it until the following upstream issue is resolved: | |
412 | # https://github.com/llvm/llvm-project/issues/62790 | |
413 | .if ${CC} == "clang" | |
414 | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" | |
415 | CFLAGS.dsl_scan.c= -mllvm -x86-cmov-converter=false | |
416 | CFLAGS.metaslab.c= -mllvm -x86-cmov-converter=false | |
417 | CFLAGS.range_tree.c= -mllvm -x86-cmov-converter=false | |
418 | CFLAGS.zap_micro.c= -mllvm -x86-cmov-converter=false | |
419 | .endif | |
420 | .endif | |
421 | ||
cbd76b40 AJ |
422 | CFLAGS.sysctl_os.c= -include ../zfs_config.h |
423 | CFLAGS.xxhash.c+= -include ${SYSDIR}/sys/_null.h | |
9f0a21e6 MM |
424 | |
425 | CFLAGS.gcc+= -Wno-pointer-to-int-cast | |
426 | ||
9f0a21e6 | 427 | CFLAGS.abd.c= -Wno-cast-qual |
ae7b167a | 428 | CFLAGS.ddt.c= -Wno-cast-qual |
9029278d | 429 | CFLAGS.ddt_zap.c= -Wno-cast-qual |
ae7b167a | 430 | CFLAGS.dmu.c= -Wno-cast-qual |
9f0a21e6 | 431 | CFLAGS.dmu_traverse.c= -Wno-cast-qual |
cbd76b40 | 432 | CFLAGS.dnode.c= ${NO_WUNUSED_BUT_SET_VARIABLE} |
9f0a21e6 | 433 | CFLAGS.dsl_deadlist.c= -Wno-cast-qual |
cbd76b40 | 434 | CFLAGS.dsl_dir.c= -Wno-cast-qual |
9f0a21e6 | 435 | CFLAGS.dsl_prop.c= -Wno-cast-qual |
cbd76b40 | 436 | CFLAGS.edonr.c= -Wno-cast-qual |
9f0a21e6 | 437 | CFLAGS.fm.c= -Wno-cast-qual |
cbd76b40 AJ |
438 | CFLAGS.hist.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} |
439 | CFLAGS.lapi.c= -Wno-cast-qual | |
440 | CFLAGS.lcompat.c= -Wno-cast-qual | |
441 | CFLAGS.ldo.c= ${NO_WINFINITE_RECURSION} | |
442 | CFLAGS.lobject.c= -Wno-cast-qual | |
443 | CFLAGS.ltable.c= -Wno-cast-qual | |
444 | CFLAGS.lvm.c= -Wno-cast-qual | |
445 | CFLAGS.lz4.c= -Wno-cast-qual | |
d6c1bbdd | 446 | CFLAGS.lz4_zfs.c= -Wno-cast-qual |
cbd76b40 AJ |
447 | CFLAGS.nvpair.c= -Wno-cast-qual -DHAVE_RPC_TYPES ${NO_WSTRINGOP_OVERREAD} |
448 | CFLAGS.pool.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
449 | CFLAGS.pool.c= -U__BMI__ -fno-tree-vectorize | |
ae7b167a AS |
450 | CFLAGS.spa.c= -Wno-cast-qual |
451 | CFLAGS.spa_misc.c= -Wno-cast-qual | |
cbd76b40 AJ |
452 | CFLAGS.spl_string.c= -Wno-cast-qual |
453 | CFLAGS.spl_vm.c= -Wno-cast-qual | |
454 | CFLAGS.spl_zlib.c= -Wno-cast-qual | |
455 | CFLAGS.u8_textprep.c= -Wno-cast-qual | |
b2255edc | 456 | CFLAGS.vdev_draid.c= -Wno-cast-qual |
9f0a21e6 MM |
457 | CFLAGS.vdev_raidz.c= -Wno-cast-qual |
458 | CFLAGS.vdev_raidz_math.c= -Wno-cast-qual | |
9f0a21e6 MM |
459 | CFLAGS.vdev_raidz_math_avx2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier |
460 | CFLAGS.vdev_raidz_math_avx512f.c= -Wno-cast-qual -Wno-duplicate-decl-specifier | |
cbd76b40 | 461 | CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual |
9f0a21e6 MM |
462 | CFLAGS.vdev_raidz_math_sse2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier |
463 | CFLAGS.zap_leaf.c= -Wno-cast-qual | |
ae7b167a | 464 | CFLAGS.zap_micro.c= -Wno-cast-qual |
9f0a21e6 | 465 | CFLAGS.zcp.c= -Wno-cast-qual |
cbd76b40 AJ |
466 | CFLAGS.zfs_fletcher.c= -Wno-cast-qual -Wno-pointer-arith |
467 | CFLAGS.zfs_fletcher_avx512.c= -Wno-cast-qual -Wno-pointer-arith | |
468 | CFLAGS.zfs_fletcher_intel.c= -Wno-cast-qual -Wno-pointer-arith | |
469 | CFLAGS.zfs_fletcher_sse.c= -Wno-cast-qual -Wno-pointer-arith | |
470 | CFLAGS.zfs_fm.c= -Wno-cast-qual ${NO_WUNUSED_BUT_SET_VARIABLE} | |
ae7b167a | 471 | CFLAGS.zfs_ioctl.c= -Wno-cast-qual |
cbd76b40 AJ |
472 | CFLAGS.zfs_log.c= -Wno-cast-qual |
473 | CFLAGS.zfs_vnops_os.c= -Wno-pointer-arith | |
474 | CFLAGS.zfs_zstd.c= -Wno-cast-qual -Wno-pointer-arith | |
ae7b167a AS |
475 | CFLAGS.zil.c= -Wno-cast-qual |
476 | CFLAGS.zio.c= -Wno-cast-qual | |
cbd76b40 | 477 | CFLAGS.zprop_common.c= -Wno-cast-qual |
ae7b167a | 478 | CFLAGS.zrlock.c= -Wno-cast-qual |
cbd76b40 AJ |
479 | |
480 | #zstd | |
481 | CFLAGS.entropy_common.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
482 | CFLAGS.error_private.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
483 | CFLAGS.fse_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} | |
484 | CFLAGS.fse_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
485 | CFLAGS.huf_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
486 | CFLAGS.huf_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
487 | CFLAGS.xxhash.c+= -U__BMI__ -fno-tree-vectorize | |
488 | CFLAGS.xxhash.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
489 | CFLAGS.zstd.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
490 | CFLAGS.zstd_common.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
491 | CFLAGS.zstd_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
492 | CFLAGS.zstd_compress_literals.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
493 | CFLAGS.zstd_compress_sequences.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
494 | CFLAGS.zstd_compress_superblock.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} | |
495 | CFLAGS.zstd_ddict.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
496 | CFLAGS.zstd_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
497 | CFLAGS.zstd_decompress_block.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
498 | CFLAGS.zstd_double_fast.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
499 | CFLAGS.zstd_fast.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
500 | CFLAGS.zstd_lazy.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
501 | CFLAGS.zstd_ldm.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
502 | CFLAGS.zstd_opt.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
503 | ||
504 | .if ${MACHINE_CPUARCH} == "aarch64" | |
505 | __ZFS_ZSTD_AARCH64_FLAGS= -include ${SRCDIR}/zstd/include/aarch64_compat.h | |
506 | CFLAGS.zstd.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
507 | CFLAGS.entropy_common.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
508 | CFLAGS.error_private.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
509 | CFLAGS.fse_compress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
510 | CFLAGS.fse_decompress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
511 | CFLAGS.hist.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
512 | CFLAGS.huf_compress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
513 | CFLAGS.huf_decompress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
514 | CFLAGS.pool.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
515 | CFLAGS.xxhash.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
516 | CFLAGS.zstd_common.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
517 | CFLAGS.zstd_compress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
518 | CFLAGS.zstd_compress_literals.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
519 | CFLAGS.zstd_compress_sequences.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
520 | CFLAGS.zstd_compress_superblock.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
521 | CFLAGS.zstd_ddict.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
522 | CFLAGS.zstd_decompress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
523 | CFLAGS.zstd_decompress_block.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
524 | CFLAGS.zstd_double_fast.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
525 | CFLAGS.zstd_fast.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
526 | CFLAGS.zstd_lazy.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
527 | CFLAGS.zstd_ldm.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
528 | CFLAGS.zstd_opt.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
529 | ||
dee77f45 KE |
530 | sha256-armv8.o: sha256-armv8.S |
531 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
532 | -o ${.TARGET} | |
533 | ${CTFCONVERT_CMD} | |
534 | ||
535 | sha512-armv8.o: sha512-armv8.S | |
536 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
537 | -o ${.TARGET} | |
538 | ${CTFCONVERT_CMD} | |
539 | ||
cbd76b40 AJ |
540 | b3_aarch64_sse2.o: b3_aarch64_sse2.S |
541 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
542 | -o ${.TARGET} | |
543 | ${CTFCONVERT_CMD} | |
544 | ||
545 | b3_aarch64_sse41.o: b3_aarch64_sse41.S | |
546 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
547 | -o ${.TARGET} | |
548 | ${CTFCONVERT_CMD} | |
549 | ||
550 | .endif |