From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <3eXFIYwcKCJ4K8QIP8WEMMEJC.AMK9GLSRGJQQMSPACU8PC.MPE@flex--maskray.bounces.google.com> 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 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=flex--maskray.bounces.google.com Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-352e29ff8c2so26745487b3.21 for ; Thu, 13 Oct 2022 13:13:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=Zzr/ZosCCNjnBLORAOhVZTZodM8vI+KXYuUcSGY0dcE=; b=EpCMnN9eohfmmwlpoTueKQVEJg24YwvvcaL/XwgmO3tjuVUBt8BPpWXQoEp32Vxs0Y oGqlUzD5eHi399n0XCSKx50ty1HowrM8yBtmOAmQoEMOQqIFVRvxBc/eWOKCw+z3a4qH QsreQyfOOaDsyhITf4b0bZUHaC+cRPQlIxGJUNBWiBNY+mptikNv2o0zsO+RiD5vjYVT h7HJTnZBFXmJiz8ofUw49BGaFjsLE2O/qSUEM+D0OQnBARDbbHB5iwpLI0u6zRWaelGD n5EeIqXgXQByGRjaVZCQxai4A8Rz2rgFMd0iZjCUehQnkS3Zsv3pmX8ej+3xec5QaVjd QYvA== 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-Google-Smtp-Source: AMsMyM7yInSRicAo9edUdK3FoMbihxZ7LOcOPTxbNfsfkph/mQmfSsAXsardCu24hLkcMDnO0aV28YYwTHSE 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 From: Fangrui Song To: binutils@sourceware.org Cc: Fangrui Song Content-Type: text/plain; charset="UTF-8" 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 List-Id: 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; -- 2.38.0.413.g74048e4d9e-goog