1. 03 Dec, 2008 12 commits
    • Andreas Gruenbacher's avatar
      genksyms: allow to ignore symbol checksum changes · 5dae9a55
      Andreas Gruenbacher authored
      This adds an "override" keyword for use in *.symvers / *.symref files.
      When a symbol is overridden, the symbol's old definition will be used for
      computing checksums instead of the new one, preserving the previous
      checksum.  (Genksyms will still warn about the change.)
      
      This is meant to allow distributions to hide minor actual as well as fake
      ABI changes.  (For example, when extra type information becomes available
      because additional headers are included, this may change checksums even
      though none of the types used have actully changed.)
      
      This approach also allows to get rid of "#ifdef __GENKSYMS__" hacks in the
      code, which are currently used in some vendor kernels to work around
      checksum changes.
      Signed-off-by: default avatarAndreas Gruenbacher <agruen@suse.de>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      5dae9a55
    • Andreas Gruenbacher's avatar
      genksyms: track symbol checksum changes · 64e6c1e1
      Andreas Gruenbacher authored
      Sometimes it is preferable to avoid changes of exported symbol checksums
      (to avoid breaking externally provided modules).  When a checksum change
      occurs, it can be hard to figure out what caused this change: underlying
      types may have changed, or additional type information may simply have
      become available at the point where a symbol is exported.
      
      Add a new --reference option to genksyms which allows it to report why
      checksums change, based on the type information dumps it creates with the
      --dump-types flag.  Genksyms will read in such a dump from a previous run,
      and report which symbols have changed (and why).
      
      The behavior can be controlled for an entire build as follows: If
      KBUILD_SYMTYPES is set, genksyms uses --dump-types to produce *.symtypes
      dump files.  If any *.symref files exist, those will be used as the
      reference to check against.  If KBUILD_PRESERVE is set, checksum changes
      will fail the build.
      Signed-off-by: default avatarAndreas Gruenbacher <agruen@suse.de>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      64e6c1e1
    • Sam Ravnborg's avatar
      tags and cscope support really belongs in a shell script · a680eedc
      Sam Ravnborg authored
      as they do not benefit from the make functionality.
      
      Moving the support to a shell script has several benefits:
      - The readability of the code has increased a lot
      - More people is able to extend the tags support
      - We see less changes to the top-level Makefile
      
      The shell script version includes improvements from:
      Alexey Dobriyan <adobriyan@gmail.com> (jump to kconfig symbols)
      Alexey Dobriyan <adobriyan@gmail.com> (drop ./ in paths)
      Ian Campbell <ijc@hellion.org.uk> (simplified find algorithms)
      
      This version has a few caveats:
      => It does not support ALLSOURCE_ARCHS
         - it is easy to add if it is really used
      => It assumes all archs have moved to arch/$ARCH/include
         - until that happens we have a few additional hits in the archs
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Tested-by: default avatarIan Campbell <ijc@hellion.org.uk>
      a680eedc
    • Sam Ravnborg's avatar
      kconfig: fix options to check-lxdialog.sh · f6682f91
      Sam Ravnborg authored
      As noted by Bernhard - fix it up.
      
      Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      f6682f91
    • Sally, Gene's avatar
      kbuild: gen_init_cpio expands shell variables in file names · 3b1ec9fb
      Sally, Gene authored
      Modify gen_init_cpio so that lines that specify files can contain
      what looks like a shell variable that's expanded during processing.
      
      For example:
      
         file /sbin/kinit ${RFS_BASE}/usr/src/klibc/kinit/kinit 0755 0 0
      
      given RFS_BASE is "/some/directory" in the environment
      
      would be expanded to
      
         file /sbin/kinit /some/directory/usr/src/klibc/kinit/kinit 0755 0 0
      
      If several environment variables appear in a line, they are all expanded
      with processing happening from left to right.
      Undefined variables expand to a null string.
      Syntax errors stop processing, letting the existing error handling
      show the user offending line.
      
      This patch helps embedded folks who frequently create several
      RFS directories and then switch between them as they're tuning
      an initramfs.
      
      Signed-off-by: gene.sally@timesys.com
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      3b1ec9fb
    • Werner Almesberger's avatar
      remove bashisms from scripts/extract-ikconfig · efddd795
      Werner Almesberger authored
      unbashify-extract-ikconfig.patch
      
      scripts/extract-ikconfig contains a lot of gratuituous bashisms,
      which make it fail if /bin/sh isn't bash. This patch replaces them
      with regular Bourne shell constructs.
      Signed-off-by: default avatarWerner Almesberger <werner@openmoko.org>
      Acked-by: Randy Dunlap <randy.dunlap@oracle.com> # as file author
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      efddd795
    • Sam Ravnborg's avatar
      kbuild: teach mkmakfile to be silent · d2301249
      Sam Ravnborg authored
      With this fix a "make -s" is now really silent
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      d2301249
    • Mike Frysinger's avatar
      kbuild: use KECHO convenience echo · fd54f502
      Mike Frysinger authored
      Convert a few echos in the build system to new $(kecho) so we get correct
      output according to build verbosity.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      [sam: added kecho in a few more places for O=... builds]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      fd54f502
    • Mike Frysinger's avatar
      kbuild: introduce $(kecho) convenience echo · 5410ecc0
      Mike Frysinger authored
      There is a bunch of places in the build system where we do 'echo' to show
      some nice status lines.  This means we still get output when running in
      silent mode.  So declare a new KECHO variable that only does 'echo' when we
      are in a suitable verbose build mode.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      [sam: added Documentation]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      5410ecc0
    • Mike Frysinger's avatar
      kbuild: kill output in silent mode of mkcompile_h · d03fab43
      Mike Frysinger authored
      The mkcompile_h script does `echo` regardless of silent mode the make is
      running at, so have it respect $quiet from kbuild and only echo when not in
      silent mode.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      d03fab43
    • Sam Ravnborg's avatar
      kbuild: expand -I in KBUILD_CPPFLAGS · d8672b40
      Sam Ravnborg authored
      kbuild failed to expand include flags in KBUILD_CPPFLAGS
      resulting in code like this in arch Makefiles:
      
      ifeq ($(KBUILD_SRC),)
      KBUILD_CPPFLAGS += -Iinclude/foo
      else
      KBUILD_CPPFLAGS += -I$(srctree)/include/foo
      endif
      
      Move use of LINUXINCLUDE into Makefile.lib to allow
      us to expand -I directives of KBUILD_CPPFLAGS so
      we can avoid the above code.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      d8672b40
    • Sam Ravnborg's avatar
      kbuild: fix -I option expansion with O=... builds · 5b91c33c
      Sam Ravnborg authored
      When adding extra -I options with O=... we could
      end up in a situation where there were no parameters to -I.
      So we had a commandline that looked like this:
      
          ... -I -Wall ...
      
      This had the undesired side effect that gcc assumed "-Wall"
      was a path to look for include files so this options was
      effectively ignored.
      
      This happens only when we build the generated module.mod.c files
      as part of the final modules builds and is as such harmless
      with current kbuild.
      This bug was exposed when we rearranged the options to gcc.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      5b91c33c
  2. 02 Dec, 2008 28 commits