~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/loongarch/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/loongarch/Makefile (Version linux-6.12-rc7) and /arch/sparc/Makefile (Version linux-2.6.32.71)


  1 # SPDX-License-Identifier: GPL-2.0             << 
  2 #                                                   1 #
  3 # Author: Huacai Chen <chenhuacai@loongson.cn>  !!   2 # sparc/Makefile
  4 # Copyright (C) 2020-2022 Loongson Technology  !!   3 #
  5                                                !!   4 # Makefile for the architecture dependent flags and dependencies on the
  6 boot    := arch/loongarch/boot                 !!   5 # Sparc and sparc64.
  7                                                !!   6 #
  8 KBUILD_DEFCONFIG := loongson3_defconfig        !!   7 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu)
  9 KBUILD_DTBS      := dtbs                       !!   8 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
 10                                                << 
 11 image-name-y                    := vmlinux     << 
 12 image-name-$(CONFIG_EFI_ZBOOT)  := vmlinuz     << 
 13                                                     9 
 14 ifndef CONFIG_EFI_STUB                         !!  10 # We are not yet configured - so test on arch
 15 KBUILD_IMAGE    := $(boot)/vmlinux.elf         !!  11 ifeq ($(ARCH),sparc)
                                                   >>  12         KBUILD_DEFCONFIG := sparc32_defconfig
 16 else                                               13 else
 17 KBUILD_IMAGE    := $(boot)/$(image-name-y).efi !!  14         KBUILD_DEFCONFIG := sparc64_defconfig
 18 endif                                              15 endif
 19                                                    16 
                                                   >>  17 ifeq ($(CONFIG_SPARC32),y)
                                                   >>  18 #####
                                                   >>  19 # sparc32
 20 #                                                  20 #
 21 # Select the object file format to substitute  << 
 22 #                                              << 
 23 64bit-tool-archpref     = loongarch64          << 
 24 32bit-bfd               = elf32-loongarch      << 
 25 64bit-bfd               = elf64-loongarch      << 
 26 32bit-emul              = elf32loongarch       << 
 27 64bit-emul              = elf64loongarch       << 
 28                                                << 
 29 CC_FLAGS_FPU            := -mfpu=64            << 
 30 CC_FLAGS_NO_FPU         := -msoft-float        << 
 31                                                << 
 32 ifdef CONFIG_UNWINDER_ORC                      << 
 33 orc_hash_h := arch/$(SRCARCH)/include/generate << 
 34 orc_hash_sh := $(srctree)/scripts/orc_hash.sh  << 
 35 targets += $(orc_hash_h)                       << 
 36 quiet_cmd_orc_hash = GEN     $@                << 
 37       cmd_orc_hash = mkdir -p $(dir $@); \     << 
 38                      $(CONFIG_SHELL) $(orc_has << 
 39 $(orc_hash_h): $(srctree)/arch/loongarch/inclu << 
 40         $(call if_changed,orc_hash)            << 
 41 archprepare: $(orc_hash_h)                     << 
 42 endif                                          << 
 43                                                    21 
 44 ifdef CONFIG_DYNAMIC_FTRACE                    !!  22 #
 45 KBUILD_CPPFLAGS += -DCC_USING_PATCHABLE_FUNCTI !!  23 # Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level
 46 CC_FLAGS_FTRACE := -fpatchable-function-entry= !!  24 # debugging of the kernel to get the proper debugging information.
 47 endif                                          << 
 48                                                    25 
 49 ifdef CONFIG_64BIT                             !!  26 AS             := $(AS) -32
 50 tool-archpref           = $(64bit-tool-archpre !!  27 LDFLAGS        := -m elf32_sparc
 51 UTS_MACHINE             := loongarch64         !!  28 CHECKFLAGS     += -D__sparc__
 52 endif                                          !!  29 export BITS    := 32
                                                   >>  30 UTS_MACHINE    := sparc
 53                                                    31 
 54 ifneq ($(SUBARCH),$(ARCH))                     !!  32 #KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7
 55   ifeq ($(CROSS_COMPILE),)                     !!  33 KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
 56     CROSS_COMPILE := $(call cc-cross-prefix, $ !!  34 KBUILD_AFLAGS += -m32 -Wa,-Av8
 57   endif                                        << 
 58 endif                                          << 
 59                                                    35 
 60 ifdef CONFIG_64BIT                             !!  36 #LDFLAGS_vmlinux = -N -Ttext 0xf0004000
 61 ld-emul                 = $(64bit-emul)        !!  37 #  Since 2.5.40, the first stage is left not btfix-ed.
 62 cflags-y                += -mabi=lp64s         !!  38 #  Actual linking is done with "make image".
 63 endif                                          !!  39 LDFLAGS_vmlinux = -r
 64                                                << 
 65 cflags-y                        += -pipe $(CC_ << 
 66 LDFLAGS_vmlinux                 += -static -n  << 
 67                                                    40 
 68 # When the assembler supports explicit relocat << 
 69 # GCC may have -mexplicit-relocs off by defaul << 
 70 # assembler, so we force it via an option.     << 
 71 #                                              << 
 72 # When the assembler does not supports explici << 
 73 # it.  Disable it if the compiler supports it. << 
 74 #                                              << 
 75 # The combination of a "new" assembler and "ol << 
 76 # the rarity of this combo and the extra compl << 
 77 # Either upgrade the compiler or downgrade the << 
 78 # out if it is the case (by probing for the mo << 
 79 # compilers in this case would have support).  << 
 80 #                                              << 
 81 # Also, -mdirect-extern-access is useful in ca << 
 82 # relocs, for avoiding unnecessary GOT accesse << 
 83 # support though.                              << 
 84 ifdef CONFIG_AS_HAS_EXPLICIT_RELOCS            << 
 85 cflags-y                        += $(call cc-o << 
 86 KBUILD_CFLAGS_KERNEL            += $(call cc-o << 
 87 KBUILD_CFLAGS_KERNEL            += $(call cc-o << 
 88 KBUILD_AFLAGS_MODULE            += $(call cc-o << 
 89 KBUILD_CFLAGS_MODULE            += $(call cc-o << 
 90 else                                               41 else
 91 cflags-y                        += $(call cc-o !!  42 #####
 92 KBUILD_AFLAGS_KERNEL            += -Wa,-mla-gl !!  43 # sparc64
 93 KBUILD_CFLAGS_KERNEL            += -Wa,-mla-gl !!  44 #
 94 KBUILD_AFLAGS_MODULE            += -Wa,-mla-gl << 
 95 KBUILD_CFLAGS_MODULE            += -fplt -Wa,- << 
 96 endif                                          << 
 97                                                << 
 98 KBUILD_AFLAGS                   += $(call cc-o << 
 99 KBUILD_CFLAGS                   += $(call cc-o << 
100 KBUILD_AFLAGS                   += $(call cc-o << 
101 KBUILD_CFLAGS                   += $(call cc-o << 
102                                                    45 
103 ifdef CONFIG_OBJTOOL                           !!  46 CHECKFLAGS      += -D__sparc__ -D__sparc_v9__ -D__arch64__ -m64
104 KBUILD_CFLAGS                   += -fno-jump-t << 
105 endif                                          << 
106                                                    47 
107 KBUILD_RUSTFLAGS                += --target=lo !!  48 LDFLAGS              := -m elf64_sparc
108 KBUILD_RUSTFLAGS_KERNEL         += -Zdirect-ac !!  49 export BITS          := 64
109 KBUILD_RUSTFLAGS_MODULE         += -Zdirect-ac !!  50 UTS_MACHINE          := sparc64
110                                                << 
111 ifeq ($(CONFIG_RELOCATABLE),y)                 << 
112 KBUILD_CFLAGS_KERNEL            += -fPIE       << 
113 KBUILD_RUSTFLAGS_KERNEL         += -Crelocatio << 
114 LDFLAGS_vmlinux                 += -static -pi << 
115 endif                                          << 
116                                                    51 
117 cflags-y += $(call cc-option, -mno-check-zero- !!  52 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow   \
                                                   >>  53                  -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \
                                                   >>  54                  -Wa,--undeclared-regs
                                                   >>  55 KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3)
                                                   >>  56 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs
118                                                    57 
119 ifndef CONFIG_KASAN                            !!  58 ifeq ($(CONFIG_MCOUNT),y)
120 cflags-y += -fno-builtin-memcpy -fno-builtin-m !!  59   KBUILD_CFLAGS += -pg
121 endif                                              60 endif
122                                                    61 
123 load-y          = 0x9000000000200000           << 
124 bootvars-y      = VMLINUX_LOAD_ADDRESS=$(load- << 
125                                                << 
126 drivers-$(CONFIG_PCI)           += arch/loonga << 
127                                                << 
128 KBUILD_AFLAGS   += $(cflags-y)                 << 
129 KBUILD_CFLAGS   += $(cflags-y)                 << 
130 KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(lo << 
131                                                << 
132 # This is required to get dwarf unwinding tabl << 
133 # instead of .eh_frame so we don't discard the << 
134 KBUILD_CFLAGS += -fno-asynchronous-unwind-tabl << 
135                                                << 
136 ifdef CONFIG_ARCH_STRICT_ALIGN                 << 
137 # Don't emit unaligned accesses.               << 
138 # Not all LoongArch cores support unaligned ac << 
139 # rely on others to provide emulation for thes << 
140 KBUILD_CFLAGS += $(call cc-option,-mstrict-ali << 
141 else                                           << 
142 # Optimise for performance on hardware support << 
143 KBUILD_CFLAGS += $(call cc-option,-mno-strict- << 
144 endif                                              62 endif
145                                                    63 
146 KBUILD_CFLAGS += -isystem $(shell $(CC) -print !!  64 head-y                 := arch/sparc/kernel/head_$(BITS).o
                                                   >>  65 head-y                 += arch/sparc/kernel/init_task.o
147                                                    66 
148 KBUILD_LDFLAGS  += -m $(ld-emul)               !!  67 core-y                 += arch/sparc/kernel/
                                                   >>  68 core-y                 += arch/sparc/mm/ arch/sparc/math-emu/
149                                                    69 
150 ifdef need-compiler                            !!  70 libs-y                 += arch/sparc/prom/
151 CHECKFLAGS += $(shell $(CC) $(KBUILD_CPPFLAGS) !!  71 libs-y                 += arch/sparc/lib/
152         grep -E -vw '__GNUC_(MINOR_|PATCHLEVEL << 
153         sed -e "s/^\#define /-D'/" -e "s/ /'=' << 
154 endif                                          << 
155                                                << 
156 libs-y += arch/loongarch/lib/                  << 
157 libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/ << 
158                                                    72 
159 drivers-y               += arch/loongarch/cryp !!  73 drivers-$(CONFIG_OPROFILE)      += arch/sparc/oprofile/
160                                                    74 
161 # suspend and hibernation support              !!  75 # Export what is needed by arch/sparc/boot/Makefile
162 drivers-$(CONFIG_PM)    += arch/loongarch/powe !!  76 export VMLINUX_INIT VMLINUX_MAIN
                                                   >>  77 VMLINUX_INIT := $(head-y) $(init-y)
                                                   >>  78 VMLINUX_MAIN := $(core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/
                                                   >>  79 VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
                                                   >>  80 VMLINUX_MAIN += $(drivers-y) $(net-y)
163                                                    81 
164 ifeq ($(KBUILD_EXTMOD),)                       !!  82 ifdef CONFIG_KALLSYMS
165 prepare: vdso_prepare                          !!  83 export kallsyms.o := .tmp_kallsyms2.o
166 vdso_prepare: prepare0                         << 
167         $(Q)$(MAKE) $(build)=arch/loongarch/vd << 
168 endif                                              84 endif
169                                                    85 
170 vdso-install-y += arch/loongarch/vdso/vdso.so. !!  86 boot := arch/sparc/boot
171                                                    87 
172 all:    $(notdir $(KBUILD_IMAGE)) $(KBUILD_DTB !!  88 # Default target
                                                   >>  89 all: zImage
173                                                    90 
174 vmlinuz.efi: vmlinux.efi                       !!  91 image zImage tftpboot.img vmlinux.aout: vmlinux
                                                   >>  92         $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
175                                                    93 
176 vmlinux.elf vmlinux.efi vmlinuz.efi: vmlinux   !!  94 archclean:
177         $(Q)$(MAKE) $(build)=$(boot) $(bootvar !!  95         $(Q)$(MAKE) $(clean)=$(boot)
178                                                    96 
179 install:                                       !!  97 # This is the image used for packaging
180         $(Q)install -D -m 755 $(KBUILD_IMAGE)  !!  98 KBUILD_IMAGE := $(boot)/zImage
181         $(Q)install -D -m 644 .config $(INSTAL << 
182         $(Q)install -D -m 644 System.map $(INS << 
183                                                    99 
                                                   >> 100 # Don't use tabs in echo arguments.
                                                   >> 101 ifeq ($(ARCH),sparc)
                                                   >> 102 define archhelp
                                                   >> 103   echo  '* image        - kernel image ($(boot)/image)'
                                                   >> 104   echo  '* zImage       - stripped kernel image ($(boot)/zImage)'
                                                   >> 105   echo  '  tftpboot.img - image prepared for tftp'
                                                   >> 106 endef
                                                   >> 107 else
184 define archhelp                                   108 define archhelp
185         echo '  install              - install !! 109   echo  '* vmlinux      - standard sparc64 kernel'
186         echo                                   !! 110   echo  '* zImage       - stripped and compressed sparc64 kernel ($(boot)/zImage)'
                                                   >> 111   echo  '  vmlinux.aout - a.out kernel for sparc64'
                                                   >> 112   echo  '  tftpboot.img - image prepared for tftp'
187 endef                                             113 endef
                                                   >> 114 endif
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php