An error occurred fetching the project authors.
  1. 08 Feb, 2003 1 commit
    • Kai Germaschewski's avatar
      kbuild: Handle external SUBDIRS with modversions · ac844bd1
      Kai Germaschewski authored
      We need to collect a list of all modules during the recursive build. I used
      a "touch .tmp_versions/<path/to/module.ko>" to do so, which however doesn't
      work so well, when path/to isn't inside the kernel tree.
        
      The best way to build external modules is currently using kbuild by saying
      "make SUBDIRS=/some/external/dir modules", which was thus broken. While this
      way is not all that optimal and I hope to come up with something better
      before 2.6, it works and should keep working, so this patch fixes the usage
      above.
        
      Instead of touching files with the entire path added, we just create a
      <module>.mod file in $(MODVERDIR) now, and save the path to the module.ko 
      in it. Since module names are unique, a flat hierarchy is actually fine here.
      ac844bd1
  2. 05 Feb, 2003 1 commit
  3. 04 Feb, 2003 1 commit
  4. 03 Feb, 2003 2 commits
    • Kai Germaschewski's avatar
      kbuild: Assorted fixlets · 03e7dcfb
      Kai Germaschewski authored
      o Build modules with CONFIG_MODVERSIONS when just saying "make"
      o Ignore generated *.ver.c files
      o Fix a typo (Sam Ravnborg)
      o Fix another typo (Paul Marinceu)
      03e7dcfb
    • Kai Germaschewski's avatar
      kbuild: Rename CONFIG_MODVERSIONING -> CONFIG_MODVERSIONS · d5ea3bb5
      Kai Germaschewski authored
      CONFIG_MODVERSIONING was a temporary name introduced to distinguish
      between the old and new module version implementation. Since the
      traces of the old implementation are now gone from the build system,
      we rename the config option back in order to not confuse users more
      than necessary in 2.6.
       
      Also, remove some historic modversions cruft throughout the tree.
      d5ea3bb5
  5. 26 Jan, 2003 3 commits
    • Sam Ravnborg's avatar
      kbuild: Enable the syntax "make dir/" · 8aba4e43
      Sam Ravnborg authored
      "make dir/" is used to build a subsystem without going through the
      full kernel tree, neither completing the build.
      This is solely useful during development, when focus is on a
      single subsystem.
      This is the counterpart to "make dir/module.ko"
      8aba4e43
    • Sam Ravnborg's avatar
      kbuild: HEAD replaced with head-y · 50c71fe5
      Sam Ravnborg authored
      In arch/$(ARCH)/Makefile the objects to be linked as the very first are specified with HEAD.
      To make more consistent naming, and to allow smarter kbuild style declarations
      HEAD is replaced with head-y.
      Support for the old notaion is kept for now.
      Only i386 updated.
      50c71fe5
    • Sam Ravnborg's avatar
      kbuild: arch{mrproper,clean} no longer mandatory · 7806d2f1
      Sam Ravnborg authored
      archmrproper and archclean is declared .PHONY in top-level Makefile,
      therefore they are no longer mandatory in arch/$(ARCH)/Makefile.
      7806d2f1
  6. 25 Jan, 2003 2 commits
  7. 24 Jan, 2003 4 commits
    • Kai Germaschewski's avatar
      kbuild/modules: Record versions for unresolved symbols · dcc38eae
      Kai Germaschewski authored
      In the case of CONFIG_MODVERSIONING, the build step will only
      generate preliminary <module>.o objects, and an additional
      postprocessing step is necessary to record the versions of the unresolved
      symbols and add them into the final <module>.ko
        
      The version information for unresolved symbols is again recorded into
      a special section, "__versions", which contains an array of symbol
      name strings and checksum (struct modversion_info). Size is here not
      an issue, since this section will not be stored permanently in kernel
      memory.
        
      Makefile.modver takes care of the following steps:
      o Collect the version information for all exported symbols from vmlinux
        and all modules which export symbols.
      o For each module, generate a C file which contains the modversion
        information for all unresolved symbols in that module.
      o For each module, compile that C file to an object file
      o Finally, link the <module>.ko using the preliminary <module.o> + the
        version information above.
        
      The first two steps are currently done by not very efficient scripting,
      so there's room for performance improvement using some helper C code.
      dcc38eae
    • Kai Germaschewski's avatar
      kbuild: Don't build final .ko yet when descending with CONFIG_MODVERSIONING · e4ccd604
      Kai Germaschewski authored
      With CONFIG_MODVERSIONING, we need to record the versions of the unresolved
      symbols in the final <module>.ko, which we only know after we finished
      the descending build. So we only build <module>.o in that case.
        
      Also, keep track of the modules we built, the post-processing step needs
      a list of all modules. Keeping track is done by touching
      .tmp_versions/path/to/module.ko
      e4ccd604
    • Kai Germaschewski's avatar
      kbuild: Remove obsolete CONFIG_MODVERSIONS cruft · 81106eac
      Kai Germaschewski authored
      Though the CONFIG_MODVERSIONS option was removed with rusty's module
      rewrite and the associated code broken, a lot of that code was still
      living on here and there. Now it's gone for good.
      81106eac
    • Kai Germaschewski's avatar
      kbuild: Remove -DEXPORT_SYMTAB switch · 61cfcb3d
      Kai Germaschewski authored
      rusty's module rewrite removed the reference to EXPORT_SYMTAB 
      from linux/module.h, and it's not used anywhere else, either.
      61cfcb3d
  8. 16 Jan, 2003 1 commit
  9. 14 Jan, 2003 1 commit
    • Kai Germaschewski's avatar
      Module Sanity Check · 1d411b80
      Kai Germaschewski authored
      This patch, based on Rusty's implementation, adds a special section
      to vmlinux and all modules, which contain the kernel version
      string, values of some particularly important config options
      (SMP,preempt,proc family) and the gcc version.
      
      When inserting a module, the version string is checked against the
      kernel version string and loading is rejected if they don't match.
      
      The version string is actually added to the modules during the
      final .ko generation, so that a changed version string does only
      cause relinking, not recompilation, which is a major performance
      improvement over the old 2.4 way of doing things.
      1d411b80
  10. 13 Jan, 2003 2 commits
  11. 10 Jan, 2003 1 commit
  12. 08 Jan, 2003 1 commit
  13. 01 Jan, 2003 1 commit
  14. 30 Dec, 2002 4 commits
    • Kai Germaschewski's avatar
      kbuild: Provide "make some/dir/module.ko" · 5c8daf12
      Kai Germaschewski authored
      Now that we have a unique suffix for kernel modules (.ko), we
      can extend to former "make some/object.o" to work for kernel modules
      as well, even composite ones.
      
      It's as easy as "make some/dir/module.ko".
      
      (Sam Ravnborg/me)
      5c8daf12
    • Sam Ravnborg's avatar
      kbuild: Move archhelp to arch/$(ARCH)/Makefile · 656bbdfd
      Sam Ravnborg authored
      arch/$(ARCH)/Makefile already contains the kbuild required additions
      to allow the kernel to be built for the architecture in question.
      Moving archhelp centralise this information, and no longer require a
      boot directory to exist to utilise this feature.
        
      Update i386 to define archhelp in arch/$(ARCH)/Makefile
      Other architectures will be updated in next cset.
      656bbdfd
    • Sam Ravnborg's avatar
      kbuild: $(build) and $(clean) macros for make invocation · 69964a47
      Sam Ravnborg authored
      The former macro $(descend ...) hide for make the fact that a recursively make was
      invoked. The replacement $(Q)$(MAKE) -f scripts/Makefile.build obj=dir was too verbose.
        
      Introduced $(build) and $(clean) allowing the following syntax:
      $(Q)$(MAKE) $(build)=arch/i386/boot target
      and similar for clean.
        
      Introduced $(build) and $(clean) in general, and for i386 architecture.
      69964a47
    • Sam Ravnborg's avatar
      kbuild: More src/objtree fixes · 527efc05
      Sam Ravnborg authored
      Add $(srctree)/ etc. to some more places where it was still missing.
      527efc05
  15. 23 Dec, 2002 1 commit
  16. 16 Dec, 2002 1 commit
  17. 15 Dec, 2002 1 commit
  18. 13 Dec, 2002 1 commit
    • Rusty Russell's avatar
      [PATCH] Revert depmod and hierarchy changes · dd820501
      Rusty Russell authored
      module-init-tools 0.9 and newer supply a replacement depmod, so
      it's safe to run again.
      
      Also, some external programs like PCMCIA and mkinitrd really want the
      directory hierarchy in /lib/modules back again: it makes no difference
      to the tools (since 0.9), so revert it.
      dd820501
  19. 09 Dec, 2002 1 commit
  20. 04 Dec, 2002 3 commits
  21. 27 Nov, 2002 1 commit
  22. 25 Nov, 2002 1 commit
  23. 22 Nov, 2002 3 commits
    • Sam Ravnborg's avatar
      kbuild: No longer use descend macro, added 'Kernel: xxx is ready' text · 38a481f5
      Sam Ravnborg authored
      In the top-level Makefile and in the i386 architecture specific
      makefile no longer use descend.
      i386 is used as template for other architectures, so they shall
      be kept nice.
      
      Also added a little text:
      Kernel: arch/i386/boot/bzImage is ready
      A reminder of what target you did build, and where it is located
      38a481f5
    • Sam Ravnborg's avatar
      kbuild: Introduced build-targets · 80fee71c
      Sam Ravnborg authored
      build-targets is used to list targets that is always built.
      This allowed misuse of EXTRA_TARGETS to be deleted.
      built-in.o is now only created for directories defining a obj-* variable,
      avoiding this for scripts and lxdialog
      
      One Makefile needed a dummy obj- statement
      80fee71c
    • Linus Torvalds's avatar
      Linux v2.5.49 · cebce9d8
      Linus Torvalds authored
      cebce9d8
  24. 21 Nov, 2002 1 commit
    • Andrew Morton's avatar
      [PATCH] detect uninitialised per-cpu storage · 62fb568f
      Andrew Morton authored
      So poor old Dave spent days hunting down memory corruption because the
      `kstat' per-cpu storage is not initialised (it needs to be, it's a workaround
      for ancient gcc's).
      
      The same problem had me hunting for a day too.
      
      This patch, based on an initial version from Rusty will
      parse System.map at final link and will fail the build if
      any per-cpu symbols are found to be not in the percpu section.
      62fb568f
  25. 18 Nov, 2002 1 commit
    • Rusty Russell's avatar
      [PATCH] kallsyms for new modules · a5508ddc
      Rusty Russell authored
      Since I believe kallsyms is important, this reimplements it sanely,
      using the current module infrastructure, and not using an external
      kallsyms script.
      
      FYI, the previous interface was:
      
      int kallsyms_symbol_to_address(
      	const char       *name,			/* Name to lookup */
      	unsigned long    *token,		/* Which module to start with */
      	const char      **mod_name,		/* Set to module name or "kernel" */
      	unsigned long    *mod_start,		/* Set to start address of module */
      	unsigned long    *mod_end,		/* Set to end address of module */
      	const char      **sec_name,		/* Set to section name */
      	unsigned long    *sec_start,		/* Set to start address of section */
      	unsigned long    *sec_end,		/* Set to end address of section */
      	const char      **sym_name,		/* Set to full symbol name */
      	unsigned long    *sym_start,		/* Set to start address of symbol */
      	unsigned long    *sym_end		/* Set to end address of symbol */
      	);
      
      The new one is:
      /* Lookup an address.  modname is set to NULL if it's in the kernel. */
      const char *kallsyms_lookup(unsigned long addr,
      			    unsigned long *symbolsize,
      			    unsigned long *offset,
      			    char **modname);
      a5508ddc