]>
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 | ||
cbd76b40 | 85 | # avl |
9f0a21e6 MM |
86 | SRCS+= avl.c |
87 | ||
269b5dad | 88 | # icp |
cbd76b40 | 89 | SRCS+= edonr.c |
269b5dad | 90 | |
985c33b1 TR |
91 | #icp/algs/blake3 |
92 | SRCS+= blake3.c \ | |
93 | blake3_generic.c \ | |
4c5fec01 | 94 | blake3_impl.c |
985c33b1 TR |
95 | |
96 | #icp/asm-aarch64/blake3 | |
97 | SRCS+= b3_aarch64_sse2.S \ | |
98 | b3_aarch64_sse41.S | |
99 | ||
100 | #icp/asm-ppc64/blake3 | |
101 | SRCS+= b3_ppc64le_sse2.S \ | |
102 | b3_ppc64le_sse41.S | |
103 | ||
104 | #icp/asm-x86_64/blake3 | |
105 | SRCS+= blake3_avx2.S \ | |
106 | blake3_avx512.S \ | |
107 | blake3_sse2.S \ | |
108 | blake3_sse41.S | |
109 | ||
4c5fec01 TR |
110 | #icp/algs/sha2 |
111 | SRCS+= sha2_generic.c \ | |
112 | sha256_impl.c \ | |
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 \ | |
125 | sha512-p8.S \ | |
126 | sha256-ppc.S \ | |
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 | |
160 | SRCS+= nvpair.c \ | |
161 | fnvpair.c \ | |
162 | nvpair_alloc_spl.c \ | |
163 | nvpair_alloc_fixed.c | |
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 MM |
186 | |
187 | ||
188 | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ | |
cbd76b40 | 189 | ${MACHINE_ARCH} == "powerpcspe" || ${MACHINE_ARCH} == "arm" |
9f0a21e6 MM |
190 | SRCS+= spl_atomic.c |
191 | .endif | |
192 | ||
193 | #os/freebsd/zfs | |
fc551d7e | 194 | SRCS+= abd_os.c \ |
e53d678d | 195 | arc_os.c \ |
9f0a21e6 MM |
196 | crypto_os.c \ |
197 | dmu_os.c \ | |
9d088740 | 198 | event_os.c \ |
9f0a21e6 MM |
199 | hkdf.c \ |
200 | kmod_core.c \ | |
201 | spa_os.c \ | |
202 | sysctl_os.c \ | |
203 | vdev_file.c \ | |
9f0a21e6 | 204 | vdev_geom.c \ |
e53d678d | 205 | vdev_label_os.c \ |
9f0a21e6 MM |
206 | zfs_acl.c \ |
207 | zfs_ctldir.c \ | |
e53d678d | 208 | zfs_debug.c \ |
9f0a21e6 | 209 | zfs_dir.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 | |
220 | SRCS+= uconv.c \ | |
221 | u8_textprep.c | |
222 | ||
223 | #zcommon | |
224 | SRCS+= zfeature_common.c \ | |
225 | zfs_comutil.c \ | |
226 | zfs_deleg.c \ | |
227 | zfs_fletcher.c \ | |
228 | zfs_fletcher_avx512.c \ | |
229 | zfs_fletcher_intel.c \ | |
230 | zfs_fletcher_sse.c \ | |
231 | zfs_fletcher_superscalar.c \ | |
232 | zfs_fletcher_superscalar4.c \ | |
233 | zfs_namecheck.c \ | |
234 | zfs_prop.c \ | |
235 | zpool_prop.c \ | |
236 | zprop_common.c | |
237 | ||
238 | #zfs | |
fc551d7e BA |
239 | SRCS+= abd.c \ |
240 | aggsum.c \ | |
9f0a21e6 | 241 | arc.c \ |
985c33b1 | 242 | blake3_zfs.c \ |
9f0a21e6 MM |
243 | blkptr.c \ |
244 | bplist.c \ | |
245 | bpobj.c \ | |
67a1b037 | 246 | brt.c \ |
e53d678d | 247 | btree.c \ |
9f0a21e6 MM |
248 | cityhash.c \ |
249 | dbuf.c \ | |
250 | dbuf_stats.c \ | |
251 | bptree.c \ | |
252 | bqueue.c \ | |
253 | dataset_kstats.c \ | |
254 | ddt.c \ | |
255 | ddt_zap.c \ | |
256 | dmu.c \ | |
257 | dmu_diff.c \ | |
258 | dmu_object.c \ | |
259 | dmu_objset.c \ | |
260 | dmu_recv.c \ | |
261 | dmu_redact.c \ | |
262 | dmu_send.c \ | |
263 | dmu_traverse.c \ | |
264 | dmu_tx.c \ | |
265 | dmu_zfetch.c \ | |
266 | dnode.c \ | |
267 | dnode_sync.c \ | |
268 | dsl_dataset.c \ | |
269 | dsl_deadlist.c \ | |
270 | dsl_deleg.c \ | |
271 | dsl_bookmark.c \ | |
272 | dsl_dir.c \ | |
273 | dsl_crypt.c \ | |
274 | dsl_destroy.c \ | |
275 | dsl_pool.c \ | |
276 | dsl_prop.c \ | |
277 | dsl_scan.c \ | |
278 | dsl_synctask.c \ | |
279 | dsl_userhold.c \ | |
269b5dad | 280 | edonr_zfs.c \ |
9f0a21e6 MM |
281 | fm.c \ |
282 | gzip.c \ | |
283 | lzjb.c \ | |
284 | lz4.c \ | |
d6c1bbdd | 285 | lz4_zfs.c \ |
9f0a21e6 MM |
286 | metaslab.c \ |
287 | mmp.c \ | |
288 | multilist.c \ | |
289 | objlist.c \ | |
290 | pathname.c \ | |
291 | range_tree.c \ | |
292 | refcount.c \ | |
293 | rrwlock.c \ | |
294 | sa.c \ | |
3e254aaa | 295 | sha2_zfs.c \ |
9f0a21e6 MM |
296 | skein_zfs.c \ |
297 | spa.c \ | |
9f0a21e6 MM |
298 | spa_checkpoint.c \ |
299 | spa_config.c \ | |
300 | spa_errlog.c \ | |
301 | spa_history.c \ | |
302 | spa_log_spacemap.c \ | |
303 | spa_misc.c \ | |
304 | spa_stats.c \ | |
305 | space_map.c \ | |
306 | space_reftree.c \ | |
307 | txg.c \ | |
308 | uberblock.c \ | |
309 | unique.c \ | |
310 | vdev.c \ | |
b2255edc BB |
311 | vdev_draid.c \ |
312 | vdev_draid_rand.c \ | |
9f0a21e6 MM |
313 | vdev_indirect.c \ |
314 | vdev_indirect_births.c \ | |
315 | vdev_indirect_mapping.c \ | |
316 | vdev_initialize.c \ | |
317 | vdev_label.c \ | |
318 | vdev_mirror.c \ | |
319 | vdev_missing.c \ | |
320 | vdev_queue.c \ | |
321 | vdev_raidz.c \ | |
322 | vdev_raidz_math.c \ | |
323 | vdev_raidz_math_scalar.c \ | |
324 | vdev_raidz_math_avx2.c \ | |
325 | vdev_raidz_math_avx512bw.c \ | |
326 | vdev_raidz_math_avx512f.c \ | |
327 | vdev_raidz_math_sse2.c \ | |
328 | vdev_raidz_math_ssse3.c \ | |
547df816 | 329 | vdev_rebuild.c \ |
9f0a21e6 MM |
330 | vdev_removal.c \ |
331 | vdev_root.c \ | |
332 | vdev_trim.c \ | |
333 | zap.c \ | |
334 | zap_leaf.c \ | |
335 | zap_micro.c \ | |
336 | zcp.c \ | |
337 | zcp_get.c \ | |
338 | zcp_global.c \ | |
339 | zcp_iter.c \ | |
340 | zcp_set.c \ | |
341 | zcp_synctask.c \ | |
342 | zfeature.c \ | |
343 | zfs_byteswap.c \ | |
985c33b1 | 344 | zfs_chksum.c \ |
9f0a21e6 MM |
345 | zfs_file_os.c \ |
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 MN |
368 | #zstd |
369 | SRCS+= zfs_zstd.c \ | |
234e9605 RE |
370 | entropy_common.c \ |
371 | error_private.c \ | |
234e9605 | 372 | fse_compress.c \ |
cbd76b40 | 373 | fse_decompress.c \ |
234e9605 RE |
374 | hist.c \ |
375 | huf_compress.c \ | |
cbd76b40 AJ |
376 | huf_decompress.c \ |
377 | pool.c \ | |
378 | xxhash.c \ | |
379 | zstd_common.c \ | |
234e9605 RE |
380 | zstd_compress.c \ |
381 | zstd_compress_literals.c \ | |
382 | zstd_compress_sequences.c \ | |
383 | zstd_compress_superblock.c \ | |
cbd76b40 AJ |
384 | zstd_ddict.c \ |
385 | zstd_decompress.c \ | |
386 | zstd_decompress_block.c \ | |
234e9605 RE |
387 | zstd_double_fast.c \ |
388 | zstd_fast.c \ | |
389 | zstd_lazy.c \ | |
390 | zstd_ldm.c \ | |
cbd76b40 | 391 | zstd_opt.c |
234e9605 | 392 | |
9f0a21e6 MM |
393 | beforeinstall: |
394 | .if ${MK_DEBUG_FILES} != "no" | |
395 | mtree -eu \ | |
396 | -f /etc/mtree/BSD.debug.dist \ | |
397 | -p ${DESTDIR}/usr/lib | |
398 | .endif | |
399 | ||
400 | .include <bsd.kmod.mk> | |
401 | ||
677c6f84 RY |
402 | # Generated binary search code is particularly bad with this optimization. |
403 | # Oddly, range_tree.c is not affected when unrolling is not done and dsl_scan.c | |
404 | # is not affected when unrolling is done. | |
405 | # Disable it until the following upstream issue is resolved: | |
406 | # https://github.com/llvm/llvm-project/issues/62790 | |
407 | .if ${CC} == "clang" | |
408 | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" | |
409 | CFLAGS.dsl_scan.c= -mllvm -x86-cmov-converter=false | |
410 | CFLAGS.metaslab.c= -mllvm -x86-cmov-converter=false | |
411 | CFLAGS.range_tree.c= -mllvm -x86-cmov-converter=false | |
412 | CFLAGS.zap_micro.c= -mllvm -x86-cmov-converter=false | |
413 | .endif | |
414 | .endif | |
415 | ||
cbd76b40 AJ |
416 | CFLAGS.sysctl_os.c= -include ../zfs_config.h |
417 | CFLAGS.xxhash.c+= -include ${SYSDIR}/sys/_null.h | |
9f0a21e6 MM |
418 | |
419 | CFLAGS.gcc+= -Wno-pointer-to-int-cast | |
420 | ||
9f0a21e6 | 421 | CFLAGS.abd.c= -Wno-cast-qual |
ae7b167a AS |
422 | CFLAGS.ddt.c= -Wno-cast-qual |
423 | CFLAGS.dmu.c= -Wno-cast-qual | |
9f0a21e6 | 424 | CFLAGS.dmu_traverse.c= -Wno-cast-qual |
cbd76b40 | 425 | CFLAGS.dnode.c= ${NO_WUNUSED_BUT_SET_VARIABLE} |
9f0a21e6 | 426 | CFLAGS.dsl_deadlist.c= -Wno-cast-qual |
cbd76b40 | 427 | CFLAGS.dsl_dir.c= -Wno-cast-qual |
9f0a21e6 | 428 | CFLAGS.dsl_prop.c= -Wno-cast-qual |
cbd76b40 | 429 | CFLAGS.edonr.c= -Wno-cast-qual |
9f0a21e6 | 430 | CFLAGS.fm.c= -Wno-cast-qual |
cbd76b40 AJ |
431 | CFLAGS.hist.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} |
432 | CFLAGS.lapi.c= -Wno-cast-qual | |
433 | CFLAGS.lcompat.c= -Wno-cast-qual | |
434 | CFLAGS.ldo.c= ${NO_WINFINITE_RECURSION} | |
435 | CFLAGS.lobject.c= -Wno-cast-qual | |
436 | CFLAGS.ltable.c= -Wno-cast-qual | |
437 | CFLAGS.lvm.c= -Wno-cast-qual | |
438 | CFLAGS.lz4.c= -Wno-cast-qual | |
d6c1bbdd | 439 | CFLAGS.lz4_zfs.c= -Wno-cast-qual |
cbd76b40 AJ |
440 | CFLAGS.nvpair.c= -Wno-cast-qual -DHAVE_RPC_TYPES ${NO_WSTRINGOP_OVERREAD} |
441 | CFLAGS.pool.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
442 | CFLAGS.pool.c= -U__BMI__ -fno-tree-vectorize | |
ae7b167a AS |
443 | CFLAGS.spa.c= -Wno-cast-qual |
444 | CFLAGS.spa_misc.c= -Wno-cast-qual | |
cbd76b40 AJ |
445 | CFLAGS.spl_string.c= -Wno-cast-qual |
446 | CFLAGS.spl_vm.c= -Wno-cast-qual | |
447 | CFLAGS.spl_zlib.c= -Wno-cast-qual | |
448 | CFLAGS.u8_textprep.c= -Wno-cast-qual | |
b2255edc | 449 | CFLAGS.vdev_draid.c= -Wno-cast-qual |
9f0a21e6 MM |
450 | CFLAGS.vdev_raidz.c= -Wno-cast-qual |
451 | CFLAGS.vdev_raidz_math.c= -Wno-cast-qual | |
9f0a21e6 MM |
452 | CFLAGS.vdev_raidz_math_avx2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier |
453 | CFLAGS.vdev_raidz_math_avx512f.c= -Wno-cast-qual -Wno-duplicate-decl-specifier | |
cbd76b40 | 454 | CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual |
9f0a21e6 MM |
455 | CFLAGS.vdev_raidz_math_sse2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier |
456 | CFLAGS.zap_leaf.c= -Wno-cast-qual | |
ae7b167a | 457 | CFLAGS.zap_micro.c= -Wno-cast-qual |
9f0a21e6 | 458 | CFLAGS.zcp.c= -Wno-cast-qual |
cbd76b40 AJ |
459 | CFLAGS.zfs_fletcher.c= -Wno-cast-qual -Wno-pointer-arith |
460 | CFLAGS.zfs_fletcher_avx512.c= -Wno-cast-qual -Wno-pointer-arith | |
461 | CFLAGS.zfs_fletcher_intel.c= -Wno-cast-qual -Wno-pointer-arith | |
462 | CFLAGS.zfs_fletcher_sse.c= -Wno-cast-qual -Wno-pointer-arith | |
463 | CFLAGS.zfs_fm.c= -Wno-cast-qual ${NO_WUNUSED_BUT_SET_VARIABLE} | |
ae7b167a | 464 | CFLAGS.zfs_ioctl.c= -Wno-cast-qual |
cbd76b40 AJ |
465 | CFLAGS.zfs_log.c= -Wno-cast-qual |
466 | CFLAGS.zfs_vnops_os.c= -Wno-pointer-arith | |
467 | CFLAGS.zfs_zstd.c= -Wno-cast-qual -Wno-pointer-arith | |
ae7b167a AS |
468 | CFLAGS.zil.c= -Wno-cast-qual |
469 | CFLAGS.zio.c= -Wno-cast-qual | |
cbd76b40 | 470 | CFLAGS.zprop_common.c= -Wno-cast-qual |
ae7b167a | 471 | CFLAGS.zrlock.c= -Wno-cast-qual |
cbd76b40 AJ |
472 | |
473 | #zstd | |
474 | CFLAGS.entropy_common.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
475 | CFLAGS.error_private.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
476 | CFLAGS.fse_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} | |
477 | CFLAGS.fse_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
478 | CFLAGS.huf_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
479 | CFLAGS.huf_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
480 | CFLAGS.xxhash.c+= -U__BMI__ -fno-tree-vectorize | |
481 | CFLAGS.xxhash.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
482 | CFLAGS.zstd.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
483 | CFLAGS.zstd_common.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
484 | CFLAGS.zstd_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
485 | CFLAGS.zstd_compress_literals.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
486 | CFLAGS.zstd_compress_sequences.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
487 | CFLAGS.zstd_compress_superblock.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} | |
488 | CFLAGS.zstd_ddict.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
489 | CFLAGS.zstd_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
490 | CFLAGS.zstd_decompress_block.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
491 | CFLAGS.zstd_double_fast.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
492 | CFLAGS.zstd_fast.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
493 | CFLAGS.zstd_lazy.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
494 | CFLAGS.zstd_ldm.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
495 | CFLAGS.zstd_opt.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} | |
496 | ||
497 | .if ${MACHINE_CPUARCH} == "aarch64" | |
498 | __ZFS_ZSTD_AARCH64_FLAGS= -include ${SRCDIR}/zstd/include/aarch64_compat.h | |
499 | CFLAGS.zstd.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
500 | CFLAGS.entropy_common.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
501 | CFLAGS.error_private.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
502 | CFLAGS.fse_compress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
503 | CFLAGS.fse_decompress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
504 | CFLAGS.hist.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
505 | CFLAGS.huf_compress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
506 | CFLAGS.huf_decompress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
507 | CFLAGS.pool.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
508 | CFLAGS.xxhash.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
509 | CFLAGS.zstd_common.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
510 | CFLAGS.zstd_compress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
511 | CFLAGS.zstd_compress_literals.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
512 | CFLAGS.zstd_compress_sequences.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
513 | CFLAGS.zstd_compress_superblock.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
514 | CFLAGS.zstd_ddict.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
515 | CFLAGS.zstd_decompress.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
516 | CFLAGS.zstd_decompress_block.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
517 | CFLAGS.zstd_double_fast.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
518 | CFLAGS.zstd_fast.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
519 | CFLAGS.zstd_lazy.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
520 | CFLAGS.zstd_ldm.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
521 | CFLAGS.zstd_opt.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} | |
522 | ||
dee77f45 KE |
523 | sha256-armv8.o: sha256-armv8.S |
524 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
525 | -o ${.TARGET} | |
526 | ${CTFCONVERT_CMD} | |
527 | ||
528 | sha512-armv8.o: sha512-armv8.S | |
529 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
530 | -o ${.TARGET} | |
531 | ${CTFCONVERT_CMD} | |
532 | ||
cbd76b40 AJ |
533 | b3_aarch64_sse2.o: b3_aarch64_sse2.S |
534 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
535 | -o ${.TARGET} | |
536 | ${CTFCONVERT_CMD} | |
537 | ||
538 | b3_aarch64_sse41.o: b3_aarch64_sse41.S | |
539 | ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ | |
540 | -o ${.TARGET} | |
541 | ${CTFCONVERT_CMD} | |
542 | ||
543 | .endif |