From patchwork Wed Feb 22 16:16:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Samuelsson X-Patchwork-Id: 60602 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp666925wrd; Wed, 22 Feb 2023 08:18:17 -0800 (PST) X-Google-Smtp-Source: AK7set+s+4q0Oq1vUuQb8CUPHL9NwWq2hJ2MSrJqsIkfUAE8cLKKlZhFZCouGWjdVAWA3A7S9z/R X-Received: by 2002:a17:906:f0c9:b0:8b1:3467:d71b with SMTP id dk9-20020a170906f0c900b008b13467d71bmr15514353ejb.48.1677082697386; Wed, 22 Feb 2023 08:18:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677082697; cv=none; d=google.com; s=arc-20160816; b=Aar0eLF/RVMt9MDgK4VM3uhmd/0wnvT9dkPdG+AZ3roMvsAaHBKKmfZG/TAPHnWOop HXdcG9+MY57oMG7GbOAGJIXJ7a6z1l7x+tc1Nl4K9BrDnaI1XUbUEH4eTyW2ntnWskP8 h2dVGHfVwSan4eQ/LCXYMfB9r1nwIAUs5RG/Oxc02XuqCUG1qHr1hys9ar+Akvw7bFFu EoGVs5XkZZpxSq43AJ1JsJATXQ5oanFBTv3QHNi+9u2qIhzoAnUYwe2N5gpBPAHmxLAq qgn/0IDez374j2YbDqa8H+MFCLK5x8ch6fkXgQsUyPpQzCmYFV8gVD4mRYtvqoebgHFx PVqw== 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 :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=6O1eebK2BXECwiVEiRcKOgNfx4Tc3n7DKnESubCyDtk=; b=IbeqnWjakmsuY0D23eyNyNozjD591lJ713I2pMOA0rCRtjz0d7fW4tyfQEYe54t6dp QA2GkCfQj6z8DSGegGluPOxEC6PusGSUm4yry/2xBS9luWEkpwzm1khZZNG9asnk1WgC vvxTUt+zxMtB4drkDA4YOYn8xcL1pOmaRa4xs2btAsbT8LTYWOVdSg/QesLj/qV24KHK /GKFUZdVd7WTQsVnDnGxLEiSM52S9Y4rkudNZOGdg84hB4N5Upv9GS3qHMJvcynUgyfb bi/h1/SksKQ0pMVPLZ4vsBB6NmdaSrQbMuHePMsE9hc203AQAgSUy91D4xivLZA3AwbQ /EwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=uXNz6jJe; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id vp22-20020a17090712d600b008e5265f6388si3077029ejb.571.2023.02.22.08.18.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Feb 2023 08:18:17 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=uXNz6jJe; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 042FE385142A for ; Wed, 22 Feb 2023 16:17:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 042FE385142A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677082661; bh=6O1eebK2BXECwiVEiRcKOgNfx4Tc3n7DKnESubCyDtk=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=uXNz6jJevhy5HHSnwcLa80iRy5idfPS33H4WWRKeag5kNT26km6sGaVMqAWuc+EM1 594XNsdOl7QXcvAgC6DUVWD0b9Yef1JXikNRMrKBtJUWaKwnL4SbYnsPkIUc8B4W7T 9KOP/36J4Dnk3dD8YqX8fcHmAzLbFk3jJpYbynYU= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from emagii.se (www.emagii.com [185.133.207.17]) by sourceware.org (Postfix) with ESMTPS id EE30138582A1 for ; Wed, 22 Feb 2023 16:16:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EE30138582A1 Received: from valinor.ownit.se (84-55-68-216.customers.ownit.se [84.55.68.216]) by emagii.se (Postfix) with ESMTPSA id 8EEBF12027F; Wed, 22 Feb 2023 17:16:36 +0100 (CET) Received-SPF: pass (emagii.beebytevps.io: connection is authenticated) To: binutils@sourceware.org Cc: nickc@redhat.com, Ulf Samuelsson Subject: [PATCH v5 01/10] TIMESTAMP: ldlang: process Date: Wed, 22 Feb 2023 17:16:00 +0100 Message-Id: <20230222161609.239928-2-binutils@emagii.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230222161609.239928-1-binutils@emagii.com> References: <20230222161609.239928-1-binutils@emagii.com> MIME-Version: 1.0 X-PPP-Message-ID: <167708260064.2544011.49043382893879488@localhost.localdomain> X-PPP-Vhost: emagii.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_FAIL, SPF_PASS, TXREP 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: Ulf Samuelsson via Binutils From: Ulf Samuelsson Reply-To: binutils@emagii.com 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?1758548666651715154?= X-GMAIL-MSGID: =?utf-8?q?1758548666651715154?= From: Ulf Samuelsson Signed-off-by: Ulf Samuelsson --- ld/ldlang.c | 8 ++++++++ ld/ldlang.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/ld/ldlang.c b/ld/ldlang.c index 2852a4222d3..3ec89c6793b 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -20,6 +20,7 @@ #include "sysdep.h" #include +#include #include "bfd.h" #include "libiberty.h" #include "filenames.h" @@ -8481,6 +8482,13 @@ lang_add_string (size_t size, const char *s) free (string); } +/* Store the time of linking in the image */ +void +lang_add_timestamp (void) +{ + lang_add_data (QUAD, exp_intop ((bfd_vma) time (0))); +} + /* Create a new reloc statement. RELOC is the BFD relocation type to generate. HOWTO is the corresponding howto structure (we could look this up, but the caller has already done so). SECTION is the diff --git a/ld/ldlang.h b/ld/ldlang.h index 2300fa5b2a3..ef785ae5cad 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -649,6 +649,8 @@ extern void lang_add_data extern bfd_vma charcount(const char *s); extern void lang_add_string (size_t, const char *s); +extern void lang_add_timestamp + (void); extern void lang_add_reloc (bfd_reloc_code_real_type, reloc_howto_type *, asection *, const char *, union etree_union *); From patchwork Wed Feb 22 16:16:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Samuelsson X-Patchwork-Id: 60606 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp668878wrd; Wed, 22 Feb 2023 08:22:16 -0800 (PST) X-Google-Smtp-Source: AK7set+AmeJX63QqVCWQj7T1H3Mfbum9dOvld4gdhEM06HeP1IXUpvpOZrAEFGdmNYJ8cDcwyw5O X-Received: by 2002:a17:907:a583:b0:8af:3c9f:6e5d with SMTP id vs3-20020a170907a58300b008af3c9f6e5dmr19047019ejc.12.1677082936530; Wed, 22 Feb 2023 08:22:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677082936; cv=none; d=google.com; s=arc-20160816; b=dtaMfxqV/478ircRZFpOBfFEfPsC1zhiOe/jqT+KHyyBd63K8BJd4Dl8f5melCodQO 07ouDOppvKNyF5Nb75SPZERxPwFSvM4Ia7v9mIoJZtjiZOs6C8nNtTbX+JsS/+/5Kyhw +BtNarxkgFx8u5+bBtCRRWxslrj1BG/89R+1NAi3eG0eVoqqmKWqjqFZZW5HgEREfYOW xR4s3S0ET9RGhj6375WIU1id9DPrpWqrQWMNAWLIp/qRiomMCgGY2FtrrH+Pzcy+fZ1T jJKzix6gZjTmMe52XR6NoVeEvxeAE4r7pbxjdD9fGyl8YTh6ys7U74rnGTZESHvhdI3l kauQ== 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 :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=EcKHeR5m5+19Yzo10EcqKXEGfYnQGqZMN55aFb92RLw=; b=aQkK7QI0dxjSKsQ+rwShzqgdZK7ka+Sn2E7fEuZhHuCTJpXvDovoLsL38k+2sfScv1 TlU8E6i4PSmNfd+4ILVQ2jw/45wAyj28Fr9GK9O4n7qqgUWs6QkIlzTiV7UaOZtmcq6o M5A2q0hcYZ926uBnnL8aTsXXTZJc0E4zPZqLAl35Q1EG1s5iR0i4qhtFVotlrv4HzQB7 OSI65qdvTsOg4ETGJGejeqrrpKN5BfjGLDlYKJUGqsVx1U0lz9u2pEoAglZ6dJGguwLL FIL6komJciV4ojp6Qb/kLKBLNddyoo/3E/8kSpTsojNsnxeGS5SfvdGNPybpYDZMZtiA HLJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=Iwu9unnW; 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 10-20020a170906208a00b008cb24fbfaa2si16159080ejq.992.2023.02.22.08.22.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Feb 2023 08:22:16 -0800 (PST) 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=Iwu9unnW; 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 82C653839041 for ; Wed, 22 Feb 2023 16:19:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 82C653839041 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677082773; bh=EcKHeR5m5+19Yzo10EcqKXEGfYnQGqZMN55aFb92RLw=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=Iwu9unnWPoyrvfIgn2elnX8trIvftgHT0JX6He0NCIFNNeJbx9GuiSRhG5M2NaSOP 4w6ehWxAAsQmDDUK+0fgw6y8rJoWD87MDPNMfm5qQ7gPsQBhmkPbVEf7zZIM98uJxg zYS+07vrHop4f/T5lI7APKGelL2tGs+Z7ylHWCYc= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from emagii.se (www.emagii.com [185.133.207.17]) by sourceware.org (Postfix) with ESMTPS id 5172838582BE for ; Wed, 22 Feb 2023 16:16:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5172838582BE Received: from valinor.ownit.se (84-55-68-216.customers.ownit.se [84.55.68.216]) by emagii.se (Postfix) with ESMTPSA id 6FD36120224; Wed, 22 Feb 2023 17:16:46 +0100 (CET) Received-SPF: pass (emagii.beebytevps.io: connection is authenticated) To: binutils@sourceware.org Cc: nickc@redhat.com, Ulf Samuelsson Subject: [PATCH v5 02/10] DIGEST: NEWS Date: Wed, 22 Feb 2023 17:16:01 +0100 Message-Id: <20230222161609.239928-3-binutils@emagii.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230222161609.239928-1-binutils@emagii.com> References: <20230222161609.239928-1-binutils@emagii.com> MIME-Version: 1.0 X-PPP-Message-ID: <167708260928.2544161.14960695325338917581@localhost.localdomain> X-PPP-Vhost: emagii.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_FAIL, SPF_PASS, TXREP 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: Ulf Samuelsson via Binutils From: Ulf Samuelsson Reply-To: binutils@emagii.com 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?1758548917146173583?= X-GMAIL-MSGID: =?utf-8?q?1758548917146173583?= From: Ulf Samuelsson Add info on DEBUG [ON|OFF] TIMESTAMP DIGEST commands Signed-off-by: Ulf Samuelsson --- ld/NEWS | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/ld/NEWS b/ld/NEWS index 4b91f2c3b0a..774ccc732ae 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -1,5 +1,59 @@ -*- text -*- +* The linker script has a new command to insert a timestamp + TIMESTAMP + inserts the current time (seconds since Epoch) as a 64-bit value + +* The linker script syntax has new commands for debugging a linker script + DEBUG ON turns on debugging + DEBUG OFF turns off debugging + +* The linker script syntax has new commands for handling CRC-32/64 calculations + on the '.text' section + It uses code from https://www.libcrc.org/ + + DIGEST "CRC32" (start, end) + DIGEST "CRC64-ECMA" (start, end) + DIGEST "CRC64-ISO" (start, end) + DIGEST "CRC64-WE" (start, end) + DIGEST POLY (size, polynome)(start, end) + DIGEST POLYI(size, polynome)(start, end) (inversion during CRC calculation) + DIGEST TABLE + DIGEST SECTION "
+ + The CRC32, CRC64-ECMA, CRC64-ISO, CRC64-WE, POLY and POLYI defines + the polynome to use and reserves space for the 32/64-bit CRC in the + '.text' section. + The user can do the CRC check in another section through the + DIGEST SECTION command. + + The 32 bit DIGEST command defines some global symbols. + ___CRC32___ is the address of the CRC64 checksum + ___CRC32_START___ is the address where CRC calculation starts + ___CRC32_END___ The CRC calculation ends before this address. + + The 64-bit DIGEST command defines some global symbols. + ___CRC64___ is the address of the CRC64 checksum + ___CRC64_START___ is the address where CRC calculation starts + ___CRC64_END___ The CRC calculation ends before this address. + + All three symbols must refer to addresses in the selected section. + If they are defined at the end of the linking process, then + the CRC## will be calculated between + + ___CRC##_START___ .. ___CRC##_END___ -1 + + and the result will be inserted at ___CRC##___. + + ___CRC##___ must be outside the region where CRC is calculated + + The DIGEST TABLE command generates a table for CRC generation. + A table is not neccessary, but will speed up the calculation and makes it + compatible with the CRC check routines at https://www.libcrc.org/ + It defines the ___CRC##_TABLE___ symbol at the start of the table. + The user may choose to add this table to his code instead of using + the linker. + * The linker script syntax has two new commands for inserting text into output sections: ASCII () "string" From patchwork Wed Feb 22 16:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Samuelsson X-Patchwork-Id: 60597 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp666352wrd; Wed, 22 Feb 2023 08:17:09 -0800 (PST) X-Google-Smtp-Source: AK7set/v/swemjJ5XaYac+3NoALhubIVdkgSEr1vQ4oCdBAnzz9c/W2TB8MqoxislgMDgpJZUm0D X-Received: by 2002:a17:906:739d:b0:8b1:7b5c:bde7 with SMTP id f29-20020a170906739d00b008b17b5cbde7mr22917703ejl.77.1677082629036; Wed, 22 Feb 2023 08:17:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677082629; cv=none; d=google.com; s=arc-20160816; b=NBReHB9KpNLkpFNxUfv6uL51g50+7lpNVXzgtjMycOC6TQSmPf48GhFnt8JAvg/0Lr We6u0ZB+/4bE29efpCmz6Sm7TAr4OTzZQ8mVnQYERe/5DxaphqAs1dpkdr1LisDkQ7bT H1veVPFcRsOGfI+xrzDGqZ5MpGkW5PCGntfEQQqaXHa2BAoitcDm5nuTWW2oGO/svgl8 SPaGcyfnqKUIoVNfptCetnhMX3V9Xd63QH0Ioi2trA1ZCfxM5GyzVPsB4sBk8/oE/rii J+zZbSzcdJiaqAGjCR+69fj/oMqoZNJX36WLUjfYKjo+fnIfELO5ISZJ2K2VdselRwXT BuIg== 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 :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=QFEv7rjZ4B6ofh2DrO4WgGx3asK822vIsiUKMC16Enc=; b=tJIa7+MA5MW/xZLUIVwerGcb/5k6+AS/pq/R8DxO/gTPzx1M/p/reC2JGippnMH2KI 0vREi6HJA9Fkd/ZtcJxPBCtwZ6nu4Nr13dSmAdhAMJiWm2seNPQ+I8zu+j7gwq8JnxcJ N8cLc4N6POTBU39cgrOEPENKoOxrZ/dqGcjurc/mvfFl5xz+Abcs/BzMi2iFY+KPHxM+ +25Mj5o1PvK0cQo0MhUNMpMaXOZu31z70OWJDu+jn8k7lhMUISEpPc3rgjMQsTlcAuse Sdp6kFk03kB7unQNy58Y5cQz1gET8UG2gegkwYH1IagvupcmQxWmamJuYb/T7ZpFUakB t/LA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=Kgn4pDki; 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 mz9-20020a1709071b8900b008c591d92437si12515052ejc.347.2023.02.22.08.17.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Feb 2023 08:17:09 -0800 (PST) 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=Kgn4pDki; 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 2685C3858002 for ; Wed, 22 Feb 2023 16:17:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2685C3858002 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677082627; bh=QFEv7rjZ4B6ofh2DrO4WgGx3asK822vIsiUKMC16Enc=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=Kgn4pDkifs11ImbR6cJgUm68//H0nT4n1JOAoOJDYPYbN31jYZJdHkgjb/Ib7WbmE 2M5gygTMZV26B/EjhyxuX3i7z44NVrXGYnnuzJ7moI5N4CObP+XrHgblm0wgY7aHhq KHoYy18EVLWlIL0JMDNeIBYPkQKC/E89s6C8+TAA= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from emagii.se (www.emagii.com [185.133.207.17]) by sourceware.org (Postfix) with ESMTPS id 7482A3858296 for ; Wed, 22 Feb 2023 16:16:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7482A3858296 Received: from valinor.ownit.se (84-55-68-216.customers.ownit.se [84.55.68.216]) by emagii.se (Postfix) with ESMTPSA id F0A1D12026D; Wed, 22 Feb 2023 17:16:52 +0100 (CET) Received-SPF: pass (emagii.beebytevps.io: connection is authenticated) To: binutils@sourceware.org Cc: nickc@redhat.com, Ulf Samuelsson Subject: [PATCH v5 03/10] DIGEST: ld.texi Date: Wed, 22 Feb 2023 17:16:02 +0100 Message-Id: <20230222161609.239928-4-binutils@emagii.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230222161609.239928-1-binutils@emagii.com> References: <20230222161609.239928-1-binutils@emagii.com> MIME-Version: 1.0 X-PPP-Message-ID: <167708261631.2544257.4976086115200513802@localhost.localdomain> X-PPP-Vhost: emagii.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_FAIL, SPF_PASS, TXREP 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: Ulf Samuelsson via Binutils From: Ulf Samuelsson Reply-To: binutils@emagii.com 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?1758548594659402538?= X-GMAIL-MSGID: =?utf-8?q?1758548594659402538?= From: Ulf Samuelsson Signed-off-by: Ulf Samuelsson --- ld/ld.texi | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) diff --git a/ld/ld.texi b/ld/ld.texi index 7802f0661b0..c321d383c0b 100644 --- a/ld/ld.texi +++ b/ld/ld.texi @@ -5394,6 +5394,152 @@ area: ASCIZ "This is 16 bytes" @end smallexample +@cindex output section strings +@kindex DIGEST "CRC64-ECMA" (@var{expression}, @var{expression}) +@kindex DIGEST "CRC64-WE" (@var{expression}, @var{expression}) +@kindex DIGEST "CRC64-ISO" (@var{expression}, @var{expression}) +@kindex DIGEST "CRC32" (@var{expression}, @var{expression}) +@kindex DIGEST POLY (@var{expression}, @var{expression})(@var{expression}, @var{expression}) +@kindex DIGEST POLYI (@var{expression}, @var{expression})(@var{expression}, @var{expression}) + +You can calculate the CRC of a part of the '.text' section through the +@code{DIGEST} command. +The commands take a parameter for the @code{polynome} and then two more, +specifying range of the checked area. The end address is the first address +past the checked area. + +There is one predefined 32-bit polynome + +@enumerate +@item +@code{CRC32} @code{0xEDB88320} +@end enumerate + +There are three predefined 64-bit polynomes + +@enumerate +@item +@code{CRC64-ECMA} @code{0x42F0E1EBA9EA3693} +@item +@code{CRC64-WE} @code{0x42F0E1EBA9EA3693} +@item +@code{CRC64-ISO} @code{0xD800000000000000} +@end enumerate + +You can also select your own @code{polynome} using the @code{DIGEST POLY} or +@code{DIGEST POLYI}. The @code{DIGEST POLYI} will invert the polynome before +and after the calculation which is neccessary for the @code{CRC64-WE} algorithm + +The default 64-bit polynome is the @code{ECMA} + +The 32-bit command defines some global symbols. + +@enumerate +@item +@code{___CRC32___} address of the CRC32 checksum +@item +@code{___CRC32_START___} first address in the checked area. +@item +@code{___CRC32_END___} first address past the checked area. +@end enumerate + +The 64-bit command defines some global symbols. + +@enumerate +@item +@code{___CRC64___} address of the CRC64 checksum +@item +@code{___CRC64_START___} first address in the checked area. +@item +@code{___CRC64_END___} first address past the checked area. +@end enumerate + +Note: The generated CRC value must be stored outside the checked area. + +Example 1: This request a CRC check using the @code{ECMA} algorithm + +@smallexample + CRC = '.'; + DIGEST "CRC64-ECMA" (START_CHECK,END_TEXT) + START_CHECK = '.'; +@end smallexample + +The user can retrieve the CRC value through the @code{CRC} label. + +Example 2: This request a CRC check using the @code{ISO} algorithm + +@smallexample + CRC = '.'; + DIGEST "CRC64-ISO" (START_CHECK,END_TEXT) + START_CHECK = '.'; +@end smallexample + +The user can retrieve the CRC value through the @code{CRC} label. + +Example 3: This request a CRC check using a user defined @code{polynome} + +@smallexample + CRC = '.'; + DIGEST POLY (64, 0xDEADBEEFDEADBEEF) (START_CHECK,END_TEXT) + START_CHECK = '.'; +@end smallexample + +The user can retrieve the CRC value through the @code{CRC} label. + +Example 4: This request a CRC check using a user defined @code{polynome} + The @code{polynome} is inverted before use, and teh result is inverted. + +@smallexample + CRC DIGEST POLYI (64, 0xDEADBEEFDEADBEEF) (START_CHECK,END_TEXT) + START_CHECK = '.'; +@end smallexample + +Example 5: This request a CRC check using the @code{CRC32} polynome + +@smallexample + CRC = '.'; + DIGEST "CRC32" (START_CHECK,END_TEXT) + START_CHECK = '.'; +@end smallexample + +The user can retrieve the CRC value through the @code{CRC} label. + +@cindex output section strings +@kindex DIGEST TABLE + +The @code{DIGEST TABLE} command creates a 1 or 2 kByte table for a table-driven +CRC calculation. This speeds up the CRC calculation over a non-table-driver +version since you can handle 8 bits at a time, instead of 1 bit. + +The table generated is for the @code{polynome} selected using a +@code{DIGEST } command. + +The command will define a symbol base on the size of the polynome + +@enumerate +@item +@code{___CRC32_TABLE___} address of the CRC32 table, or +@item +@code{___CRC64_TABLE___} address of the CRC64 table +@end enumerate + + +Example 1: Generate a 1 kB table + (assuming a previous @code{DIGEST "CRC32"} command + +@smallexample + mytable = '.'; + DIGEST TABLE +@end smallexample + +The user can declare @code{extern uint32_t *mytable;} in his code to use it. + +@cindex output section strings +@kindex TIMESTAMP + +The @code{TIMESTAMP} command creates 64-bit integer with the number of seconds +since Epoch (1970-01-01 00:00) + @kindex FILL(@var{expression}) @cindex holes, filling @cindex unspecified memory From patchwork Wed Feb 22 16:16:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Samuelsson X-Patchwork-Id: 60599 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp666497wrd; Wed, 22 Feb 2023 08:17:25 -0800 (PST) X-Google-Smtp-Source: AK7set9yrGGCfJ3B3xU+CS5T5RkatltV/p7HZqjAdFshWnrR0RkfhPA8EKaiIjbjuAgPw7aGKtvZ X-Received: by 2002:a17:906:e285:b0:878:4a5e:3a56 with SMTP id gg5-20020a170906e28500b008784a5e3a56mr17288207ejb.15.1677082645700; Wed, 22 Feb 2023 08:17:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677082645; cv=none; d=google.com; s=arc-20160816; b=JgTaYFTSZPAJmfbzTBke0fCMyIJFDtVgt0vtpkdPVU/6UCF8B6HIFYBac4JINIsXt9 NtQIUAQp8Gj0T2hepGuR90mvWbkvn0stLRK+kLj0tGg8q+9c1vGDvNr747BhRUXLxZqV nj/ysa2OmHueK667FVCm4XX403Z47uT9OvzYHsefueo3nqGPhgzWhzs3klY+taSdRwHN 0YdZIpekOfpHXbKwkgp1B8/0wchyfjURjJgbiHCNN1l/9WgQJcPbLkquUrYLtlz+7c9k Qv2xmD/8NyS8FlMjN6O5EneRqV9AJZeSiDWVaHNiJj32teTNwMtZVIIjiN4TUFbtKCht twFA== 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 :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=jEr/x76ykMXdLS72Q2eiGYDL0OotataZ/BvANA33NoE=; b=d8maCJPVp+fxp6gkK6wo2iPPbW5fv9Li4rbxqkpY6xggfdnW0y15UG/cDYozZE4OZm bvOq3C9EUGnnc4EDAY7N+jf+QNTAdt1vyptmbgqJ1Na1/aYjvD+Yv56EPT1YIKQAwMHt 0Zs+4D1mECRNY2rJmR17N9ZYB/D9hy+qG9dvzPixuqH4QLwI9b708BSxR5KImdDZtHL5 on55pv95Tp3v0GN1wD3MPVjX/AhaBe1ht4XEyVxxLWWl2HBe21OCHeqPKBtVfl0mp/8z pjPnAfhv5omcouK1rQooy6hkYUPCi/nD/dyWfLrQAcakMzxySf/RFoc9zsr+utbkkodu Plag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=pZAHwGJd; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id wl17-20020a170907311100b007a1d4f0e7fcsi19282563ejb.655.2023.02.22.08.17.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Feb 2023 08:17:25 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=pZAHwGJd; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 DA110385B514 for ; Wed, 22 Feb 2023 16:17:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DA110385B514 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677082635; bh=jEr/x76ykMXdLS72Q2eiGYDL0OotataZ/BvANA33NoE=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=pZAHwGJd8L9IUrEomamKaBcU6pe6mE4NbrX/0OfgvYh5F/47Yp0ZnMgylnfhE7RWr rOhwf1rBIjie4F2p0pIquGVm7OEgSGVjlzPHidx0xhag9RbEQTCemZxfjN4zS3v5sE JSfQoiyuVgFPP2KAQEjdR3j18CZpWu0CG+UgmtnE= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from emagii.se (www.emagii.com [185.133.207.17]) by sourceware.org (Postfix) with ESMTPS id BB6013858023 for ; Wed, 22 Feb 2023 16:17:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BB6013858023 Received: from valinor.ownit.se (84-55-68-216.customers.ownit.se [84.55.68.216]) by emagii.se (Postfix) with ESMTPSA id E6F95120243; Wed, 22 Feb 2023 17:16:59 +0100 (CET) Received-SPF: pass (emagii.beebytevps.io: connection is authenticated) To: binutils@sourceware.org Cc: nickc@redhat.com, Ulf Samuelsson Subject: [PATCH v5 04/10] LIBCRC: license Date: Wed, 22 Feb 2023 17:16:03 +0100 Message-Id: <20230222161609.239928-5-binutils@emagii.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230222161609.239928-1-binutils@emagii.com> References: <20230222161609.239928-1-binutils@emagii.com> MIME-Version: 1.0 X-PPP-Message-ID: <167708262498.2544363.1947367019037204767@localhost.localdomain> X-PPP-Vhost: emagii.com X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_ASCII_DIVIDERS, SPF_HELO_FAIL, SPF_PASS, TXREP 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: Ulf Samuelsson via Binutils From: Ulf Samuelsson Reply-To: binutils@emagii.com 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?1758548612170669284?= X-GMAIL-MSGID: =?utf-8?q?1758548612170669284?= From: Ulf Samuelsson Signed-off-by: Ulf Samuelsson --- COPYING.LIBCRC | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 COPYING.LIBCRC diff --git a/COPYING.LIBCRC b/COPYING.LIBCRC new file mode 100755 index 00000000000..e8b7226ab89 --- /dev/null +++ b/COPYING.LIBCRC @@ -0,0 +1,45 @@ +The GNU linker contains CRC routines that are used to implement the +DIGEST CRC32/64 commands in the output section. + +The CRC routines are extracted from LIBCRC available at +* https://www.libcrc.org/ +* https://github.com/lammertb/libcrc/tree/v2.0 + +The license file from libcrc is below. +================================================================================ +/* + * Library: libcrc + * File: src/crc64.c + * Author: Lammert Bies + * + * This file is licensed under the MIT License as stated below + * + * Copyright (c) 2016 Lammert Bies + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Description + * ----------- + * The source file src/crc64.c contains the routines which are needed to + * calculate a 64 bit CRC value of a sequence of bytes. + */ +================================================================================ +NOTE: The user could/(should) extract the CRC calculation routines + and add to their program. + The linker can add the table, but not the calculation routines. From patchwork Wed Feb 22 16:16:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Samuelsson X-Patchwork-Id: 60604 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp667490wrd; Wed, 22 Feb 2023 08:19:25 -0800 (PST) X-Google-Smtp-Source: AK7set8WBK6QYyWyFQbirvCxziV5ZP3IQ2FIgZrQhHCSrrdcrma5F/8lza3tIwabTNY91lJDJMZM X-Received: by 2002:a17:907:6da0:b0:8dd:5710:a017 with SMTP id sb32-20020a1709076da000b008dd5710a017mr10408780ejc.4.1677082765269; Wed, 22 Feb 2023 08:19:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677082765; cv=none; d=google.com; s=arc-20160816; b=gr6c60PeYQnlduDbdb5FOEvEGCP/+fpmnkkQqpBRhthESY0F3C3m7PqTb0zGQDTo4W eaGzmerrT+bdm3M6BbQB2J+mu5raRDpaAhVxNSEBe8iX1u/WD3TIdR6px2+CNpE+iaL+ h4IzyJrxpNSTVceK4TNuKSs65nXZIJ/PrLK6bRVfotzu36cf+UmkXplm4PtAoCyslPG9 7Sknx6h+HCejyKOHl/a9YboPZVaeRmLOmh6TX4cdpoX326zWf7YDdxai3maRec+oxaJb R46NZqUq+6U9GWGNWtZiaTS/QB3piJBnLioKrAjsT+OApU56/gKcMdK4phe0ScRIsmMR 0wTw== 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 :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=ZoY01IU64suLBUUHja0zwy3Z7sDLkngCoDIGKPt6xGw=; b=k7VObV//PuvMhLomOziVwBk4aOJJC6mEUUhLUrMnLoylaA779cigGuwl0IQKP4DImA NcfRpcoyJNZXKa6DEB+yaJhc8zyqWXUu25vw+WKJgnR/wn9up7Or+wC2yOa7KvIp3B8l kGRmDlw6fG3zoUFpzHOT6ehMkGsl+w+fjJHCgSo8xA6kPwn3WlcZ7GoqUhmJNlRwQvBw sIUcjWUVeCkfLH5BLGz4LdKNj/ZuekUjRtbagEV0jJEucT5EEevWQOQ7oKXBTwxo6hJ1 +0Dcirr8TT5Ax98ena5Z2Gz/WssBMayRIYFMc0KYWkJ+KlrLP6WSX2Vffp0qGS3w7crS NIVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=taRnxRi9; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id ex20-20020a170907955400b008ceed901431si9261874ejc.360.2023.02.22.08.19.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Feb 2023 08:19:25 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=taRnxRi9; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 E40A8384D161 for ; Wed, 22 Feb 2023 16:18:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E40A8384D161 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677082687; bh=ZoY01IU64suLBUUHja0zwy3Z7sDLkngCoDIGKPt6xGw=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=taRnxRi9+TBHXJvzJmWAAgJ2FLNYv5iMHZ25YS9ZtkR9gl2gpARAp2IMPQWZL9tDK c+0UXERMRlmMqgBVbLP52PwQ2VI+GeaS5iswWjJ23nzv2D2U1A/yPjeBtS7qV1WZLw ID99tiV9mpbjbubS9DVjyPXn1hKCMkmQEmpfmgrs= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from emagii.se (www.emagii.com [185.133.207.17]) by sourceware.org (Postfix) with ESMTPS id 20A1B38582B7 for ; Wed, 22 Feb 2023 16:17:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 20A1B38582B7 Received: from valinor.ownit.se (84-55-68-216.customers.ownit.se [84.55.68.216]) by emagii.se (Postfix) with ESMTPSA id 21E3A120220; Wed, 22 Feb 2023 17:17:08 +0100 (CET) Received-SPF: pass (emagii.beebytevps.io: connection is authenticated) To: binutils@sourceware.org Cc: nickc@redhat.com, Ulf Samuelsson Subject: [PATCH v5 05/10] DIGEST: ldlex.l Date: Wed, 22 Feb 2023 17:16:04 +0100 Message-Id: <20230222161609.239928-6-binutils@emagii.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230222161609.239928-1-binutils@emagii.com> References: <20230222161609.239928-1-binutils@emagii.com> MIME-Version: 1.0 X-PPP-Message-ID: <167708263048.2544479.17403960536481561391@localhost.localdomain> X-PPP-Vhost: emagii.com X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_FAIL, SPF_PASS, TXREP, UPPERCASE_50_75 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: Ulf Samuelsson via Binutils From: Ulf Samuelsson Reply-To: binutils@emagii.com 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?1758548737496559567?= X-GMAIL-MSGID: =?utf-8?q?1758548737496559567?= From: Ulf Samuelsson Symbols for the following commands: DIGEST "NAME" (start, end) DIGEST POLY (size, polynome) (start, end) DIGEST POLYI (size, polynome) (start, end) DIGEST TABLE DIGEST SECTION "NAME" TIMESTAMP DEBUG ON DEBUG OFF Signed-off-by: Ulf Samuelsson --- ld/ldlex.l | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ld/ldlex.l b/ld/ldlex.l index 910e7ea3b8b..420caee177c 100644 --- a/ld/ldlex.l +++ b/ld/ldlex.l @@ -298,6 +298,15 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*