1. 07 3月, 2009 2 次提交
    • G
      kbuild: remove unused -r option for module-init-tool depmod · 75bccd88
      Gilles Espinasse 提交于
      Following a thread on busybox mailing list
      depmod -r option is ignored by module-init-tools depmod
      -r option break busybox depmod.
      
      So the best solution look to remove -r from kernel Makefile
      Signed-off-by: NGilles Espinasse <g.esp@free.fr>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      75bccd88
    • J
      kbuild: fix 'make rpm' when CONFIG_LOCALVERSION_AUTO=y and using SCM tree · b925dbfe
      Josh Hunt 提交于
      Running 'make rpm' fails when CONFIG_LOCALVERSION_AUTO=y and using a kernel source
      tree under SCM.  This is due to KERNELRELEASE being different when the initial make
      is run and when make is run from rpmbuild.
      
      mkspec creates kernel.spec using KERNELRELEASE:
      
      <mkspec>
      echo "%files"
      echo '%defattr (-, root, root)'
      echo "%dir /lib/modules"
      echo "/lib/modules/$KERNELRELEASE"
      echo "/lib/firmware"
      echo "/boot/*"
      echo ""
      </mkspec>
      
      When CONFIG_LOCALVERSION_AUTO=y scripts/setlocalversion is called and grabs any
      additional version info from SCM.  Next, the srctree is tarred up and SCM
      information is excluded.
      
      rpmbuild reruns make and in the process generates a new include/config/kernel.release
      and thus a new KERNELRELEASE.  However this time the SCM information is gone so
      KERNELRELEASE no longer has the additional version information.  When "make modules_install"
      runs, it uses the new KERNELRELEASE value to determine where to install the modules.
      This conflicts with where the spec file assumes they are going because of the
      mis-matching KERNELRELEASE versions.
      
      <snippet>
      + INSTALL_MOD_PATH=/var/tmp/kernel-2.6.29rc4tip01479g5d85422-root
      + make -j16 modules_install
        INSTALL crypto/aead.ko
        INSTALL crypto/cbc.ko
        INSTALL crypto/chainiv.ko
        INSTALL crypto/crc32c.ko
        INSTALL crypto/crypto_algapi.ko
        INSTALL crypto/crypto_blkcipher.ko
        INSTALL crypto/crypto_hash.ko
        INSTALL crypto/cryptomgr.ko
        INSTALL crypto/ecb.ko
        INSTALL crypto/eseqiv.ko
        INSTALL crypto/krng.ko
        INSTALL crypto/md5.ko
        INSTALL crypto/pcbc.ko
        INSTALL crypto/rng.ko
        INSTALL drivers/block/cciss.ko
        INSTALL drivers/hid/hid-dummy.ko
        INSTALL drivers/scsi/iscsi_tcp.ko
        INSTALL drivers/scsi/libiscsi.ko
        INSTALL drivers/scsi/libiscsi_tcp.ko
        INSTALL drivers/scsi/scsi_transport_iscsi.ko
        INSTALL drivers/scsi/scsi_wait_scan.ko
        INSTALL fs/lockd/lockd.ko
        INSTALL fs/nfs/nfs.ko
        INSTALL fs/nfsd/nfsd.ko
        INSTALL lib/libcrc32c.ko
        INSTALL net/sunrpc/sunrpc.ko
        DEPMOD  2.6.29-rc4-tip
      + cp arch/x86/boot/bzImage
      /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/vmlinuz-2.6.29-rc4-tip-01479-g5d85422
      + cp System.map
      /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/System.map-2.6.29-rc4-tip-01479-g5d85422
      + cp .config
      /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/config-2.6.29-rc4-tip-01479-g5d85422
      + cp vmlinux vmlinux.orig
      + bzip2 -9 vmlinux
      + mv vmlinux.bz2
      /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/vmlinux-2.6.29-rc4-tip-01479-g5d85422.bz2
      + mv vmlinux.orig vmlinux
      + /usr/lib/rpm/brp-compress
      Processing files: kernel-2.6.29rc4tip01479g5d85422-2
      error: File not found:
      /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/lib/modules/2.6.29-rc4-tip-01479-g5d85422
      
      RPM build errors:
          File not found:
      /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/lib/modules/2.6.29-rc4-tip-01479-g5d85422
      make[1]: *** [rpm] Error 1
      make: *** [rpm] Error 2
      </snippet>
      
      I have tested this patch on git -tip, Linus' git tree, and the kernel.org tar files, both
      with and without CONFIG_LOCALVERSION_AUTO=y.
      Signed-off-by: NJosh Hunt <josh@scalex86.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      ----
      b925dbfe
  2. 04 3月, 2009 1 次提交
  3. 23 2月, 2009 1 次提交
  4. 15 2月, 2009 1 次提交
  5. 14 2月, 2009 1 次提交
  6. 09 2月, 2009 1 次提交
  7. 29 1月, 2009 1 次提交
  8. 17 1月, 2009 1 次提交
  9. 16 1月, 2009 1 次提交
    • S
      m68k,m68knommu: merge header files · 49148020
      Sam Ravnborg 提交于
      Merge header files for m68k and m68knommu to the single location:
      
          arch/m68k/include/asm
      
      The majority of this patch was the result of the
      script that is included in the changelog below.
      
      The script was originally written by Arnd Bergman and
      exten by me to cover a few more files.
      
      When the header files differed the script uses the following:
      
      The original m68k file is named <file>_mm.h  [mm for memory manager]
      The m68knommu file is named <file>_no.h [no for no memory manager]
      
      The files uses the following include guard:
      
      This include gaurd works as the m68knommu toolchain set
      the __uClinux__ symbol - so this should work in userspace too.
      
      Merging the header files for m68k and m68knommu exposes the
      (unexpected?) ABI differences thus it is easier to actually
      identify these and thus to fix them.
      
      The commit has been build tested with both a m68k and
      a m68knommu toolchain - with success.
      
      The commit has also been tested with "make headers_check"
      and this patch fixes make headers_check for m68knommu.
      
      The script used:
      TARGET=arch/m68k/include/asm
      SOURCE=arch/m68knommu/include/asm
      
      INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \
      linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \
      oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \
      shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \
      termbits.h termios.h tlb.h types.h user.h"
      
      EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \
      ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \
      sections.h topology.h"
      
      NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \
      elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \
      m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \
      m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \
      m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \
      mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \
      mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \
      nettel.h quicc_simple.h smp.h"
      
      FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \
      cacheflush.h checksum.h current.h delay.h div64.h \
      dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \
      irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \
      module.h page.h page_offset.h param.h pci.h pgalloc.h \
      pgtable.h processor.h ptrace.h scatterlist.h segment.h \
      setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \
      thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \
      unaligned.h unistd.h"
      
      mergefile() {
      	BASE=${1%.h}
      	git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h
      	git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h
      
      cat << EOF > ${TARGET}/$1
      EOF
      
      	git add ${TARGET}/$1
      }
      
      set -e
      
      mkdir -p ${TARGET}
      
      git mv include/asm-m68k/* ${TARGET}
      rmdir include/asm-m68k
      
      git rm ${SOURCE}/Kbuild
      for F in $INCLUDE $EQUAL; do
      	git rm ${SOURCE}/$F
      done
      
      for F in $NOMUUFILES; do
      	git mv ${SOURCE}/$F ${TARGET}/$F
      done
      
      for F in $FILES ; do
      	mergefile $F
      done
      
      rmdir arch/m68knommu/include/asm
      rmdir arch/m68knommu/include
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      49148020
  10. 15 1月, 2009 1 次提交
  11. 11 1月, 2009 1 次提交
  12. 08 1月, 2009 1 次提交
  13. 06 1月, 2009 1 次提交
  14. 03 1月, 2009 1 次提交
  15. 25 12月, 2008 1 次提交
  16. 20 12月, 2008 2 次提交
    • J
      allow stripping of generated symbols under CONFIG_KALLSYMS_ALL · 9bb48247
      Jan Beulich 提交于
      Building upon parts of the module stripping patch, this patch
      introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y.
      Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of
      CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64)
      kernels I tested with.
      
      The patch also does away with the need to special case the kallsyms-
      internal symbols by making them available even in the first linking
      stage.
      
      While it is a generated file, the patch includes the changes to
      scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure
      here is.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      9bb48247
    • J
      kbuild: strip generated symbols from *.ko · ad7a953c
      Jan Beulich 提交于
      This patch changes the way __crc_ symbols are being resolved from
      using ld to do so to using the assembler, thus allowing these symbols
      to be marked local (the linker creates then as global ones) and hence
      allow stripping (for modules) or ignoring (for vmlinux) them. While at
      this, also strip other generated symbols during module installation.
      
      One potentially debatable point is the handling of the flags passeed
      to gcc when translating the intermediate assembly file into an object:
      passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to
      gas whenever is sees any -g* option, even for -g0, and despite the
      fact that the compiler would have already produced all necessary debug
      info in the C->assembly translation phase. I took the approach of just
      filtering out all -g* options, but an alternative to such negative
      filtering might be to have a positive filter which might, in the ideal
      case allow just all the -Wa,* options to pass through.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      ad7a953c
  17. 19 12月, 2008 2 次提交
  18. 14 12月, 2008 1 次提交
    • S
      kbuild: fix make incompatibility · 31110ebb
      Sam Ravnborg 提交于
      "Paul Smith" <psmith@gnu.org> reported that we would fail
      to build with a new check that may be enabled in an
      upcoming version of make.
      
      The error was:
      
            Makefile:442: *** mixed implicit and normal rules.  Stop.
      
      The problem is that we did stuff like this:
      
      config %config: ...
      
      The solution was simple - the above was split into two with identical
      prerequisites and commands.
      With only three lines it was not worth to try to avoid the duplication.
      
      Cc: "Paul Smith" <psmith@gnu.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      31110ebb
  19. 11 12月, 2008 1 次提交
  20. 05 12月, 2008 1 次提交
    • S
      sparc,sparc64: unify Makefile · 5e538790
      Sam Ravnborg 提交于
      To unify Makefile for sparc and sparc64 a few other steps was needed:
      1) separate defconfig files for sparc and sparc64 is required,
         so locate these in arch/sparc/configs
      2) removoval of hack in toplevel Makefile to deal with that
         headers was in a separate directory compared to the rest
      
      The unification of the Makefile required usage of several
      
          foo-$(CONFIG_SPARCnn) +=
      
      due to a few directories pending unification.
      This will be cleaned up when we unify the remaining directories.
      
      Included in this patch are the deletion of a few files in
      sparc64 as they are no longer needed: Makefile + Kconfig.
      arch/sparc64/ will after this patch is applied only
      have four directories (prom, lib, kernel, boot)
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e538790
  21. 04 12月, 2008 3 次提交
    • S
      tags and cscope support really belongs in a shell script · a680eedc
      Sam Ravnborg 提交于
      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: NSam Ravnborg <sam@ravnborg.org>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Tested-by: NIan Campbell <ijc@hellion.org.uk>
      a680eedc
    • M
      kbuild: use KECHO convenience echo · fd54f502
      Mike Frysinger 提交于
      Convert a few echos in the build system to new $(kecho) so we get correct
      output according to build verbosity.
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      [sam: added kecho in a few more places for O=... builds]
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      fd54f502
    • S
      kbuild: expand -I in KBUILD_CPPFLAGS · d8672b40
      Sam Ravnborg 提交于
      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: NSam Ravnborg <sam@ravnborg.org>
      d8672b40
  22. 02 12月, 2008 1 次提交
  23. 21 11月, 2008 1 次提交
  24. 16 11月, 2008 1 次提交
  25. 10 11月, 2008 1 次提交
  26. 03 11月, 2008 1 次提交
  27. 30 10月, 2008 2 次提交
  28. 27 10月, 2008 1 次提交
  29. 24 10月, 2008 1 次提交
  30. 23 10月, 2008 1 次提交
  31. 21 10月, 2008 1 次提交
  32. 10 10月, 2008 1 次提交
  33. 07 10月, 2008 1 次提交
  34. 30 9月, 2008 1 次提交