From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-25.9 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00B02C47420 for ; Tue, 29 Sep 2020 19:07:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9B03C20774 for ; Tue, 29 Sep 2020 19:07:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="PfsZalFh" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728350AbgI2THU (ORCPT ); Tue, 29 Sep 2020 15:07:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51732 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727740AbgI2THT (ORCPT ); Tue, 29 Sep 2020 15:07:19 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA7FCC061755 for ; Tue, 29 Sep 2020 12:07:19 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id z40so5854364ybi.3 for ; Tue, 29 Sep 2020 12:07:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:date:message-id:mime-version:subject:from:to:cc; bh=kK71kCSNGJVaDe2pNd17eTqrSe4R+0MFugjIL4jzDFc=; b=PfsZalFhEeBQpiATmlrk+FX19iTeTafrV6ltkUFI1L81IdRa3RE5BQxWSIu1MC9LGu At+oUMALCekjXOZdxE7QjZm9osZl6Bvt/Ec6HQwLSMvPKIMa0W3A1hIyHf2O03QcpOsu mPpIzo6bE1e9k1Pu2EpWJXZQtEWR0JXr/8YxSEPpCQRXIxVwnsQ7y1ZolUvb6fU9Kxxd ZTGv6E3a/FiaB1jzEhtKI5BiOazL7bMK/Ew7EQ/z3wMS+b+6vIZFtUO7/dXf+aD0W3EG UMD6cz2QzOBvjM9zP/aTFx8TrHrZgq3y0BAQ3JuaCk+VIPEf5di6QGR+HltkTNOfLLn7 eF9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:message-id:mime-version:subject:from :to:cc; bh=kK71kCSNGJVaDe2pNd17eTqrSe4R+0MFugjIL4jzDFc=; b=kCLmyRkeTjsXA2kir7hi5Ob9H8lXISP6mDPFdj6jcfGOcMUiMQJKdChlXRUwychvdN kRt2pfjvxNh/1/od1nD3cAe5BgnN8Lexvs30kPiPQZVcUHE0hixU6pD8PisYukYtdDrA 4lcxrL8MM8yl6l4ToOdFvKd6CeSOT+MIV47JNOUMxHuERFMBsp/qEM/YcyXD6wFP71IO SSOG6WcVyqJc6X159fHni97BQmMd5kF9kZ7tm8zPZGbARQF6qSzsbIsHrjsQ1J3Vephq +nLnIULyTxzaoh6nQwveuy+BgatXzODGN2t0lN1O0Lh2Mf7aWjaCDGZETZo6o7JAypmD 46PA== X-Gm-Message-State: AOAM530W4wzrnvXnDnjSE1wox8OoB4P+u2wUqfO9jDCuaW1qFK0KPFIz /FXXY4meYvA7muAikySrvH04PbBMcuaYGZ8+X5E= X-Google-Smtp-Source: ABdhPJw31sfhQW0vMWLByBsMSjvUhsNEts7FFT3qqiTNiPW2cZz9iOfXZOfOS7C5ctLXlN0Juf/BuXQ2cnpyoFtBRuk= Sender: "ndesaulniers via sendgmr" X-Received: from ndesaulniers1.mtv.corp.google.com ([2620:15c:211:202:f693:9fff:fef4:4d25]) (user=ndesaulniers job=sendgmr) by 2002:a25:ba4f:: with SMTP id z15mr8385000ybj.408.1601406438780; Tue, 29 Sep 2020 12:07:18 -0700 (PDT) Date: Tue, 29 Sep 2020 12:07:00 -0700 Message-Id: <20200929190701.398762-1-ndesaulniers@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.28.0.709.gb0816b6eb0-goog Subject: [PATCH] export.h: fix section name for CONFIG_TRIM_UNUSED_KSYMS for Clang From: Nick Desaulniers To: Andrew Morton Cc: Nick Desaulniers , kbuild test robot , Kees Cook , Nathan Chancellor , Masahiro Yamada , Matthias Maennich , Jessica Yu , Greg Kroah-Hartman , Will Deacon , linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When enabling CONFIG_TRIM_UNUSED_KSYMS, the linker will warn about the orphan sections: (".discard.ksym") is being placed in '".discard.ksym"' repeatedly when linking vmlinux. This is because the stringification operator, `#`, in the preprocessor escapes strings. GCC and Clang differ in how they treat section names that contain \". The portable solution is to not use a string literal with the preprocessor stringification operator. Link: https://bugs.llvm.org/show_bug.cgi?id=42950 Link: https://github.com/ClangBuiltLinux/linux/issues/1166 Fixes: commit bbda5ec671d3 ("kbuild: simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS") Reported-by: kbuild test robot Suggested-by: Kees Cook Signed-off-by: Nick Desaulniers --- include/linux/export.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/export.h b/include/linux/export.h index fceb5e855717..8933ff6ad23a 100644 --- a/include/linux/export.h +++ b/include/linux/export.h @@ -130,7 +130,7 @@ struct kernel_symbol { * discarded in the final link stage. */ #define __ksym_marker(sym) \ - static int __ksym_marker_##sym[0] __section(".discard.ksym") __used + static int __ksym_marker_##sym[0] __section(.discard.ksym) __used #define __EXPORT_SYMBOL(sym, sec, ns) \ __ksym_marker(sym); \ -- 2.28.0.709.gb0816b6eb0-goog