From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by sourceware.org (Postfix) with ESMTPS id C070D3857361 for ; Wed, 12 Oct 2022 00:31:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C070D3857361 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=harmstone.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-x32b.google.com with SMTP id az22-20020a05600c601600b003c6b72797fdso273385wmb.5 for ; Tue, 11 Oct 2022 17:31:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=nw7448a/LUtJT8hafddKA26exIns+UElRfp9+Jrbbyo=; b=SuPb+F9NIsFmunhudpDaI1C3RW1nh5NwdH0VMoeD8mh25lazVo41HhXdiSFcTlfAI3 EWagTYz1zwEXVV767A2SaWEVSHZ7n3g8fVDqSKSRVq6M0MhfUZAoGF5DAoJ35mr8NyrM yWPpSuyRPX9XwTFDq9nLvpax/vONZC6k/wRQ1xvkW3l8Wwb9kDLCgtiYqtLEm+znywQX q0hjNAc7TzWXF6D99xS28RP3RxO2mRZWDupRcG7/LUR4P8B1VS6QevxRJojUs7vOdRvr DQj8LmC3vaD+fJmmwdSkWPr2eShIFMUlK75TzsxFcEmPuKcj+UPeStS0rS5mqrKhsWez YGDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nw7448a/LUtJT8hafddKA26exIns+UElRfp9+Jrbbyo=; b=7mLSsfd8C3K0Qn6Ng7N6gxd39F4nH4tAl3YFVGoxaeIgXIlkxydWx7zzSasReskD8s InY1P8e8YwvZG7NPde1lFXpYrQuXzjMw4Qf38ziZuHCohqaNRoHshEUDQ6SGWRu+knV+ ffQiBN5VxDTxMmsnl8f+TboBneSPLgbsZ1ZXdrKRokIb9X4FTuuukE7o09TJlFgVRwNK PKRH5dePbehY15OBVYUCrFybGj/5ZFTV+EyOg8C8rcAtEQW2OP1zGiOAr8YCyL/Dfuml 7/RY7YkLaEz7DcbEPDAUe3esRNkmmEr4F6o3yIjQojMVwKR46IIYkVSB9adUS6lLSfSM XaLQ== X-Gm-Message-State: ACrzQf0ETZyso3wsGo8Ckej+uh/rcomvhiyfmVHgiqw0PR0mOoryN2vV qs+3eRqDWn1H6irRag2sdHOpGiF+GrI= X-Google-Smtp-Source: AMsMyM6P1uBzG22X1RYfn8NcHPMrDHiyYMZXygt8aO3tjv3BGtvichbU8svkb7MYUnxHF62HcliyIA== X-Received: by 2002:a05:600c:1e88:b0:3c3:ecf:ce3e with SMTP id be8-20020a05600c1e8800b003c30ecfce3emr961885wmb.15.1665534681259; Tue, 11 Oct 2022 17:31:21 -0700 (PDT) Received: from ?IPV6:2a02:8010:64ea:0:8eb8:7eff:fe53:9d5f? ([2a02:8010:64ea:0:8eb8:7eff:fe53:9d5f]) by smtp.googlemail.com with ESMTPSA id k4-20020adff5c4000000b00228dff8d975sm12060020wrp.109.2022.10.11.17.31.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Oct 2022 17:31:20 -0700 (PDT) Sender: Mark Harmstone Message-ID: <6b05f07a-5aca-a32e-604d-01025cdc8115@harmstone.com> Date: Wed, 12 Oct 2022 01:31:16 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.2 Subject: Re: [PATCH v4 2/2] ld: Add minimal pdb generation To: Alan Modra Cc: binutils@sourceware.org, martin@martin.st References: <20221011175332.17156-1-mark@harmstone.com> <20221011175332.17156-2-mark@harmstone.com> Content-Language: en-US From: Mark Harmstone In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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 List-Id: On 12/10/22 01:28, Alan Modra wrote: > On Tue, Oct 11, 2022 at 06:53:32PM +0100, Mark Harmstone wrote: >> +/* Calculate the hash of a given string. */ >> +static uint32_t >> +calc_hash (const char *data, size_t len) >> +{ >> + uint32_t hash = 0; >> + >> + while (len >= 4) >> + { >> + hash ^= *(uint32_t *) data; >> + data += 4; >> + len -= 4; >> + } >> + >> + if (len >= 2) >> + { >> + hash ^= *(uint16_t *) data; >> + data += 2; >> + len -= 2; >> + } >> + >> + if (len != 0) >> + hash ^= *data; >> + >> + hash |= 0x20202020; >> + hash ^= (hash >> 11); >> + >> + return hash ^ (hash >> 16); >> +} > I think the above code will calculate different hash values on > big-endian machines to little-endian. Also, unless "data" is aligned > as for uint32_t you run the risk of alignment traps on machines with > strict alignment requirements. > Okay, thanks Alan. Can we get the first patch accepted while I investigate this? Mark