From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by sourceware.org (Postfix) with ESMTPS id 201DA3858C52 for ; Wed, 18 Jan 2023 06:27:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 201DA3858C52 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x434.google.com with SMTP id c85so22098374pfc.8 for ; Tue, 17 Jan 2023 22:27:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2HqQ2dj2WZpHSgWm6zu4a2fDz3B8gCjdsu0KhtUo/d0=; b=cXW3Zy8TlB+kf5EiUOwfUrKEuKTLtay1ns84eat8D+Z+XKE0lxVS1lE8L2C4YUZoCd lLZ852P9qQfvWJec2NAAvgaI0E9nzkFqQNWkj/fJCD+sY8wn4yV9G+Uzt7fVWo1Ol/OL oLy7opWLLuDc/tffgZtJ4FS8FWcmp2raNEMQQ47XPbL3FENvsocm7AdmAj1kjJXopFCq 5oBifhammvB6uQOOnKgj5PX2PNRehTfDO/D2Fp/UoQFIth3o94qGmbVCQXSEE3XrYv5R lbc5NXWBu1GyfxEZ4joV0QXxzglSARR/8zz7L3k4qgXwUiO6K8sKWSFQlK7Z2JRdM3uJ h8bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2HqQ2dj2WZpHSgWm6zu4a2fDz3B8gCjdsu0KhtUo/d0=; b=X6bfWWui9GPx+SE7uWltmXbW015DVrv9ykevIqt7eTVOFUABVKwDne8oCJapabgyLM X0PVXrwhdqwFCWovUTQyj/ANx+o6ZL0PQC56e4i4C/9OScXz+Whr2A8IAqz71R9HMxMU 6XxV8+JegfkatKcT5Tkd6r7TTFQYp+TKKhSdclxGTvFefCmiXqyZ2VF832rTCnmfpghX RwnF2B0Lvv3Nqko83VA0hQmUgBJhqXat3leJAZSS3rs3rqvkSjfyrbj55plKN+C0iYkc nWaG7VI1vhsPRoNOK/YV7j2NIdvnEOQrL0Um+YxnKL4l+AkAeNIFkNP47hM8peyRNGdl ONtw== X-Gm-Message-State: AFqh2kriDqPSUasOdOASP1p//xx0qs3+iU1Fo1nF2BqSNe0iRX0dQ14h 8mnv0ROu/b9pQhSOWHmvxJ+H/7mZeLM= X-Google-Smtp-Source: AMrXdXv8y5ErTX07lawJFBGcJArT8R97LbfWfvpXl3CbyNmWxtaLpO1uuTb5qe0FZT7Gr7glYMUnJw== X-Received: by 2002:aa7:9182:0:b0:58d:987b:2e9 with SMTP id x2-20020aa79182000000b0058d987b02e9mr5657951pfa.24.1674023225609; Tue, 17 Jan 2023 22:27:05 -0800 (PST) Received: from squeak.grove.modra.org ([2406:3400:51d:8cc0:195b:3277:b45:6442]) by smtp.gmail.com with ESMTPSA id i15-20020a62870f000000b005890c5ed925sm16645908pfe.198.2023.01.17.22.27.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jan 2023 22:27:05 -0800 (PST) From: Alan Modra To: binutils@sourceware.org Cc: Mark Harmstone Subject: [PATCH 2/4] coff-aarch64.c howtos Date: Wed, 18 Jan 2023 16:56:55 +1030 Message-Id: <20230118062657.1125934-3-amodra@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230118062657.1125934-1-amodra@gmail.com> References: <20230118062657.1125934-1-amodra@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3034.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,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: This is just a patch to fix overlong lines. Wrapping the HOWTO macro in a new HOW macro helps in this. No functional changes here. * coff-aarch64.c (HOW): Define and use for reloc howtos. diff --git a/bfd/coff-aarch64.c b/bfd/coff-aarch64.c index 8e9081a0e74..1360ae0ba73 100644 --- a/bfd/coff-aarch64.c +++ b/bfd/coff-aarch64.c @@ -281,73 +281,62 @@ coff_aarch64_secrel_reloc (bfd *abfd ATTRIBUTE_UNUSED, return bfd_reloc_ok; } -/* In case we're on a 32-bit machine, construct a 64-bit "-1" value. */ -#define MINUS_ONE (~ (bfd_vma) 0) - -static const reloc_howto_type arm64_reloc_howto_abs = HOWTO(IMAGE_REL_ARM64_ABSOLUTE, 0, 1, 0, false, 0, - complain_overflow_dont, - NULL, "IMAGE_REL_ARM64_ABSOLUTE", - false, 0, 0, false); - -static const reloc_howto_type arm64_reloc_howto_64 = HOWTO(IMAGE_REL_ARM64_ADDR64, 0, 8, 64, false, 0, - complain_overflow_bitfield, - coff_aarch64_addr64_reloc, "IMAGE_REL_ARM64_ADDR64", - false, MINUS_ONE, MINUS_ONE, false); - -static const reloc_howto_type arm64_reloc_howto_32 = HOWTO (IMAGE_REL_ARM64_ADDR32, 0, 4, 32, false, 0, - complain_overflow_bitfield, - coff_aarch64_addr32_reloc, "IMAGE_REL_ARM64_ADDR32", - false, 0xffffffff, 0xffffffff, false); - -static const reloc_howto_type arm64_reloc_howto_32_pcrel = HOWTO (IMAGE_REL_ARM64_REL32, 0, 4, 32, true, 0, - complain_overflow_bitfield, - NULL, "IMAGE_REL_ARM64_REL32", - false, 0xffffffff, 0xffffffff, true); - -static const reloc_howto_type arm64_reloc_howto_branch26 = HOWTO (IMAGE_REL_ARM64_BRANCH26, 0, 4, 26, true, 0, - complain_overflow_bitfield, - coff_aarch64_branch26_reloc, "IMAGE_REL_ARM64_BRANCH26", - false, 0x03ffffff, 0x03ffffff, true); - -static const reloc_howto_type arm64_reloc_howto_page21 = HOWTO (IMAGE_REL_ARM64_PAGEBASE_REL21, 12, 4, 21, true, 0, - complain_overflow_signed, - coff_aarch64_rel21_reloc, "IMAGE_REL_ARM64_PAGEBASE_REL21", - false, 0x1fffff, 0x1fffff, false); - -static const reloc_howto_type arm64_reloc_howto_lo21 = HOWTO (IMAGE_REL_ARM64_REL21, 0, 4, 21, true, 0, - complain_overflow_signed, - coff_aarch64_rel21_reloc, "IMAGE_REL_ARM64_REL21", - false, 0x1fffff, 0x1fffff, true); - -static const reloc_howto_type arm64_reloc_howto_pgoff12l = HOWTO (IMAGE_REL_ARM64_PAGEOFFSET_12L, 1, 4, 12, true, 0, - complain_overflow_signed, - coff_aarch64_po12l_reloc, "IMAGE_REL_ARM64_PAGEOFFSET_12L", - false, 0xffe, 0xffe, true); - -static const reloc_howto_type arm64_reloc_howto_branch19 = HOWTO (IMAGE_REL_ARM64_BRANCH19, 2, 4, 19, true, 0, - complain_overflow_signed, - coff_aarch64_branch19_reloc, "IMAGE_REL_ARM64_BRANCH19", - false, 0x7ffff, 0x7ffff, true); - -static const reloc_howto_type arm64_reloc_howto_branch14 = HOWTO (IMAGE_REL_ARM64_BRANCH14, 2, 4, 14, true, 0, - complain_overflow_signed, - coff_aarch64_branch14_reloc, "IMAGE_REL_ARM64_BRANCH14", - false, 0x3fff, 0x3fff, true); - -static const reloc_howto_type arm64_reloc_howto_pgoff12a = HOWTO (IMAGE_REL_ARM64_PAGEOFFSET_12A, 2, 4, 12, true, 10, - complain_overflow_dont, - coff_aarch64_po12a_reloc, "IMAGE_REL_ARM64_PAGEOFFSET_12A", - false, 0x3ffc00, 0x3ffc00, false); - -static const reloc_howto_type arm64_reloc_howto_32nb = HOWTO (IMAGE_REL_ARM64_ADDR32NB, 0, 4, 32, false, 0, - complain_overflow_bitfield, - coff_aarch64_addr32nb_reloc, "IMAGE_REL_ARM64_ADDR32NB", - false, 0xffffffff, 0xffffffff, false); - -static const reloc_howto_type arm64_reloc_howto_secrel = HOWTO (IMAGE_REL_ARM64_SECREL, 0, 4, 32, false, 0, - complain_overflow_bitfield, - coff_aarch64_secrel_reloc, "IMAGE_REL_ARM64_SECREL", - false, 0xffffffff, 0xffffffff, false); +#define coff_aarch64_NULL NULL +#define HOW(type, right, size, bits, pcrel, left, ovf, func, mask, pcrel_off) \ + HOWTO (type, right, size, bits, pcrel, left, complain_overflow_##ovf, \ + coff_aarch64_##func, #type, false, mask, mask, pcrel_off) + +static const reloc_howto_type arm64_reloc_howto_abs += HOW (IMAGE_REL_ARM64_ABSOLUTE, + 0, 1, 0, false, 0, dont, NULL, 0, false); + +static const reloc_howto_type arm64_reloc_howto_64 += HOW (IMAGE_REL_ARM64_ADDR64, + 0, 8, 64, false, 0, bitfield, addr64_reloc, UINT64_C (-1), false); + +static const reloc_howto_type arm64_reloc_howto_32 += HOW (IMAGE_REL_ARM64_ADDR32, + 0, 4, 32, false, 0, bitfield, addr32_reloc, 0xffffffff, false); + +static const reloc_howto_type arm64_reloc_howto_32_pcrel += HOW (IMAGE_REL_ARM64_REL32, + 0, 4, 32, true, 0, bitfield, NULL, 0xffffffff, true); + +static const reloc_howto_type arm64_reloc_howto_branch26 += HOW (IMAGE_REL_ARM64_BRANCH26, + 0, 4, 26, true, 0, bitfield, branch26_reloc, 0x03ffffff, true); + +static const reloc_howto_type arm64_reloc_howto_page21 += HOW (IMAGE_REL_ARM64_PAGEBASE_REL21, + 12, 4, 21, true, 0, signed, rel21_reloc, 0x1fffff, false); + +static const reloc_howto_type arm64_reloc_howto_lo21 += HOW (IMAGE_REL_ARM64_REL21, + 0, 4, 21, true, 0, signed, rel21_reloc, 0x1fffff, true); + +static const reloc_howto_type arm64_reloc_howto_pgoff12l += HOW (IMAGE_REL_ARM64_PAGEOFFSET_12L, + 1, 4, 12, true, 0, signed, po12l_reloc, 0xffe, true); + +static const reloc_howto_type arm64_reloc_howto_branch19 += HOW (IMAGE_REL_ARM64_BRANCH19, + 2, 4, 19, true, 0, signed, branch19_reloc, 0x7ffff, true); + +static const reloc_howto_type arm64_reloc_howto_branch14 += HOW (IMAGE_REL_ARM64_BRANCH14, + 2, 4, 14, true, 0, signed, branch14_reloc, 0x3fff, true); + +static const reloc_howto_type arm64_reloc_howto_pgoff12a += HOW (IMAGE_REL_ARM64_PAGEOFFSET_12A, + 2, 4, 12, true, 10, dont, po12a_reloc, 0x3ffc00, false); + +static const reloc_howto_type arm64_reloc_howto_32nb += HOW (IMAGE_REL_ARM64_ADDR32NB, + 0, 4, 32, false, 0, bitfield, addr32nb_reloc, 0xffffffff, false); + +static const reloc_howto_type arm64_reloc_howto_secrel += HOW (IMAGE_REL_ARM64_SECREL, + 0, 4, 32, false, 0, bitfield, secrel_reloc, 0xffffffff, false); static const reloc_howto_type* const arm64_howto_table[] = { &arm64_reloc_howto_abs,