From patchwork Wed May 9 09:50:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 135237 Delivered-To: patch@linaro.org Received: by 10.46.151.6 with SMTP id r6csp5424099lji; Wed, 9 May 2018 02:51:33 -0700 (PDT) X-Google-Smtp-Source: AB8JxZo9O7RGWOc3nCsridsZtTFmjFgrZxLdHYRjlYLa2Zf/wky4BbhsngZjKcLDkY9s+76+9k6a X-Received: by 2002:a65:538a:: with SMTP id x10-v6mr33844595pgq.181.1525859493210; Wed, 09 May 2018 02:51:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525859493; cv=none; d=google.com; s=arc-20160816; b=nHIx9w10fENWo8lyNXtHwGj5eWNbMUIl+408PDBv1l7S2ZTZ8lkFI/jbobhazyU7TC aL+pmlDlevY28x7ImpEGBKftyaWnPeDywgVMqYh2rfO41m2gI8/IWhbYeM235BTXXb0M aA1RzYWRcqYibKdwGCu2zJGo6HHn00osJNhPtCGdgOa0ehi7AnIup9lYRpIz2Lw4mMGF Hm7u88xRf1/Ri+kkRMZ9DW7GTxljVPJQjAecyRYyyINN9vy4k9om8eiVds0KfqSGx7Ql N5mU+eU4YRe2zLtZo7Te8G97sjGz4kYyq1rYKY9jixcvbLU+KAIaOmuIMYRk9gI0ftN6 x+zA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=wbPqzqvArwea1E71BXsGqTT4rsndB2L+CocO3Pk97ZQ=; b=R9UQMGsz7hncoySuaLe1sKiW4bKufIjFLQ31ZrlaKUIWAZ8vgmj1/QfPsijW9qCGtd rbBnORgvWIoUYwtBNP0I7yBtmDT8ArPhpMLc3jmV/nC02h/y0b0L0lyKYRKsjqLXS1wQ R817f03S6Ozsiy8cwNc5mUkxZhhax00NFZc5AnHCASzI8aYLIEmHF6UkISf3Viq7/ewx z3mv5EVGA+g0sPZiuYWjHZviUuX8JZIwaTqiW8cc/MVPPcyM7GvGX4Jg5MSOTwEBHPpe EVdFZBEG/THk36pN7mKsAyWzPOqqRSp/m/CFPxNd4qy2b8y49s+9F/q61bQsFMJOXBXK PKWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=JNwGQ4jw; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 33-v6si27005581plf.308.2018.05.09.02.51.32; Wed, 09 May 2018 02:51:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=JNwGQ4jw; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934543AbeEIJva (ORCPT + 29 others); Wed, 9 May 2018 05:51:30 -0400 Received: from conuserg-11.nifty.com ([210.131.2.78]:53967 "EHLO conuserg-11.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934150AbeEIJuw (ORCPT ); Wed, 9 May 2018 05:50:52 -0400 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-11.nifty.com with ESMTP id w499oiPN018127; Wed, 9 May 2018 18:50:45 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com w499oiPN018127 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1525859445; bh=wbPqzqvArwea1E71BXsGqTT4rsndB2L+CocO3Pk97ZQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JNwGQ4jwClTCCRuGzx/KU1wsBzC9XAKudc5bYT+ejZrDf5A3iUyAM7UtWk75rLj6a RSUMy9ZkGrFGiMjZq2jFBZrapWfkY6BTmdObhGxuXniPM32UDbwlp3mLtGv4Y4FUh8 LuYlhZROm6dZemetGB1IQRpfOuPUqEhyCbMd7OEq8+4vArLgD0aIjmiNS+ghJZtVbf I+vZcwB7h3LxnM/Jzc5bvXY2rDU5alY/YY2ZHeqaTnqmyPCJq9FFSmUFcYThC2wfTf rikPCU6uZ2y95lN/6qCjT0jQMr1VLBffFChYnZRSkeYgXSJQJDCkjpz9x7h8ccddi5 3Rsv18UitvSIQ== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Masahiro Yamada , Michal Marek , linux-kernel@vger.kernel.org Subject: [PATCH 2/4] modpost: use strstarts() helper more widely Date: Wed, 9 May 2018 18:50:38 +0900 Message-Id: <1525859440-29583-2-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1525859440-29583-1-git-send-email-yamada.masahiro@socionext.com> References: <1525859440-29583-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, strstarts() is only used in export_from_secname(). Use it more widely to improve the code readability. Signed-off-by: Masahiro Yamada --- scripts/mod/modpost.c | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) -- 2.7.4 diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 37a6a0b4..8606b6c 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -596,19 +596,19 @@ static int ignore_undef_symbol(struct elf_info *info, const char *symname) return 1; if (info->hdr->e_machine == EM_PPC) /* Special register function linked on all modules during final link of .ko */ - if (strncmp(symname, "_restgpr_", sizeof("_restgpr_") - 1) == 0 || - strncmp(symname, "_savegpr_", sizeof("_savegpr_") - 1) == 0 || - strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || - strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0 || - strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 || - strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0) + if (strstarts(symname, "_restgpr_") || + strstarts(symname, "_savegpr_") || + strstarts(symname, "_rest32gpr_") || + strstarts(symname, "_save32gpr_") || + strstarts(symname, "_restvr_") || + strstarts(symname, "_savevr_")) return 1; if (info->hdr->e_machine == EM_PPC64) /* Special register function linked on all modules during final link of .ko */ - if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 || - strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0 || - strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 || - strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0 || + if (strstarts(symname, "_restgpr0_") || + strstarts(symname, "_savegpr0_") || + strstarts(symname, "_restvr_") || + strstarts(symname, "_savevr_") || strcmp(symname, ".TOC.") == 0) return 1; /* Do not ignore this symbol */ @@ -623,13 +623,13 @@ static void handle_modversions(struct module *mod, struct elf_info *info, bool is_crc = false; if ((!is_vmlinux(mod->name) || mod->is_dot_o) && - strncmp(symname, "__ksymtab", 9) == 0) + strstarts(symname, "__ksymtab")) export = export_from_secname(info, get_secindex(info, sym)); else export = export_from_sec(info, get_secindex(info, sym)); /* CRC'd symbol */ - if (strncmp(symname, "__crc_", strlen("__crc_")) == 0) { + if (strstarts(symname, "__crc_")) { is_crc = true; crc = (unsigned int) sym->st_value; if (sym->st_shndx != SHN_UNDEF && sym->st_shndx != SHN_ABS) { @@ -648,7 +648,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info, switch (sym->st_shndx) { case SHN_COMMON: - if (!strncmp(symname, "__gnu_lto_", sizeof("__gnu_lto_")-1)) { + if (strstarts(symname, "__gnu_lto_")) { /* Should warn here, but modpost runs before the linker */ } else warn("\"%s\" [%s] is COMMON symbol\n", symname, mod->name); @@ -691,7 +691,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info, break; default: /* All exported symbols */ - if (strncmp(symname, "__ksymtab_", strlen("__ksymtab_")) == 0) { + if (strstarts(symname, "__ksymtab_")) { sym_add_exported(symname + strlen("__ksymtab_"), mod, export); } @@ -1171,13 +1171,13 @@ static int secref_whitelist(const struct sectioncheck *mismatch, /* Check for pattern 1 */ if (match(tosec, init_data_sections) && match(fromsec, data_sections) && - (strncmp(fromsym, "__param", strlen("__param")) == 0)) + strstarts(fromsym, "__param")) return 0; /* Check for pattern 1a */ if (strcmp(tosec, ".init.text") == 0 && match(fromsec, data_sections) && - (strncmp(fromsym, "__param_ops_", strlen("__param_ops_")) == 0)) + strstarts(fromsym, "__param_ops_")) return 0; /* Check for pattern 2 */ @@ -1532,8 +1532,7 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf, from = find_elf_symbol2(elf, r->r_offset, fromsec); fromsym = sym_name(elf, from); - if (!strncmp(fromsym, "reference___initcall", - sizeof("reference___initcall")-1)) + if (strstarts(fromsym, "reference___initcall")) return; tosec = sec_name(elf, get_secindex(elf, sym)); @@ -2163,9 +2162,7 @@ static void add_retpoline(struct buffer *b) static void add_staging_flag(struct buffer *b, const char *name) { - static const char *staging_dir = "drivers/staging"; - - if (strncmp(staging_dir, name, strlen(staging_dir)) == 0) + if (strstarts(name, "drivers/staging")) buf_printf(b, "\nMODULE_INFO(staging, \"Y\");\n"); }