#BEGIN Machine dependent Makefile fragment for x86_64
######################################################################
-CFLAGS+= -DAT386=1
-SFLAGS+= -DAT386=1
-
-CFLAGS+= $(WERROR) -Wshorten-64-to-32
-CWARNFLAGS= $(filter-out -Wbad-function-cast, $(CWARNFLAGS_STD))
-
-# Objects that don't compile cleanly:
-OBJS_NO_WERROR= \
- UNDRequest.o \
- db_examine.o \
- db_macro.o \
- db_print.o \
- db_sym.o \
- db_variables.o \
- db_disasm.o \
- db_interface.o \
- db_trace.o \
- host_priv_server.o \
- mach_host_server.o \
- security_server.o \
- device_server.o \
- gssd_mach.o \
- mp.o # This is blocked on 6640051
-
-OBJS_WERROR=$(filter-out $(OBJS_NO_WERROR),$(OBJS))
-
-$(OBJS_WERROR): WERROR=-Werror
+CWARNFLAGS = $(CWARNFLAGS_STD) -Wno-atomic-implicit-seq-cst
# Files that must go in the __HIB segment:
UNCONFIGURED_HIB_FILES= \
+ WKdmDecompress_new.o \
+ WKdmData_new.o \
hibernate_restore.o \
- hibernate_bootstrap.o
+ bcopy.o \
+ bzero.o
HIB_FILES=$(filter $(UNCONFIGURED_HIB_FILES),$(OBJS))
+# Unconfigured __HIB files must be Mach-O for "setsegname"
+WKdmDecompress_new.o_CFLAGS_ADD += -fno-stack-protector -fno-stack-check $(CFLAGS_NOLTO_FLAG)
+WKdmData_new.o_CFLAGS_ADD += -fno-stack-protector -fno-stack-check $(CFLAGS_NOLTO_FLAG)
+hibernate_restore.o_CFLAGS_ADD += -fno-stack-protector -fno-stack-check $(CFLAGS_NOLTO_FLAG)
+bcopy.o_CFLAGS_ADD += -fno-stack-protector -fno-stack-check $(CFLAGS_NOLTO_FLAG)
+bzero.o_CFLAGS_ADD += -fno-stack-protector -fno-stack-check $(CFLAGS_NOLTO_FLAG)
+fp_simd.o_SFLAGS_ADD += -mavx512f
+
+# To appear at the beginning of the __HIB segment, emit
+# as Mach-O so that the linker can enforce symbol order
+boot_pt.o_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG)
+
+# fast path lock C leaf functions must be built without stack frames
+locks_i386_opt.o_CFLAGS_ADD += -momit-leaf-frame-pointer -O2
+
######################################################################
#END Machine dependent Makefile fragment for x86_64
######################################################################