From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id 16EFC3858D3C for ; Tue, 17 May 2022 12:37:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 16EFC3858D3C Received: by mail-ej1-x62c.google.com with SMTP id g6so34455306ejw.1 for ; Tue, 17 May 2022 05:37:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=anPUi8m/lAYc5ZG3Mcfeis5oTkhcmEG2u4He35joB18=; b=dVIC1BD3DtsFfoBXmiLxh8dnZ/hkKYmCc6sgZe8AP1Z8zkcWTC4Kk+uWBNluR7olvk UDPq1vP1q28GUfTDu9NUTPxYtnXiLPhnsCv5y/ppXwzrs/snNlLjski8E54p/RrN+iMT N+Y996+6gtE8LLLwAeZ08etqs0JXLCK/hkbvoC/JATutfFIXERCaHtFM3fTo8endyDKR LY4D9eTkTc/tt6TcQvMxrnBOurSx9mH6Rz4puoi4SZQOcNFkEwkmT+/iQCZOSqwsbHzq cb0H6jlf5uFr4U5BOkSz1wcpq8tCoM+1xokgGvtWK8irevoFT7/VLeP6WC+xznu3yqBa uKYQ== X-Gm-Message-State: AOAM532mBgtXX3o1YFx5vwKm7FwGhdGoV0L1Br6WHxdS+j1ISYm9cWPh M7NW8PWUpKWEFacZ9nVMY17ewQVVOy3H7VvF7OtL9fBU X-Google-Smtp-Source: ABdhPJw4vW26d/IJNkah90UtSVxxZXrBjNG1/G2CBW3xkesR4OoGf6tND/LJcVUQGC+VDAR+o7guOkBmWmUAvoKajgM= X-Received: by 2002:a17:906:9748:b0:6fa:8c68:af0e with SMTP id o8-20020a170906974800b006fa8c68af0emr20167214ejy.153.1652791067601; Tue, 17 May 2022 05:37:47 -0700 (PDT) MIME-Version: 1.0 From: Dmitry Selyutin Date: Tue, 17 May 2022 15:37:36 +0300 Message-ID: Subject: Plugin-based opcode table To: binutils@sourceware.org, Alan Modra Cc: Luke Kenneth Casson Leighton X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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-List-Received-Date: Tue, 17 May 2022 12:37:51 -0000 Hello folks, recently we've been discussing the opcode allocation for SVP64[0]. Either the exact opcodes should be reserved for SVP64 needs, or there must be some established and documented way to determine programmatically that the code uses SVP64 extensions, and not other extension. Either way, we're waiting for OpenPOWER Foundation decision. Before this decision is taken, and OPF approves and documents it, we'd like to have some option to adjust the opcodes dynamically, effectively populating the opcodes table with SVP64 instructions. Or, alternatively, have a way to provide the alternative opcode table. This way, we would not pollute the opcodes table and vanilla binutils with opcodes not blessed by OPF yet. We've been thinking of some plugin, with obvious candidates being dlopen/dlsym combo. Sure the code will be public, as well as the whole work around libresoc and SVP64. Also, we might opt to tune few other things via plugin as well: SVP64 prefixed opcodes are a perfect example of the place where we fork. I recall there are plugins in binutils, but I'm not sure whether these are designed to areas other than linker. I'm also not sure whether this is supported, and if there is a sufficient documentation on API. A quick search yields include/plugin-api.h, which might be not what we want. We'd like to consult with binutils developers on how to approach this issue, and collect a feedback. Thank you in advance! [0] https://sourceware.org/pipermail/binutils/2022-May/120775.html Best regards, Dmitry