From patchwork Thu Oct 13 20:13:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fangrui Song X-Patchwork-Id: 2352 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp461529wrs; Thu, 13 Oct 2022 13:14:01 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7WCaD5tpzEeXiH7tFqLXJXMmj85ihpy2SiTfPRVkdeqDRf6mOHZv0Jm3IgsnD751AiL8tg X-Received: by 2002:a17:907:724b:b0:782:f2bb:24d3 with SMTP id ds11-20020a170907724b00b00782f2bb24d3mr1031272ejc.555.1665692041527; Thu, 13 Oct 2022 13:14:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665692041; cv=none; d=google.com; s=arc-20160816; b=helb7MkPUOTl4aLkwcwjqJAIblYpafW3cD6/9/DUsHfQqXJnKfB3TGyCiaCy8/9P7U UEp6VoDl1OjNAaOagxxcEsqKgCVODrgjXkOEXT6LTfbyU/kYPCAfiQD4QtRdktkdUK8i ucY7CN4Qcx4Ey55gPM9Y9978DE2jzZfXMw3heDeX7AGtHEVPzOAnlJb9Cf8VADm8cgJ2 uRBCdQNVr3NPwWbACzrYSL6JYY73Efza4+Cs29fqMgjX3k7LQs7a7aw+o8gLfM78tAAu /U+MeEgBavuXmuuoxNo102ZQv5zv0ozg2eX0vK88gmv6/Lr0LyH51W3/vFbdtrv3txSy hrDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:to:subject :message-id:mime-version:date:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=Zzr/ZosCCNjnBLORAOhVZTZodM8vI+KXYuUcSGY0dcE=; b=G/nXZt+TV2o1SdqQsHt2dnA6MQMwe5arsQ5T8uSUII619gf4DshBexrjd4K6CstFjF rSmuFv8GlyIFGKmY5UdXyNKwvkTdxNQwLsl+OB5sJbEoa42rn80Ts1WnzvXY7CW9/mNj GOynZTB0r+pflZ49U/ZCRCaRKc1Vd4pxINeEu/3xebQijzvjF/iVVjoFe4FbnpN+ijfs LM5sI19zn0HELCteehniy4de+aES0izbc/3gpzKhPmHCTdN1Z/07PivIJ2eSWPKtRsnH M04ZTvW0geTF/8FDtJjqPWcRMatXCZibm0WSyb0WPxrkQOJWS4YPSMEpmPrEVrYSHah3 Zu6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=EWNbG7Ua; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id f20-20020a056402355400b004591e6f7f2bsi626228edd.586.2022.10.13.13.14.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Oct 2022 13:14:01 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=EWNbG7Ua; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4648F3858298 for ; Thu, 13 Oct 2022 20:13:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4648F3858298 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665692034; bh=Zzr/ZosCCNjnBLORAOhVZTZodM8vI+KXYuUcSGY0dcE=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=EWNbG7UaiZs9aLc5leys+KzboyhcZzJ7s9zsECUmb+Jy/uNHcx5QTtf+5fJ1sjkkk +uQkeOaADe/GNAhZ18Uow2QDJSdlALgNCFVieGP+vVRn11Kllx+GKeAlysrNJKL6r7 ZiUxZ6O9q8PB5WpHSATVjWrvnCcRiWXeV1G/uSsI= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by sourceware.org (Postfix) with ESMTPS id EE6EE3858C55 for ; Thu, 13 Oct 2022 20:13:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EE6EE3858C55 Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-352e29ff8c2so26745487b3.21 for ; Thu, 13 Oct 2022 13:13:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Zzr/ZosCCNjnBLORAOhVZTZodM8vI+KXYuUcSGY0dcE=; b=gb0Zyf+mMEDQp5wiZUNvqp+m3hQmqkwaMN6iPE/GROdg7FDS2UL4fXGl9/QsPjmgR2 AqzqyOZbeV+p0+BGC0HGMiAS9PXf/ouc1zu7wr3BhDLlfM46kRMZqCBEFDRrhlWC+bpK V4+QL3Jgky1XikrPfl7ZYQ+qrxGyAFiQtiZGntU/CX3MVyGluLyUYWPAqxlWnUWK94hm cpGpunZIU57itja10SPG84seMQHGGEd78NImyAMAQciOZCGD5CFxaRI8pPUbshY/Kw4n Dqlt3dtUiaARK9JUZ816ozjiIAYNahyhEHz5hB3Kk0Y0rYHNYknPLArsMKSsdydqFcmd dc9A== X-Gm-Message-State: ACrzQf3w/HU4uAwSylxuJ59dutEOei92Yw7ZcNd1ab9TBVY2VFK5pCAY P0iEJ+rAbyamdZ8riCfgbKUNZBpRQxOBmLKHqu9WP8k2ewPoq2ReiHRzRkcJSlNb5v+dlNGFk1n sAqYWai1WGz+DDVW1D239+ef1YMmjKuE0n1oGaZxDgqkqxZS0qIjrEptzUHSOcoVc0g== X-Received: from maskray1.svl.corp.google.com ([2620:15c:2ce:200:9ffc:cb04:293c:acec]) (user=maskray job=sendgmr) by 2002:a5b:948:0:b0:6bd:130b:7d1e with SMTP id x8-20020a5b0948000000b006bd130b7d1emr1647132ybq.170.1665692025397; Thu, 13 Oct 2022 13:13:45 -0700 (PDT) Date: Thu, 13 Oct 2022 13:13:32 -0700 Mime-Version: 1.0 Message-ID: <20221013201332.2747246-1-maskray@google.com> Subject: [PATCH] ld: Add --undefined-version To: binutils@sourceware.org X-Spam-Status: No, score=-19.8 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Fangrui Song via Binutils From: Fangrui Song Reply-To: Fangrui Song Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746604698011402400?= X-GMAIL-MSGID: =?utf-8?q?1746604698011402400?= From: Fangrui Song This cancels a previous --no-undefined-version. gold has had --undefined-version for a long time. --- ld/ldlex.h | 1 + ld/lexsup.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/ld/ldlex.h b/ld/ldlex.h index 57ade1f754b..894582595c1 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h @@ -120,6 +120,7 @@ enum option_values #if SUPPORT_ERROR_HANDLING_SCRIPT OPTION_ERROR_HANDLING_SCRIPT, #endif + OPTION_UNDEFINED_VERSION, OPTION_NO_UNDEFINED_VERSION, OPTION_DEFAULT_SYMVER, OPTION_DEFAULT_IMPORTED_SYMVER, diff --git a/ld/lexsup.c b/ld/lexsup.c index 299371fb775..5053e784b75 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -396,6 +396,8 @@ static const struct ld_option ld_options[] = OPTION_ERROR_HANDLING_SCRIPT}, '\0', N_("SCRIPT"), N_("Provide a script to help with undefined symbol errors"), TWO_DASHES}, #endif + { {"undefined-version", no_argument, NULL, OPTION_UNDEFINED_VERSION}, + '\0', NULL, N_("Allow undefined version"), EXACTLY_TWO_DASHES }, { {"no-undefined-version", no_argument, NULL, OPTION_NO_UNDEFINED_VERSION}, '\0', NULL, N_("Disallow undefined version"), TWO_DASHES }, { {"default-symver", no_argument, NULL, OPTION_DEFAULT_SYMVER}, @@ -1088,6 +1090,9 @@ parse_args (unsigned argc, char **argv) break; #endif + case OPTION_UNDEFINED_VERSION: + link_info.allow_undefined_version = true; + break; case OPTION_NO_UNDEFINED_VERSION: link_info.allow_undefined_version = false; break;