Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 13 Jun 2014 04:29:20 +0000 (21:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 13 Jun 2014 04:29:20 +0000 (21:29 -0700)
Pull kbuild misc updates from Michal Marek:
 "This is the non-critical part of kbuild for v3.16-rc1:
   - make deb-pkg can do s390x and arm64
   - new patterns in scripts/tags.sh
   - scripts/tags.sh skips userspace tools' sources (which sometimes
     have copies of kernel structures) and symlinks
   - improvements to the objdiff tool
   - two new coccinelle patches
   - other minor fixes"

* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  scripts: objdiff: support directories for the augument of record command
  scripts: objdiff: fix a comment
  scripts: objdiff: change the extension of disassembly from .o to .dis
  scripts: objdiff: improve path flexibility for record command
  scripts: objdiff: remove unnecessary code
  scripts: objdiff: direct error messages to stderr
  scripts: objdiff: get the path to .tmp_objdiff more simply
  deb-pkg: Add automatic support for s390x architecture
  coccicheck: Add unneeded return variable test
  kbuild: Fix a typo in documentation
  kbuild: trivial - use tabs for code indent where possible
  kbuild: trivial - remove trailing empty lines
  coccinelle: Check for missing NULL terminators in of_device_id tables
  scripts/tags.sh: ignore symlink'ed source files
  scripts/tags.sh: add regular expression replacement pattern for memcg
  builddeb: add arm64 in the supported architectures
  builddeb: use $OBJCOPY variable instead of objcopy
  scripts/tags.sh: ignore code of user space tools
  scripts/tags.sh: add pattern for DEFINE_HASHTABLE
  .gitignore: ignore Module.symvers in all directories

1  2 
scripts/Makefile.host
scripts/kconfig/Makefile
scripts/mod/modpost.c
scripts/package/builddeb
scripts/recordmcount.c

diff --combined scripts/Makefile.host
@@@ -166,5 -166,4 +166,4 @@@ $(host-cshlib): $(obj)/%: $(host-cshobj
        $(call if_changed,host-cshlib)
  
  targets += $(host-csingle)  $(host-cmulti) $(host-cobjs)\
 -         $(host-cxxmulti) $(host-cxxobjs) $(host-cshlib) $(host-cshobjs) 
 +         $(host-cxxmulti) $(host-cxxobjs) $(host-cshlib) $(host-cshobjs)
diff --combined scripts/kconfig/Makefile
@@@ -33,11 -33,11 +33,11 @@@ oldconfig: $(obj)/con
        $< --$@ $(Kconfig)
  
  silentoldconfig: $(obj)/conf
 -      $(Q)mkdir -p include/generated
 +      $(Q)mkdir -p include/config include/generated
        $< --$@ $(Kconfig)
  
  localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
 -      $(Q)mkdir -p include/generated
 +      $(Q)mkdir -p include/config include/generated
        $(Q)perl $< --$@ $(srctree) $(Kconfig) > .tmp.config
        $(Q)if [ -f .config ]; then                                     \
                        cmp -s .tmp.config .config ||                   \
@@@ -319,4 -319,3 +319,3 @@@ $(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qt
  $(obj)/gconf.glade.h: $(obj)/gconf.glade
        $(Q)intltool-extract --type=gettext/glade --srcdir=$(srctree) \
        $(obj)/gconf.glade
diff --combined scripts/mod/modpost.c
@@@ -316,7 -316,7 +316,7 @@@ static struct symbol *sym_add_exported(
                             s->module->name,
                             is_vmlinux(s->module->name) ?"":".ko");
                } else {
 -                      /* In case Modules.symvers was out of date */
 +                      /* In case Module.symvers was out of date */
                        s->module = mod;
                }
        }
