Skip to content
Snippets Groups Projects
  1. Jan 28, 2016
  2. Jan 25, 2016
  3. Jan 20, 2016
  4. Jan 03, 2016
  5. Nov 10, 2015
  6. Nov 07, 2015
  7. Oct 30, 2015
    • Felix Fietkau's avatar
      build: Allow kernel modules to set build ID debug symbol · 3bbb9277
      Felix Fietkau authored
      
      This change adds support for specifying a build ID for kernel modules.
      This is done by setting PKG_BUILD_ID to a hexadecimal string, which will
      then be passed to the kernel linker. In addition, when this flag is set,
      the build ID debug symbol (.note.gnu.build-id) will not be stripped from
      the kernel module. This symbol is exported in sysfs by the kernel (if
      the kernel is compiled with CONFIG_KALLSYMS) and so can be used to
      uniquely identify a version of a kernel module in a running kernel. This
      is useful for keeping track of different versions of a module when doing
      experiments and development.
      
      Modules that specify the build ID will be ~100 bytes larger (depending
      on the length of the build ID specified). There is no size difference
      for kernel modules that do not set this variable.
      
      Signed-off-by: default avatarToke Høiland-Jørgensen <toke@toke.dk>
      
      SVN-Revision: 47290
      3bbb9277
  8. Aug 25, 2015
  9. Jun 29, 2015
  10. Jun 23, 2015
  11. Jun 15, 2015
  12. Apr 06, 2015
  13. Mar 15, 2015
  14. Feb 10, 2015
  15. Feb 06, 2015
  16. Feb 05, 2015
  17. Jan 10, 2015
  18. Dec 27, 2014
    • Felix Fietkau's avatar
      build: use gcc-provided ar, nm and ranlib where appropriate · 9a467998
      Felix Fietkau authored
      
      Since GCC 4.7, GCC provides its own wrappers around ar, nm and ranlib, which
      should be used for builds with link-time optimization. Since GCC 4.9, using them
      actually necessary for LTO builds using convenience libraries to succeed.
      
      There are some packages which try to automatically detect if gcc-{ar,nm,ranlib}
      exist (one example is my package "fastd" in the package repository, which tries
      to use LTO). This breaks because the OpenWrt build system explicitly sets the
      binutils versions of these tools.
      
      As it doesn't cause any issues to use gcc-{ar,nm,ranlib} instead of
      {ar,nm,ranlib} even without LTO, this patch just makes OpenWrt use the
      GCC-provided versions by default, which fixes the build of such packages with
      GCC 4.9.
      
      (I know that builds fail though when clang is used with -flto and
      gcc-{ar,nm,ranlib}, but as all OpenWrt toolchains are based on GCC, this isn't
      a real issue.)
      
      Completely cleaning the tree (or at least `make clean toolchain/clean`) is
      necessary to get a consistent state after the binutils plugins support patch and
      this one (as trying to use gcc-{ar,nm,ranlib} with a binutils built without
      plugin support will definitely lead to a build failure).
      
      Signed-off-by: default avatarMatthias Schiffer <mschiffer@universe-factory.net>
      
      SVN-Revision: 43784
      9a467998
  19. Oct 22, 2014
  20. Oct 20, 2014
  21. Aug 26, 2014
  22. Mar 22, 2014
  23. Mar 21, 2014
  24. Mar 10, 2014
  25. Nov 29, 2013
  26. Nov 22, 2013
  27. Sep 26, 2013
  28. Aug 14, 2013
  29. Jul 29, 2013
  30. Jul 18, 2013
  31. Jul 10, 2013
Loading