Skip to content
Snippets Groups Projects
  1. Feb 05, 2015
  2. Jan 10, 2015
  3. 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
  4. Oct 22, 2014
  5. Oct 20, 2014
  6. Aug 26, 2014
  7. Mar 22, 2014
  8. Mar 21, 2014
  9. Mar 10, 2014
  10. Nov 29, 2013
  11. Nov 22, 2013
  12. Sep 26, 2013
  13. Aug 14, 2013
  14. Jul 29, 2013
  15. Jul 18, 2013
  16. Jul 10, 2013
  17. May 09, 2013
  18. May 06, 2013
  19. Apr 05, 2013
  20. Mar 22, 2013
  21. Feb 20, 2013
  22. Jan 13, 2013
  23. Dec 02, 2012
  24. Nov 23, 2012
  25. Nov 22, 2012
  26. Oct 06, 2012
  27. Sep 22, 2012
  28. Sep 09, 2012
  29. Aug 10, 2012
  30. Jul 28, 2012
Loading