@@@ -862,7 -862,7 +862,7 @@@ static const char *section_white_list[
   * without "ax" / "aw".
   */
  static void check_section(const char *modname, struct elf_info *elf,
-                           Elf_Shdr *sechdr)
+                         Elf_Shdr *sechdr)
  {
        const char *sec = sech_name(elf, sechdr);
  
@@@ -1296,12 -1296,12 +1296,12 @@@ static void print_section_list(const ch
   */
  static void report_sec_mismatch(const char *modname,
                                const struct sectioncheck *mismatch,
-                                 const char *fromsec,
-                                 unsigned long long fromaddr,
-                                 const char *fromsym,
-                                 int from_is_func,
-                                 const char *tosec, const char *tosym,
-                                 int to_is_func)
+                               const char *fromsec,
+                               unsigned long long fromaddr,
+                               const char *fromsym,
+                               int from_is_func,
+                               const char *tosec, const char *tosym,
+                               int to_is_func)
  {
        const char *from, *from_p;
        const char *to, *to_p;
  }
  
  static void check_section_mismatch(const char *modname, struct elf_info *elf,
-                                    Elf_Rela *r, Elf_Sym *sym, const char *fromsec)
+                                  Elf_Rela *r, Elf_Sym *sym, const char *fromsec)
  {
        const char *tosec;
        const struct sectioncheck *mismatch;
@@@ -1528,7 -1528,7 +1528,7 @@@ static int addend_arm_rel(struct elf_in
        case R_ARM_ABS32:
                /* From ARM ABI: (S + A) | T */
                r->r_addend = (int)(long)
-                             (elf->symtab_start + ELF_R_SYM(r->r_info));
+                             (elf->symtab_start + ELF_R_SYM(r->r_info));
                break;
        case R_ARM_PC24:
        case R_ARM_CALL:
        case R_ARM_THM_JUMP19:
                /* From ARM ABI: ((S + A) | T) - P */
                r->r_addend = (int)(long)(elf->hdr +
-                             sechdr->sh_offset +
-                             (r->r_offset - sechdr->sh_addr));
+                             sechdr->sh_offset +
+                             (r->r_offset - sechdr->sh_addr));
                break;
        default:
                return 1;
@@@ -1571,7 -1571,7 +1571,7 @@@ static int addend_mips_rel(struct elf_i
  }
  
  static void section_rela(const char *modname, struct elf_info *elf,
-                          Elf_Shdr *sechdr)
+                        Elf_Shdr *sechdr)
  {
        Elf_Sym  *sym;
        Elf_Rela *rela;
  }
  
  static void section_rel(const char *modname, struct elf_info *elf,
-                         Elf_Shdr *sechdr)
+                       Elf_Shdr *sechdr)
  {
        Elf_Sym *sym;
        Elf_Rel *rel;
   * be discarded and warns about it.
   **/
  static void check_sec_ref(struct module *mod, const char *modname,
-                           struct elf_info *elf)
+                         struct elf_info *elf)
  {
        int i;
        Elf_Shdr *sechdrs = elf->sechdrs;
@@@ -1945,7 -1945,7 +1945,7 @@@ static int add_versions(struct buffer *
                                             s->name, mod->name);
                                } else {
                                        merror("\"%s\" [%s.ko] undefined!\n",
-                                                 s->name, mod->name);
+                                              s->name, mod->name);
                                        err = 1;
                                }
                        }
@@@ -2113,10 -2113,8 +2113,10 @@@ static void read_dump(const char *fname
                s->preloaded = 1;
                sym_update_crc(symname, mod, crc, export_no(export));
        }
 +      release_file(file, size);
        return;
  fail:
 +      release_file(file, size);
        fatal("parse error in symbol dump file\n");
  }
  
diff --combined scripts/package/builddeb
@@@ -35,13 -35,15 +35,15 @@@ create_package() 
        sparc*)
                debarch=sparc ;;
        s390*)
-               debarch=s390 ;;
+               debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;;
        ppc*)
                debarch=powerpc ;;
        parisc*)
                debarch=hppa ;;
        mips*)
                debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;;
+       arm64)
+               debarch=arm64 ;;
        arm*)
                debarch=arm$(grep -q CONFIG_AEABI=y $KCONFIG_CONFIG && echo el || true) ;;
        *)
@@@ -130,7 -132,7 +132,7 @@@ if [ "$ARCH" = "um" ] ; the
        cp System.map "$tmpdir/usr/lib/uml/modules/$version/System.map"
        cp $KCONFIG_CONFIG "$tmpdir/usr/share/doc/$packagename/config"
        gzip "$tmpdir/usr/share/doc/$packagename/config"
 -else 
 +else
        cp System.map "$tmpdir/boot/System.map-$version"
        cp $KCONFIG_CONFIG "$tmpdir/boot/config-$version"
  fi
@@@ -155,11 -157,11 +157,11 @@@ if grep -q '^CONFIG_MODULES=y' $KCONFIG
                        for module in $(find lib/modules/ -name *.ko); do
                                mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module)
                                # only keep debug symbols in the debug file
-                               objcopy --only-keep-debug $module $dbg_dir/usr/lib/debug/$module
+                               $OBJCOPY --only-keep-debug $module $dbg_dir/usr/lib/debug/$module
                                # strip original module from debug symbols
-                               objcopy --strip-debug $module
+                               $OBJCOPY --strip-debug $module
                                # then add a link to those
-                               objcopy --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module
+                               $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module
                        done
                )
        fi
diff --combined scripts/recordmcount.c
  #define R_METAG_NONE                     3
  #endif
  
 +#ifndef EM_AARCH64
 +#define EM_AARCH64    183
 +#define R_AARCH64_ABS64       257
 +#endif
 +
  static int fd_map;    /* File descriptor for file being modified. */
  static int mmap_failed; /* Boolean flag. */
  static void *ehdr_curr; /* current ElfXX_Ehdr *  for resource cleanup */
@@@ -352,8 -347,6 +352,8 @@@ do_file(char const *const fname
        case EM_ARM:     reltype = R_ARM_ABS32;
                         altmcount = "__gnu_mcount_nc";
                         break;
 +      case EM_AARCH64:
 +                       reltype = R_AARCH64_ABS64; gpfx = '_'; break;
        case EM_IA_64:   reltype = R_IA64_IMM64;   gpfx = '_'; break;
        case EM_METAG:   reltype = R_METAG_ADDR32;
                         altmcount = "_mcount_wrapper";
@@@ -487,5 -480,3 +487,3 @@@ main(int argc, char *argv[]
        }
        return !!n_error;
  }