From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BE51ACDB47E for ; Wed, 18 Oct 2023 05:34:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:MIME-Version:Message-Id:Date: Subject:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=H49JQQv9GEQSjw5alkgQxvDRJysVD+DpYO2RnixbZaY=; b=rzZZNh6Oc9Nk1A 6lk8eohtxBcuJpKsJIDo55QQQIp6gSlaavV23uG4c6ioQW+ikahfxOgMMFvfPLUPRMNw0ibLr5mSA 8uXFlY+mbD4lTqPvweHX9oFerQS0LeGXMSd2h8+h/VDEqcfGUif5Tr5jDOyDlW5PuVTm8KlJezxT1 39NFG5xobzUJ8wTTXBoIi+UPZ/QcZqdEK75bSE1kVRYsdc630bGkCv2sCvv3QyMzNculj9xTnDJbx VgNrCuhRMrFvTF6A49uXNSF5yyxgi7uyor12waQSja6grDoFWXfLSnADXAz1iyrnBTWq1zCwx2S92 s55DLhZlhAOku/U4ikFw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qszCL-00Dphq-1e; Wed, 18 Oct 2023 05:34:25 +0000 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qszCI-00Dpfc-18 for linux-riscv@lists.infradead.org; Wed, 18 Oct 2023 05:34:24 +0000 Received: by mail-oi1-x229.google.com with SMTP id 5614622812f47-3b2b1ad7ee6so3020151b6e.2 for ; Tue, 17 Oct 2023 22:34:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1697607259; x=1698212059; darn=lists.infradead.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=zcA19DI8JxNOsatUyRCutdloslAvaeKjMvE3flJ53dg=; b=mrgozA2qhhwfyq/09tvqKyIo9TmE22bU+sz+NWLcWhY4neL0c5wfbmoJ53gDNNkruY Af6TgeT9XfDZ7RghrNIBcKsMkxwg79OmiHaPLp6X8GVFPCLwy2PLKoloULE+I8WnPByh 49mioQ+ztac6yDYw8iWbR7mR/QEvh11cLEWkku2yKq4cJhJMI8pKsGzi3ZMjUeZj5kIc R+FpWLLkFD+va65AKPIQxhI9a5R82jLzcgW/LbtjFlTt138xO9d4sweBHovr8yrTJgN4 vTNqQVBz62nmqe0LjFjxLJoBdsl7ks5BMAXusyXKCtifbCOanDjESF13+OCCa+lQ84mJ jF/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697607259; x=1698212059; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zcA19DI8JxNOsatUyRCutdloslAvaeKjMvE3flJ53dg=; b=clSEYba9EXhmhGuvZkfmG5Mue1Xm+IsnUsOUzPPFxyfPOvNU3JX+RbpDQrnxYFQjwo yP94aGu7xVAXDlSaSlesdV1YWvgNpZUGymm9kfcNTdN7p8op+GR18pGPLmvPugTiSR0D AKHf3lGDzaiEBSoRTsYU8yZtCyKYXmzmA3sGekpx4504Z6m6o9Itf2T3kWlRsLXcK0tY BwEtU/E2/ph1lD52lm67Ga+5PXIUKw87GD95jrpGNjwRWadvzwHaLCHJRJe++cSuVDcA azQTZFg/PLWeNsy011+/Jt2nqMHkZqe2redGFYIk5af4FgH2jiLCzmh7YarcUJrvhUO3 7Fgg== X-Gm-Message-State: AOJu0Yw0gzQeua512O+WMD6OQyvEc16diFWf6j/snZauXD7Ko/gDOY8K GwD9sUP0RUwkZxBew+2BGyL9/Q== X-Google-Smtp-Source: AGHT+IGK/wCHRdzqyE+f30dZhC8keLR9CdSNY1bxU9dNVzNKpnZmQTzobu7h+SvnIzAMMQwoVz2Syg== X-Received: by 2002:a05:6808:8b:b0:3ae:156f:d325 with SMTP id s11-20020a056808008b00b003ae156fd325mr4197727oic.58.1697607258872; Tue, 17 Oct 2023 22:34:18 -0700 (PDT) Received: from charlie.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id z26-20020a54459a000000b003af60f06629sm527977oib.6.2023.10.17.22.34.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 22:34:18 -0700 (PDT) From: Charlie Jenkins Subject: [PATCH v4 0/2] riscv: Add remaining module relocations and tests Date: Tue, 17 Oct 2023 22:34:15 -0700 Message-Id: <20231017-module_relocations-v4-0-937f5ef316f0@rivosinc.com> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAFduL2UC/23N3QqCMBTA8VeRXbfYh55pV71HROh2zIG52GwU4 rs3JSLCy//hnN+ZSEBvMZBDNhGP0QbrhhT5LiO6q4crUmtSE8GEZBUr6c2ZR48Xj73T9Zi2A21 BajRQ8MYokg7vHlv7XNHTOXVnw+j8a/0R+TL9cFxucZFTRptGmjIHhaqSR2+jC3bQe+1uZBGj+ CqcMdhURFJyVQDkhWzR6A1F/ih8W5FJqQFUa4ApjtWfMs/zGxPwXQpDAQAA To: linux-riscv@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Eric Biederman , Kees Cook , Paul Walmsley , Palmer Dabbelt , Albert Ou , Charlie Jenkins X-Mailer: b4 0.12.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231017_223422_623794_4506965C X-CRM114-Status: GOOD ( 10.88 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org A handful of module relocations were missing, this patch includes the remaining ones. I also wrote some test cases to ensure that module loading works properly. Some relocations cannot be supported in the kernel, these include the ones that rely on thread local storage and dynamic linking. ULEB128 handling is a bit special because SET and SUB relocations must happen together, and SET must happen before SUB. A psABI proposal [1] mandates that the first SET_ULEB128 that appears before a SUB_ULEB128 is the associated SET_ULEB128. This can be tested by enabling KUNIT, RUNTIME_KERNEL_TESTING_MENU, and RISCV_MODULE_LINKING_KUNIT. [1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/403 Signed-off-by: Charlie Jenkins --- Changes in v4: - Complete removal of R_RISCV_RVC_LUI - Fix bug in R_RISCV_SUB6 linking - Only build ULEB128 tests if supported by toolchain - Link to v3: https://lore.kernel.org/r/20231016-module_relocations-v3-0-a667fd6071e9@rivosinc.com Changes in v3: - Add prototypes to test_module_linking_main as recommended by intel zero day bot - Improve efficiency of ULEB128 pair matching - Link to v2: https://lore.kernel.org/r/20231006-module_relocations-v2-0-47566453fedc@rivosinc.com Changes in v2: - Added ULEB128 relocations - Link to v1: https://lore.kernel.org/r/20230913-module_relocations-v1-0-bb3d8467e793@rivosinc.com --- Charlie Jenkins (2): riscv: Add remaining module relocations riscv: Add tests for riscv module loading arch/riscv/Kconfig.debug | 1 + arch/riscv/include/uapi/asm/elf.h | 5 +- arch/riscv/kernel/Makefile | 1 + arch/riscv/kernel/module.c | 207 ++++++++++++++++++--- arch/riscv/kernel/tests/Kconfig.debug | 35 ++++ arch/riscv/kernel/tests/Makefile | 1 + arch/riscv/kernel/tests/module_test/Makefile | 15 ++ .../tests/module_test/test_module_linking_main.c | 85 +++++++++ arch/riscv/kernel/tests/module_test/test_set16.S | 23 +++ arch/riscv/kernel/tests/module_test/test_set32.S | 20 ++ arch/riscv/kernel/tests/module_test/test_set6.S | 23 +++ arch/riscv/kernel/tests/module_test/test_set8.S | 23 +++ arch/riscv/kernel/tests/module_test/test_sub16.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub32.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub6.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub64.S | 27 +++ arch/riscv/kernel/tests/module_test/test_sub8.S | 22 +++ arch/riscv/kernel/tests/module_test/test_uleb128.S | 20 ++ 18 files changed, 548 insertions(+), 26 deletions(-) --- base-commit: 4d320c2d9a2b22f53523a1b012cda17a50220965 change-id: 20230908-module_relocations-f63ced651bd7 -- - Charlie _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF95BCDB47E for ; Wed, 18 Oct 2023 05:34:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 237E78D0134; Wed, 18 Oct 2023 01:34:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C34A8D0016; Wed, 18 Oct 2023 01:34:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 03A948D0134; Wed, 18 Oct 2023 01:34:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E43868D0016 for ; Wed, 18 Oct 2023 01:34:21 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B64DE1CBCFB for ; Wed, 18 Oct 2023 05:34:21 +0000 (UTC) X-FDA: 81357466722.27.4960229 Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175]) by imf15.hostedemail.com (Postfix) with ESMTP id D56C8A0022 for ; Wed, 18 Oct 2023 05:34:19 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=Bxp4bojG; spf=pass (imf15.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.167.175 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697607260; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=zcA19DI8JxNOsatUyRCutdloslAvaeKjMvE3flJ53dg=; b=j71iRF/Hufvcm78JOz0opgwHeE6JxouDsqxbYqDfEwOesydw5y8pVkPLw3Q93JM2L65Bkn qZmF87WNGi48RLpntgTyQwYuV/Q5FzAGe5l/nU72SfUVzZ0KM97ORIe/6W0p1+EsWJuoEM 0aG3NBOEHeDX2RBkj9FSCkc6O2gcVtk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697607260; a=rsa-sha256; cv=none; b=743GaVNoAzwASdWDKwjhXmyxN3ljmIjAKr0pNdFXJgPKsmDbgQM5nVwXHym6so+oLLZd6X 9wI6XMXXktng+fidhoyxVrvrZnWyiKT2FPO1ECv2VgR0WWIN4IHLoqdgwqdZoUpkE2Dbmq OWU8oQFev5O5LlGVAvPzbtV7Wqj8YPo= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=Bxp4bojG; spf=pass (imf15.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.167.175 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-3af5b5d7f16so3928162b6e.0 for ; Tue, 17 Oct 2023 22:34:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1697607259; x=1698212059; darn=kvack.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=zcA19DI8JxNOsatUyRCutdloslAvaeKjMvE3flJ53dg=; b=Bxp4bojGr1SX45aVyP94QdsjAw3IizDZUA1pUhk+sMNYaGO0KrHj14Te5MQuswmMBC yxSBy0QzJ7EQozuXJD6d3WLVUqCfErhTLjujB2s2FFz1PfQYYBP5XUQZAOYdfoR17MFV CGBa7bD4pE6Ly2O1u83j+L8O/MSY49HUNPeBVADpshGESKnzOTAQIEniztHPU2fWN3Vu RzjMx/TBVBZEuIxp94yxtnAM1INC7hSGPA2b5cN8OpcKnjjlK33GvBrtnglJiVHT+bpD duD+jFxS0MN+afSvTrkaW+adRDBmsQgkf7tKcIokQgR+JZOKzy4IvqcMMglEx7Mir107 8jRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697607259; x=1698212059; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zcA19DI8JxNOsatUyRCutdloslAvaeKjMvE3flJ53dg=; b=VrD7/LrCdRMwN88ffmSOQnZJ2KRdr4X3hfSM33M6Z+S3YSDdQKAWOTsw1uEo+laKyD 1ayFwPXuvJK7BS2sTHwbnhprnF01Hej8HZB+YR/nTXWcg417tiquoRW+LAiU0L/QVBZz xGzGf6Onsjx7j5l6Vjv7o0z1aa4gB3mTJhFEoJiCZVSBweusvtLu/0TxX5PdTesKoH/E fJ0S45dieMiVlEkClolrCIk3UuzgzDB8OMgCnCNZ9DN3Fm5kWLCGMevS9teO0QFjogMU AjOPYsQvS/JB2hbOt6SY1/LPTaME6R3rfllEISvpLSE369iK9ctK264H9FJmXVnwK2IE 0BTA== X-Gm-Message-State: AOJu0Yydz9NMZLY/59D2E1XhAIYJxSdsbL7cMf7rbb0fbAVxY3AtJz4p jVvn4wt2kkayHE/02uRiXcvpww== X-Google-Smtp-Source: AGHT+IGK/wCHRdzqyE+f30dZhC8keLR9CdSNY1bxU9dNVzNKpnZmQTzobu7h+SvnIzAMMQwoVz2Syg== X-Received: by 2002:a05:6808:8b:b0:3ae:156f:d325 with SMTP id s11-20020a056808008b00b003ae156fd325mr4197727oic.58.1697607258872; Tue, 17 Oct 2023 22:34:18 -0700 (PDT) Received: from charlie.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id z26-20020a54459a000000b003af60f06629sm527977oib.6.2023.10.17.22.34.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 22:34:18 -0700 (PDT) From: Charlie Jenkins Subject: [PATCH v4 0/2] riscv: Add remaining module relocations and tests Date: Tue, 17 Oct 2023 22:34:15 -0700 Message-Id: <20231017-module_relocations-v4-0-937f5ef316f0@rivosinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAFduL2UC/23N3QqCMBTA8VeRXbfYh55pV71HROh2zIG52GwU4 rs3JSLCy//hnN+ZSEBvMZBDNhGP0QbrhhT5LiO6q4crUmtSE8GEZBUr6c2ZR48Xj73T9Zi2A21 BajRQ8MYokg7vHlv7XNHTOXVnw+j8a/0R+TL9cFxucZFTRptGmjIHhaqSR2+jC3bQe+1uZBGj+ CqcMdhURFJyVQDkhWzR6A1F/ih8W5FJqQFUa4ApjtWfMs/zGxPwXQpDAQAA To: linux-riscv@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Eric Biederman , Kees Cook , Paul Walmsley , Palmer Dabbelt , Albert Ou , Charlie Jenkins X-Mailer: b4 0.12.3 X-Rspamd-Queue-Id: D56C8A0022 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: qzyr1w3x5d4ak9rke6c4mxp5n7ndec16 X-HE-Tag: 1697607259-52221 X-HE-Meta: U2FsdGVkX18xd4ncP8EqzYpt6N4Te61t+2M5wMkQ42cIUXhfDNbUFq32s2UygxM2R6WKLHnft8JHr/IqcsHQhjRuu1nBevnPvIIRRDR7Q9WmmfN67t+VEqDZZZHbJqKneOpoAUKzQ29Ems7y+I/EvNUz/N3NuMLHgkJ90oqeP7eY15BLPjX5vv3Jq8lFuLwq8AYKL98sELkBpIk+CixWhzTsXsekj7eTH1Bgzt2sNCvx7jhnIgtDWbVqJPPKzvuWeT96jzz6Mk8070oT71RaQc7JyftBXybNTZkizR9Xg3zRp1e3V+Zd8gVSRyU93e4Lz2E+//hvH4J83puZss/conXZ4NwLM4QExWIHlBmh0OxKCJJuQtkLeoOO4nZ57vSl4Q1idpwafgcRjVGXFU3glqHTxxmNq+dEZfOgnBkYM8nXUZA9UyJyWf+GLraT5mIpCTrDu0jdamZDYpTku7ElwWEaSvsNWDrS+1ECJOEKvw+Koz6cbbGK3MAGG2kTmEDzM3OP9eFpr5JYYkMs9G5P+w3ZA4FQrBb3YAGMiRNKmV6e29iK+4EIb/dYSdS2fttp5DFWgnDLX2rfqwpZOSobEeJVbZHRVub7shnWYD6SeE1LJheX4k5eVBzYGrFFahh+2lS8nHsPt4f3C+Vo5nk28sLGgv5j4rLrpUmGNPK/kXL0p4mGSzaNzT8RA3dAoGgaB/GnvVp16NoVkCY0gG4A1XTJTxDyREEt7Zmoru+9abfryAk9QZkk5PmFyTviDkYwfTlQi96lbHyFQzjUS1USoXgiJB6Jn2g5D6DSq1cEuZne7k0Xd7PRtS6yH/H/B8205fMjxPXJPhGrbkI7EV/RJstFk6TWrpHyBAPjJV0ao41fXLk8iEN6XP5DdbWda5pzC75/Nhj4y0IGAVTLlM1drOqMiYvAOsm+MPc+gb/T0KOSrDt0ldV6vHZWlcS6R8TylX/B5xLHPsJaRThdNAV z/pFTWb4 uyuO106kQkSVGbkLHU5EDI/5NFEEYqc3euJNQf0z8vchLmkG26anqNq3Ub38yXet3AKhQFSBMTfs2+3UAapWmkyFq8Kj5swHnzdiv9jyS+grEnNrIMPxS4SQ04ZoL6we61VmCMepxYfRFt5/pVvqgVRwPqtyn3Fits9b8JUhxsPpS1IV3ihf3QR3+iHQ7WBeuUyaSiP4nA4bLU7p1sFaInz1ucOLqxEmtHLeWRUG+DnZ6fuD35Fae3KtzZDqdKHr6J/xdJ6fkhRQzN5MGWU2PVsPN2Hyb3V2YarTNpYuRgD1LljbUg07kKuSm+29p90ogEOxF5etr3xnAcgpOh6ASwsQ85Mh8Vmc9WVRUFGFF834pOFiJyEvSaCyNwAn+8vJYFXTplEA+20ShrlyC+X6nylmGveV/V5SXj0nMhbPLuFwaJvDnsoZss2sdF+BAY3v0dqvZFda898SkpmUTccdRyhhlNk719JHoYakoYpv2sgDMHqvJKYkozJU2Uho5Ha+i2+nDcMf14iH/IoBSM0KeX+nvsS6yHyd/eBU/ X-Bogosity: Ham, tests=bogofilter, spamicity=0.026270, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: A handful of module relocations were missing, this patch includes the remaining ones. I also wrote some test cases to ensure that module loading works properly. Some relocations cannot be supported in the kernel, these include the ones that rely on thread local storage and dynamic linking. ULEB128 handling is a bit special because SET and SUB relocations must happen together, and SET must happen before SUB. A psABI proposal [1] mandates that the first SET_ULEB128 that appears before a SUB_ULEB128 is the associated SET_ULEB128. This can be tested by enabling KUNIT, RUNTIME_KERNEL_TESTING_MENU, and RISCV_MODULE_LINKING_KUNIT. [1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/403 Signed-off-by: Charlie Jenkins --- Changes in v4: - Complete removal of R_RISCV_RVC_LUI - Fix bug in R_RISCV_SUB6 linking - Only build ULEB128 tests if supported by toolchain - Link to v3: https://lore.kernel.org/r/20231016-module_relocations-v3-0-a667fd6071e9@rivosinc.com Changes in v3: - Add prototypes to test_module_linking_main as recommended by intel zero day bot - Improve efficiency of ULEB128 pair matching - Link to v2: https://lore.kernel.org/r/20231006-module_relocations-v2-0-47566453fedc@rivosinc.com Changes in v2: - Added ULEB128 relocations - Link to v1: https://lore.kernel.org/r/20230913-module_relocations-v1-0-bb3d8467e793@rivosinc.com --- Charlie Jenkins (2): riscv: Add remaining module relocations riscv: Add tests for riscv module loading arch/riscv/Kconfig.debug | 1 + arch/riscv/include/uapi/asm/elf.h | 5 +- arch/riscv/kernel/Makefile | 1 + arch/riscv/kernel/module.c | 207 ++++++++++++++++++--- arch/riscv/kernel/tests/Kconfig.debug | 35 ++++ arch/riscv/kernel/tests/Makefile | 1 + arch/riscv/kernel/tests/module_test/Makefile | 15 ++ .../tests/module_test/test_module_linking_main.c | 85 +++++++++ arch/riscv/kernel/tests/module_test/test_set16.S | 23 +++ arch/riscv/kernel/tests/module_test/test_set32.S | 20 ++ arch/riscv/kernel/tests/module_test/test_set6.S | 23 +++ arch/riscv/kernel/tests/module_test/test_set8.S | 23 +++ arch/riscv/kernel/tests/module_test/test_sub16.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub32.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub6.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub64.S | 27 +++ arch/riscv/kernel/tests/module_test/test_sub8.S | 22 +++ arch/riscv/kernel/tests/module_test/test_uleb128.S | 20 ++ 18 files changed, 548 insertions(+), 26 deletions(-) --- base-commit: 4d320c2d9a2b22f53523a1b012cda17a50220965 change-id: 20230908-module_relocations-f63ced651bd7 -- - Charlie