| .. | .. | 
|---|
| 9 | 9 |  # Changed by many, many contributors over the years. | 
|---|
| 10 | 10 |  # | 
|---|
| 11 | 11 |   | 
|---|
 | 12 | +# Sanitizer runtimes are unavailable and cannot be linked for early boot code.  | 
|---|
| 12 | 13 |  KASAN_SANITIZE			:= n | 
|---|
 | 14 | +KCSAN_SANITIZE			:= n  | 
|---|
| 13 | 15 |  OBJECT_FILES_NON_STANDARD	:= y | 
|---|
| 14 | 16 |   | 
|---|
| 15 | 17 |  # Kernel does not boot with kcov instrumentation here. | 
|---|
| .. | .. | 
|---|
| 45 | 47 |  setup-y		+= video-bios.o | 
|---|
| 46 | 48 |   | 
|---|
| 47 | 49 |  targets		+= $(setup-y) | 
|---|
| 48 |  | -hostprogs-y	:= tools/build  | 
|---|
| 49 |  | -hostprogs-$(CONFIG_X86_FEATURE_NAMES) += mkcpustr  | 
|---|
 | 50 | +hostprogs	:= tools/build  | 
|---|
 | 51 | +hostprogs	+= mkcpustr  | 
|---|
| 50 | 52 |   | 
|---|
| 51 | 53 |  HOST_EXTRACFLAGS += -I$(srctree)/tools/include \ | 
|---|
| 52 | 54 |  		    -include include/generated/autoconf.h \ | 
|---|
| .. | .. | 
|---|
| 57 | 59 |   | 
|---|
| 58 | 60 |  quiet_cmd_cpustr = CPUSTR  $@ | 
|---|
| 59 | 61 |        cmd_cpustr = $(obj)/mkcpustr > $@ | 
|---|
| 60 |  | -targets += cpustr.h  | 
|---|
| 61 | 62 |  $(obj)/cpustr.h: $(obj)/mkcpustr FORCE | 
|---|
| 62 | 63 |  	$(call if_changed,cpustr) | 
|---|
| 63 | 64 |  endif | 
|---|
| 64 |  | -clean-files += cpustr.h  | 
|---|
 | 65 | +targets += cpustr.h  | 
|---|
| 65 | 66 |   | 
|---|
| 66 | 67 |  # --------------------------------------------------------------------------- | 
|---|
| 67 | 68 |   | 
|---|
| 68 | 69 |  KBUILD_CFLAGS	:= $(REALMODE_CFLAGS) -D_SETUP | 
|---|
| 69 | 70 |  KBUILD_AFLAGS	:= $(KBUILD_CFLAGS) -D__ASSEMBLY__ | 
|---|
 | 71 | +KBUILD_CFLAGS	+= $(call cc-option,-fmacro-prefix-map=$(srctree)/=)  | 
|---|
 | 72 | +KBUILD_CFLAGS	+= -fno-asynchronous-unwind-tables  | 
|---|
| 70 | 73 |  GCOV_PROFILE := n | 
|---|
| 71 | 74 |  UBSAN_SANITIZE := n | 
|---|
| 72 | 75 |   | 
|---|
| .. | .. | 
|---|
| 87 | 90 |   | 
|---|
| 88 | 91 |  SETUP_OBJS = $(addprefix $(obj)/,$(setup-y)) | 
|---|
| 89 | 92 |   | 
|---|
| 90 |  | -sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [a-zA-Z] \(startup_32\|startup_64\|efi32_stub_entry\|efi64_stub_entry\|efi_pe_entry\|input_data\|_end\|_ehead\|_text\|z_.*\)$$/\#define ZO_\2 0x\1/p'  | 
|---|
 | 93 | +sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [a-zA-Z] \(startup_32\|startup_64\|efi32_stub_entry\|efi64_stub_entry\|efi_pe_entry\|efi32_pe_entry\|input_data\|kernel_info\|_end\|_ehead\|_text\|z_.*\)$$/\#define ZO_\2 0x\1/p'  | 
|---|
| 91 | 94 |   | 
|---|
| 92 | 95 |  quiet_cmd_zoffset = ZOFFSET $@ | 
|---|
| 93 | 96 |        cmd_zoffset = $(NM) $< | sed -n $(sed-zoffset) > $@ | 
|---|
| .. | .. | 
|---|
| 100 | 103 |  AFLAGS_header.o += -I$(objtree)/$(obj) | 
|---|
| 101 | 104 |  $(obj)/header.o: $(obj)/zoffset.h | 
|---|
| 102 | 105 |   | 
|---|
| 103 |  | -LDFLAGS_setup.elf	:= -m elf_i386 -T  | 
|---|
 | 106 | +LDFLAGS_setup.elf	:= -m elf_i386 -z noexecstack -T  | 
|---|
| 104 | 107 |  $(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE | 
|---|
| 105 | 108 |  	$(call if_changed,ld) | 
|---|
| 106 | 109 |   | 
|---|
| .. | .. | 
|---|
| 127 | 130 |  cmd_genimage = sh $(srctree)/$(src)/genimage.sh $2 $3 $(obj)/bzImage \ | 
|---|
| 128 | 131 |  			$(obj)/mtools.conf '$(image_cmdline)' $(FDINITRD) | 
|---|
| 129 | 132 |   | 
|---|
 | 133 | +PHONY += bzdisk fdimage fdimage144 fdimage288 isoimage bzlilo install  | 
|---|
 | 134 | +  | 
|---|
| 130 | 135 |  # This requires write access to /dev/fd0 | 
|---|
| 131 | 136 |  bzdisk: $(obj)/bzImage $(obj)/mtools.conf | 
|---|
| 132 | 137 |  	$(call cmd,genimage,bzdisk,/dev/fd0) | 
|---|
| .. | .. | 
|---|
| 144 | 149 |  	$(call cmd,genimage,isoimage,$(obj)/image.iso) | 
|---|
| 145 | 150 |  	@$(kecho) 'Kernel: $(obj)/image.iso is ready' | 
|---|
| 146 | 151 |   | 
|---|
| 147 |  | -bzlilo: $(obj)/bzImage  | 
|---|
 | 152 | +bzlilo:  | 
|---|
| 148 | 153 |  	if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi | 
|---|
| 149 | 154 |  	if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi | 
|---|
| 150 | 155 |  	cat $(obj)/bzImage > $(INSTALL_PATH)/vmlinuz | 
|---|