lkml.org 
[lkml]   [2007]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 02/03] kbuild, asm-values: successor of asm-offsets
    	Some asm-offsets files define not only offsets, thus make it clear.
    Legacy files are supported, but may be freely changed to new scheme.

    rfc-by: Oleg Verych
    ---
    If somebody agrees, of course.

    Kbuild | 68 ++++++++++++++++++++-------------------------------------------
    1 file changed, 24 insertions(+), 44 deletions(-)

    Index: linux-2.6.22-rc4-mm2/Kbuild
    ===================================================================
    --- linux-2.6.22-rc4-mm2.orig/Kbuild 2007-06-13 01:25:27.696264750 +0200
    +++ linux-2.6.22-rc4-mm2/Kbuild 2007-06-13 01:28:10.306427250 +0200
    @@ -1,60 +1,40 @@
    #
    -# Kbuild for top-level directory of the kernel
    -# This file takes care of the following:
    -# 1) Generate asm-offsets.h
    -# 2) Check for missing system calls
    -
    -#####
    -# 1) Generate asm-offsets.h
    +# Kbuild for top-level directory of the Linux
    #
    +# 1) Generate (if needed) asm-values.h (former asm-offsets) for ARCH
    +# 2) Check for missing system calls

    -offsets-file := include/asm-$(ARCH)/asm-offsets.h
    +####
    +# 1)

    -always := $(offsets-file)
    -targets := $(offsets-file)
    -targets += arch/$(ARCH)/kernel/asm-offsets.s
    -clean-files := $(addprefix $(objtree)/,$(targets))
    -
    -# Default sed regexp - multiline due to syntax constraints
    -define sed-y
    - "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"
    -endef
    -# Override default regexp for specific architectures
    -sed-$(CONFIG_MIPS) := "/^@@@/{s/^@@@//; s/ \#.*\$$//; p;}"
    -
    -quiet_cmd_offsets = GEN $@
    -define cmd_offsets
    - (set -e; \
    - echo "#ifndef __ASM_OFFSETS_H__"; \
    - echo "#define __ASM_OFFSETS_H__"; \
    - echo "/*"; \
    - echo " * DO NOT MODIFY."; \
    - echo " *"; \
    - echo " * This file was generated by Kbuild"; \
    - echo " *"; \
    - echo " */"; \
    - echo ""; \
    - sed -ne $(sed-y) $<; \
    - echo ""; \
    - echo "#endif" ) > $@
    -endef
    +# legacy asm-offsets support (FIXME: convert all archs and remove this)
    +old = $(shell test -e $(srctree)/arch/$(ARCH)/kernel/asm-offsets.c && echo yes)
    +ifeq ($(old),yes)
    + asm-values =asm-offsets
    +else
    + asm-values =asm-values
    +endif
    +asm-values_c := $(src)/arch/$(ARCH)/kernel/$(asm-values).c
    +asm-values_h := $(obj)/include/asm-$(ARCH)/$(asm-values).h
    +asm-values := $(obj)/arch/$(ARCH)/kernel/$(asm-values).s
    +include $(srctree)/scripts/Makefile.asm

    -# We use internal kbuild rules to avoid the "is up to date" message from make
    -arch/$(ARCH)/kernel/asm-offsets.s: arch/$(ARCH)/kernel/asm-offsets.c FORCE
    +$(asm-values): $(asm-values_c) FORCE
    $(Q)mkdir -p $(dir $@)
    $(call if_changed_dep,cc_s_c)

    -$(obj)/$(offsets-file): arch/$(ARCH)/kernel/asm-offsets.s Kbuild
    +$(asm-values_h): $(asm-values) Kbuild
    $(Q)mkdir -p $(dir $@)
    - $(call cmd,offsets)
    + $(call cmd,mkasm-values,$(ARCH))

    -#####
    -# 2) Check for missing system calls
    -#
    +####
    +# 2)

    quiet_cmd_syscalls = CALL $<
    cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags)

    -PHONY += missing-syscalls
    missing-syscalls: scripts/checksyscalls.sh FORCE
    $(call cmd,syscalls)
    +
    +PHONY += missing-syscalls
    +.PHONY: $(PHONY)
    --

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-13 01:43    [W:0.026 / U:0.104 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site