From patchwork Wed Sep 14 15:47:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1677960 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=QakjMd/s; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MSPrY0dvdz1yhR for ; Thu, 15 Sep 2022 01:48:45 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MSPrY0N15z3bl3 for ; Thu, 15 Sep 2022 01:48:45 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=QakjMd/s; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::1029; helo=mail-pj1-x1029.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=QakjMd/s; dkim-atps=neutral Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MSPqf32lzz2xy4 for ; Thu, 15 Sep 2022 01:47:58 +1000 (AEST) Received: by mail-pj1-x1029.google.com with SMTP id o23so13713497pji.4 for ; Wed, 14 Sep 2022 08:47:58 -0700 (PDT) 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; bh=I5YhyHRIp01bb/wdnhQzGTcelGovlrFL/Fr3jrEtPGA=; b=QakjMd/sCYD0aU+vI6vFsPKsScaFLf6weP3BkuhzwVN0Znh6IAGPQxDFLIQzjMwkNH owUbSfnqGXPhXz0e58jboYo9usT+tscw5btRV391oybdjyNnzZkjFPue1U90Y358Ybeq VK99iurYbmaXA8YE7lyPfg9y9rFTw4Nivhf3t9Kmcwq2a7IVE+f7tmLE8IEHeq6nzh2c inFpKYiSO8sZ7U0vpIFBRRIOv35eL7nY8GUyJiThMOaDqjiXpQBOepe0sgPKU4iV3Gml dqNTzngajiZSjHVom/9Jkn8zViIUOOQ0TTNYqQntoazbdoDYhhp2yfabwMk8ERe1ek5R A52A== 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; bh=I5YhyHRIp01bb/wdnhQzGTcelGovlrFL/Fr3jrEtPGA=; b=DJb52DMsDS+Gqonjgx8siGTDY7EgkWw64kq7aWdMgzBgynhmnDpXaLOuZLjmI7FQna wUN2KFw+RpGtqPsQ3PjMMQojD5I+kVneHctxviE/74j4CsyNaVpvqnCO86og6eMU4Rly xBAhKbjzZ9xeEfuFaStVmAx4TGjT65EWz89NPA7JdaNODvZx/pY401iXT2g0y+sn3e14 yCEws6EwADLIGuIlk2LsBaCymo245qDK9CcK8QqbIWDkbfrwAi4ZWKhr2lbL/S7xU22b 6nytQAhqO1GeEZLtSI4P/VgGrUdnnXOwAcxfJlx6uXl6stTr+eFWY6X0kGb8rK0lZZ6Q Np+g== X-Gm-Message-State: ACgBeo29nP4lqsC7W7Pgy0lJt1OIA/oFoHAdNLwL7fNsowiulnIaqre8 VISPQZIqw0kRQnuAPV79ut/X1Y+lpOc= X-Google-Smtp-Source: AA6agR6qHiyWgRBQd+6nq3yntWVdYCRHb4Ae1YIH86QNAhpy9p5XqMY+zVwYLtUhQTCzMJyaybmahA== X-Received: by 2002:a17:902:ceca:b0:177:fa1f:4abc with SMTP id d10-20020a170902ceca00b00177fa1f4abcmr29521810plg.99.1663170475940; Wed, 14 Sep 2022 08:47:55 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([118.210.107.131]) by smtp.gmail.com with ESMTPSA id i7-20020a17090332c700b00177e263303dsm9919892plr.183.2022.09.14.08.47.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 08:47:55 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 1/7] powerpc/build: put sys_call_table in .data.rel.ro if RELOCATABLE Date: Thu, 15 Sep 2022 01:47:40 +1000 Message-Id: <20220914154746.1122482-2-npiggin@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220914154746.1122482-1-npiggin@gmail.com> References: <20220914154746.1122482-1-npiggin@gmail.com> MIME-Version: 1.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas Piggin Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Const function pointers live in .data.rel.ro rather than .rodata because they must be relocated. This change prevents powerpc/32 from generating R_PPC_UADDR32 relocations (which are not handled). The sys_call_table is moved to writeable memory, but a later change will move it back. After this patch, 44x_defconfig + CONFIG_RELOCATABLE boots to busybox. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/systbl.S | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index cb3358886203..0bec33e86f50 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S @@ -12,7 +12,11 @@ #include +#ifdef CONFIG_RELOCATABLE +.section .data.rel.ro,"aw" +#else .section .rodata,"a" +#endif #ifdef CONFIG_PPC64 .p2align 3 From patchwork Wed Sep 14 15:47:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1677961 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=fAeSAk/1; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MSPsG0qlFz1yhR for ; Thu, 15 Sep 2022 01:49:22 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MSPsC6dPxz3cdF for ; Thu, 15 Sep 2022 01:49:19 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=fAeSAk/1; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::102b; helo=mail-pj1-x102b.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=fAeSAk/1; dkim-atps=neutral Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MSPqj68Lrz2xy4 for ; Thu, 15 Sep 2022 01:48:01 +1000 (AEST) Received: by mail-pj1-x102b.google.com with SMTP id ge9so3469777pjb.1 for ; Wed, 14 Sep 2022 08:48:01 -0700 (PDT) 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; bh=+F7LKKo6dcwAnq4akvLNV1O1Dd3/7gNACx9QbDE55TI=; b=fAeSAk/1KW2QLjuXTGjn999UjL47hmKmjlnVKM5nB0bf+a498iA8Mh2296ejh0oQ2I qioY6P8Crj3XoZo8NS1oTHVuYt5OKsqHsNH/6X5CIa1afhYnwRGxNB4k7FlG3laoG+qL gW2RIMrKdopRLyzT/9WbagLKCrN7jEZkt6aNXmtPHz0K+/PNcatonwIPJ5uFhIm+b0S7 P/4GqcUwajz0DK5gjHEyHtl5aroD+fFyke/IZO8NSz+AzSzdoPA+cEMWfHGB6qzFDJd2 EJkhOg1XjKl71a0IogXq9Iigigz2BpNlVYxg3OgSlKfs+/K8PGGVO+oeh83IHrwhV1Mz /OXQ== 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; bh=+F7LKKo6dcwAnq4akvLNV1O1Dd3/7gNACx9QbDE55TI=; b=NIV6+2/goazeAtClZDJQn7lR6Qg+LcHiV6JbA1HU0XsstCbuv3MDNNMhGtmWZUM+Le Qokd6LAqPg8biJVpO01DaNg9sYPUtab/vYkBn0Cxpf3KiO3FdHByuXhLVsM9P545OPzW kbLl9W6u0A374VYs7FPeTnNiqpzgl15TXbbKaeIH5+hmyEC5Z9hSnIeIj9YU39BsbzlY FvHqmzy9Ij/v2pmWDlBUMyy4exRmzLdWdhyYTNQyX/kGZhgTcUapO0HMrTgM7KI15phn yw26SNRB2GRKaJKH55uFw53Gp2tgKl5A3AP/8CDmE22f6zjEMiQJqrcREafDmMSpZaBJ ue2w== X-Gm-Message-State: ACgBeo015vj02Zdb86YX4/QS/KoJZeKlzmf32D7mmwmVr4neeCW9IVQt jo6OtKLLJQEwQBBLPvGdAPVahYuvR5M= X-Google-Smtp-Source: AA6agR7oeSZunMsYO2+DikG/FkvtJXGtDT4a1Nq5R9vSWj+rpHM/aTYw+++g0kd9kJR9WBNkUKJjzQ== X-Received: by 2002:a17:902:e312:b0:176:9348:1f6e with SMTP id q18-20020a170902e31200b0017693481f6emr37287864plc.14.1663170478550; Wed, 14 Sep 2022 08:47:58 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([118.210.107.131]) by smtp.gmail.com with ESMTPSA id i7-20020a17090332c700b00177e263303dsm9919892plr.183.2022.09.14.08.47.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 08:47:57 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 2/7] powerpc: move __end_rodata to cover arch read-only sections Date: Thu, 15 Sep 2022 01:47:41 +1000 Message-Id: <20220914154746.1122482-3-npiggin@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220914154746.1122482-1-npiggin@gmail.com> References: <20220914154746.1122482-1-npiggin@gmail.com> MIME-Version: 1.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas Piggin Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" powerpc has a number of read-only sections and tables that are put after RO_DATA(). Move the __end_rodata symbol to cover these as well. Setting memory to read-only at boot is done using __init_begin, change that that to use __end_rodata. This also affects boot dmesg, is_kernel_rodata(), and some other checks. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/vmlinux.lds.S | 3 +++ arch/powerpc/mm/book3s32/mmu.c | 2 +- arch/powerpc/mm/book3s64/hash_pgtable.c | 2 +- arch/powerpc/mm/book3s64/radix_pgtable.c | 2 +- arch/powerpc/mm/pgtable_32.c | 5 ++--- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index fe22d940412f..90ac5ff73df2 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -210,6 +210,9 @@ SECTIONS } #endif + . = ALIGN(PAGE_SIZE); + __end_rodata = .; + /* * Init sections discarded at runtime */ diff --git a/arch/powerpc/mm/book3s32/mmu.c b/arch/powerpc/mm/book3s32/mmu.c index a96b73006dfb..e13b883e4e5b 100644 --- a/arch/powerpc/mm/book3s32/mmu.c +++ b/arch/powerpc/mm/book3s32/mmu.c @@ -240,7 +240,7 @@ void mmu_mark_rodata_ro(void) for (i = 0; i < nb; i++) { struct ppc_bat *bat = BATS[i]; - if (bat_addrs[i].start < (unsigned long)__init_begin) + if (bat_addrs[i].start < (unsigned long)__end_rodata) bat[1].batl = (bat[1].batl & ~BPP_RW) | BPP_RX; } diff --git a/arch/powerpc/mm/book3s64/hash_pgtable.c b/arch/powerpc/mm/book3s64/hash_pgtable.c index ae008b9df0e6..28332001bd87 100644 --- a/arch/powerpc/mm/book3s64/hash_pgtable.c +++ b/arch/powerpc/mm/book3s64/hash_pgtable.c @@ -541,7 +541,7 @@ void hash__mark_rodata_ro(void) unsigned long start, end, pp; start = (unsigned long)_stext; - end = (unsigned long)__init_begin; + end = (unsigned long)__end_rodata; pp = htab_convert_pte_flags(pgprot_val(PAGE_KERNEL_ROX), HPTE_USE_KERNEL_KEY); diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c index 698274109c91..2305f34bcc33 100644 --- a/arch/powerpc/mm/book3s64/radix_pgtable.c +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -228,7 +228,7 @@ void radix__mark_rodata_ro(void) unsigned long start, end; start = (unsigned long)_stext; - end = (unsigned long)__init_begin; + end = (unsigned long)__end_rodata; radix__change_memory_range(start, end, _PAGE_WRITE); } diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index 3ac73f9fb5d5..112af8c5447a 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c @@ -158,10 +158,9 @@ void mark_rodata_ro(void) } /* - * mark .text and .rodata as read only. Use __init_begin rather than - * __end_rodata to cover NOTES and EXCEPTION_TABLE. + * mark .text and .rodata as read only. */ - numpages = PFN_UP((unsigned long)__init_begin) - + numpages = PFN_UP((unsigned long)__end_rodata) - PFN_DOWN((unsigned long)_stext); set_memory_ro((unsigned long)_stext, numpages); From patchwork Wed Sep 14 15:47:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1677962 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=bF8d5bIt; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MSPsv2r2yz1yhR for ; Thu, 15 Sep 2022 01:49:55 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MSPsv2JRGz3cCW for ; Thu, 15 Sep 2022 01:49:55 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=bF8d5bIt; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::435; helo=mail-pf1-x435.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=bF8d5bIt; dkim-atps=neutral Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MSPql5SZnz2xy4 for ; Thu, 15 Sep 2022 01:48:03 +1000 (AEST) Received: by mail-pf1-x435.google.com with SMTP id a80so6760238pfa.4 for ; Wed, 14 Sep 2022 08:48:03 -0700 (PDT) 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; bh=/7J/hO7DSbMODCirMCFkKaZJzA41MXCJl5bIy80vYCY=; b=bF8d5bItVf86rgWBySmbHA4lbXdjm6ygM2oeuTWu3zyFCMj56GiDpzXdOh29i6SZ3Q 51C2HyEK1W6DfE0SMo9c7ANQZe7lVZM4fHaDkry+rdgpC2buBJw6fQHCsUa65IY8+X8+ sxlJgV2CYUQN/TJdxTAU4FFYVNwP8ZAkdqXSoQf2RrIezeABunCTXRBmLm5n+3e+PIFa QdF2gpGg64ZBSSvLzMCr3RJ7xMKLfrzFvuKQ7KfsD/TRndDO03LRt8jOm6HMnEmrbwhw rObxEDDouQ1oOiZDHLEMgjLTOANgi9vL2OUaeFYYr8f1YsSmuYoUYBjvyRkjOqcn4QfZ cuyA== 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; bh=/7J/hO7DSbMODCirMCFkKaZJzA41MXCJl5bIy80vYCY=; b=cHTLWawm2ETUpmvQY5MHoZxbjAgAZepIKZmWIitvl7s8pMwbe0UoRFVhOv7AKTCd72 ASWqwPoi70ihNQBcafCE0yNfGNGGKUh2Rd4qJT1lcmrOyMYhu9VkUnuwaGiESCCS+2b0 dVqub+At3BTaBRe1jdCZroT0F2O821jnlZdG2kZlGWoWETgXqKym0Z8OZHO5TNAPgrbw nZIFDljFBM20reaPDrgdzHsMWYKxsk07SiDRtLN751bEDBrMlSF19K8lgOhw1ZhfMbPV ze9NlyAIqPJ9erHY37OBETuPGbhmp1D+AvuJWcLzcA2wsaxhej2pYSAL3b//Qjzw4cNb Q2dg== X-Gm-Message-State: ACgBeo00z6UxFnxwH4oICAX8SWP5KLDVCguzanTB6e+4Ws1lkq+NxuyN PVRV70O6UG5mnXekPBJUiIID1T4W/cs= X-Google-Smtp-Source: AA6agR4M5UBAL60SfJSZgItzGb4Rsa7O6orWtPrjCFn19JdE0aJPIeqkGz4S2k5JeEnhERZ9Z6Xzmg== X-Received: by 2002:a63:8b44:0:b0:434:f911:52a6 with SMTP id j65-20020a638b44000000b00434f91152a6mr30602649pge.496.1663170480868; Wed, 14 Sep 2022 08:48:00 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([118.210.107.131]) by smtp.gmail.com with ESMTPSA id i7-20020a17090332c700b00177e263303dsm9919892plr.183.2022.09.14.08.47.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 08:48:00 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 3/7] powerpc/32/build: move got1/got2 sections out of text Date: Thu, 15 Sep 2022 01:47:42 +1000 Message-Id: <20220914154746.1122482-4-npiggin@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220914154746.1122482-1-npiggin@gmail.com> References: <20220914154746.1122482-1-npiggin@gmail.com> MIME-Version: 1.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas Piggin Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Following the example from the binutils default linker script, move .got1 and .got2 out of .text, to just after RO_DATA where they are in read-only NX memory. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/vmlinux.lds.S | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 90ac5ff73df2..341ac79f49a9 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -122,14 +122,6 @@ SECTIONS *(.sfpr); MEM_KEEP(init.text) MEM_KEEP(exit.text) - -#ifdef CONFIG_PPC32 - *(.got1) - __got2_start = .; - *(.got2) - __got2_end = .; -#endif /* CONFIG_PPC32 */ - } :text . = ALIGN(PAGE_SIZE); @@ -139,7 +131,16 @@ SECTIONS /* Read-only data */ RO_DATA(PAGE_SIZE) -#ifdef CONFIG_PPC64 +#ifdef CONFIG_PPC32 + .got1 : AT(ADDR(.got1) - LOAD_OFFSET) { + *(.got1) + } + .got2 : AT(ADDR(.got2) - LOAD_OFFSET) { + __got2_start = .; + *(.got2) + __got2_end = .; + } +#else /* CONFIG_PPC32 */ SOFT_MASK_TABLE(8) RESTART_TABLE(8) @@ -190,7 +191,7 @@ SECTIONS *(__rfi_flush_fixup) __stop___rfi_flush_fixup = .; } -#endif /* CONFIG_PPC64 */ +#endif /* CONFIG_PPC32 */ #ifdef CONFIG_PPC_BARRIER_NOSPEC . = ALIGN(8); From patchwork Wed Sep 14 15:47:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1677963 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=RQ5XmGOx; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MSPtd2J8Rz1ynm for ; Thu, 15 Sep 2022 01:50:33 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MSPtd1nfZz3bYk for ; Thu, 15 Sep 2022 01:50:33 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=RQ5XmGOx; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::1030; helo=mail-pj1-x1030.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=RQ5XmGOx; dkim-atps=neutral Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MSPqp19Mkz3bkk for ; Thu, 15 Sep 2022 01:48:05 +1000 (AEST) Received: by mail-pj1-x1030.google.com with SMTP id x1-20020a17090ab00100b001fda21bbc90so19426457pjq.3 for ; Wed, 14 Sep 2022 08:48:05 -0700 (PDT) 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; bh=+zJ8nX2IX+io5aGu0truM/QRksMLBevbICF/yO92C/g=; b=RQ5XmGOxkhuH5PPVLglLmqAtKcc0YeXVI7zcttWZB6PWb7KXq0oLCJ3jw++0abJQ4n inzn56Ml4qTBaZamAmn5eHOdgD6vJkMfxQRvqepJUoY4blPzGbHYQKjQqcFV7bfLB3+X 5VL/9LerLxZHVX8QD6hGSrC8S8V0AQV9pB3l2NJRPOnONP/3Adh6IieQzxvlvtcVg8/p xThLRdFL1kGoLqGaIRtO8kmbRaAomiglXyctvILa9Wj21NdsefkJzFQzHLaOd9+OGOZR D/spnfyEbL4bdnEdFTFDkTkV60FaZj08tqhqamvckCVbaTJZ28nH3Ygn6/EBB44nAULI SXeQ== 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; bh=+zJ8nX2IX+io5aGu0truM/QRksMLBevbICF/yO92C/g=; b=3r9ZooNEde0S3iCY6Y4TW/ohIRUAKgqqw/rdVPECZe74dKgzBUCxhtw9IM6MtZIZ7f XYfgYKSLdzdcsTi6dJ8xGw6NcmPaPIYL2HAWuGt5ZSa3ZOC4SsIK5NMAya1TI+77skZ6 OqKEVbG9iPJ3KMqkt6QPq18dihH6cKX1Rhw1NPJ7X32vzXuQZ0VZOdPu9pmorkNm/ESs eXq128wW5ajKJMoLqDXhVwn+h4LLX+d5bDiOTlvyKg4vE3PuQvAX3BFt/13FC41srLtI BJ74eE7D+OfWYmpS0EuV134yyYQTC2sF9iPFY9HH8sqNt1jwX7d1d+VlmWa9Q0I6y4iC vVnA== X-Gm-Message-State: ACgBeo3JL06i5bi1HiHRS73Jfp94iA81PO6raFsXhiz30rn64XXGeCgo HdDIDcWDwlCeJpWRhLHghYF+nErLlts= X-Google-Smtp-Source: AA6agR5QdSBbbTOpClluors5kqk4M1lmNbQO4bOo9j1HfAP6Ba/sR+P2PVb3bengN6H+3WS5AHHc7A== X-Received: by 2002:a17:902:e88b:b0:176:c37f:511c with SMTP id w11-20020a170902e88b00b00176c37f511cmr37911997plg.2.1663170483438; Wed, 14 Sep 2022 08:48:03 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([118.210.107.131]) by smtp.gmail.com with ESMTPSA id i7-20020a17090332c700b00177e263303dsm9919892plr.183.2022.09.14.08.48.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 08:48:02 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 4/7] powerpc/build: move got, toc, plt, branch_lt sections to read-only Date: Thu, 15 Sep 2022 01:47:43 +1000 Message-Id: <20220914154746.1122482-5-npiggin@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220914154746.1122482-1-npiggin@gmail.com> References: <20220914154746.1122482-1-npiggin@gmail.com> MIME-Version: 1.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas Piggin Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" This moves linker related tables from .data to read-only area. Relocations are performed at early boot time before memory is protected, after which there should be no modifications required. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/vmlinux.lds.S | 42 ++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 341ac79f49a9..716fff86c3fd 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -131,6 +131,10 @@ SECTIONS /* Read-only data */ RO_DATA(PAGE_SIZE) + .branch_lt : AT(ADDR(.branch_lt) - LOAD_OFFSET) { + *(.branch_lt) + } + #ifdef CONFIG_PPC32 .got1 : AT(ADDR(.got1) - LOAD_OFFSET) { *(.got1) @@ -140,7 +144,30 @@ SECTIONS *(.got2) __got2_end = .; } + .got : AT(ADDR(.got) - LOAD_OFFSET) SPECIAL { + *(.got) + *(.got.plt) + } + .plt : AT(ADDR(.plt) - LOAD_OFFSET) SPECIAL { + /* XXX: is .plt (and .got.plt) required? */ + *(.plt) + } + #else /* CONFIG_PPC32 */ + .toc1 : AT(ADDR(.toc1) - LOAD_OFFSET) { + *(.toc1) + } + + .got : AT(ADDR(.got) - LOAD_OFFSET) ALIGN(256) { + *(.got) +#ifndef CONFIG_RELOCATABLE + __prom_init_toc_start = .; + arch/powerpc/kernel/prom_init.o*(.toc) + __prom_init_toc_end = .; +#endif + *(.toc) + } + SOFT_MASK_TABLE(8) RESTART_TABLE(8) @@ -327,26 +354,11 @@ SECTIONS *(.data.rel*) *(SDATA_MAIN) *(.sdata2) - *(.got.plt) *(.got) - *(.plt) - *(.branch_lt) } #else .data : AT(ADDR(.data) - LOAD_OFFSET) { DATA_DATA *(.data.rel*) - *(.toc1) - *(.branch_lt) - } - - .got : AT(ADDR(.got) - LOAD_OFFSET) ALIGN(256) { - *(.got) -#ifndef CONFIG_RELOCATABLE - __prom_init_toc_start = .; - arch/powerpc/kernel/prom_init.o*(.toc) - __prom_init_toc_end = .; -#endif - *(.toc) } #endif From patchwork Wed Sep 14 15:47:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1677964 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Jr6e09q2; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MSPvJ2j3zz1ynm for ; Thu, 15 Sep 2022 01:51:08 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MSPvJ2Cmfz3f5F for ; Thu, 15 Sep 2022 01:51:08 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Jr6e09q2; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::1030; helo=mail-pj1-x1030.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Jr6e09q2; dkim-atps=neutral Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MSPqp4qPFz3blb for ; Thu, 15 Sep 2022 01:48:06 +1000 (AEST) Received: by mail-pj1-x1030.google.com with SMTP id x1-20020a17090ab00100b001fda21bbc90so19426571pjq.3 for ; Wed, 14 Sep 2022 08:48:06 -0700 (PDT) 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; bh=wLFF1Utp08/9v1deXG6kJe1MWo/7JPmqFzpswU3seJU=; b=Jr6e09q2xZDyt5Q9eHtgnEU8DY9KLvVwYL/XqvOA0n+6kR8ZZsQM3PBnBY2x80ehoY 2hMZ/lIhgy24vVDbvZAhbl/TxsgZK11nOhThTxmGVLy2wxLaE7QXISrE7bHkwqRN97YS iBI/YeUz2WSGBhTaCbQ+WoTV5LKYS8ydgX762iX+d32I/AJQL3ucokru1hljpac/yODa F2KFyFUfT5PtZB2WUqcKdt6LgSh1MKnPz1CdmXeyis+KSl5sAkopBVxrDeCYw/q5Uekc u0KY06jFd8RXDflEObAn+XmlN3QoXK63g0DM4Gh+BrP3ZH+oGrc+jDY96ST4bXqok7KL J6Jw== 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; bh=wLFF1Utp08/9v1deXG6kJe1MWo/7JPmqFzpswU3seJU=; b=Q89V076WD+q5Y7oZAeP4agveQD6+EZmQ8SJz/HIODD83DRDFNIxUFsTJ39s1aVjPLX W+ke2XrqdhJBlMU2TG4VvvMLoOwygjYGEeIXzoYqULfO03qGbNTemnMhyzAjKv7esQlb DGzaFbWCA8s8y5r270Ntt/caRFjYapJAkMWtmyo/rFGj42QzySnIhVdvRRXZPMBZg5PF r1T7ZOnzlGlKy0eYppyFh8Lq+sRUagyPMxqnHK5wYoJFQWZTwZ47rgmBEUjzNC4NjAzY amLQNYSD3k+DVPval4SmLqFvfzrS4FDWJlXLwmBrTgxmykFEI94FaiIiXf71FEvYKY+P 7aCA== X-Gm-Message-State: ACgBeo12Lup6qGQ2u7XcQQWgUzbxy97SlFp/PGJ81dxgAILoXjgH6UwF BF6AKR8NON6wYIX0e/6g/S8hfTM1H74= X-Google-Smtp-Source: AA6agR536HQiIUsPSUt9O5NSLCeUjrddI/0uwa0rNVNxkI3V/oY5u0yCRCG+JCdIcxP156cLnAvQ+g== X-Received: by 2002:a17:902:ccd1:b0:176:6eb8:37b2 with SMTP id z17-20020a170902ccd100b001766eb837b2mr38103097ple.69.1663170485767; Wed, 14 Sep 2022 08:48:05 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([118.210.107.131]) by smtp.gmail.com with ESMTPSA id i7-20020a17090332c700b00177e263303dsm9919892plr.183.2022.09.14.08.48.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 08:48:05 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 5/7] powerpc/build: move .data.rel.ro, .sdata2 to read-only Date: Thu, 15 Sep 2022 01:47:44 +1000 Message-Id: <20220914154746.1122482-6-npiggin@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220914154746.1122482-1-npiggin@gmail.com> References: <20220914154746.1122482-1-npiggin@gmail.com> MIME-Version: 1.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas Piggin Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" .sdata2 is a readonly small data section for ppc32, and .data.rel.ro is data that needs relocating but is read-only after that so these can both be moved to the read only memory region. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/vmlinux.lds.S | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 716fff86c3fd..44050863032e 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -131,6 +131,16 @@ SECTIONS /* Read-only data */ RO_DATA(PAGE_SIZE) +#ifdef CONFIG_PPC32 + .sdata2 : AT(ADDR(.sdata2) - LOAD_OFFSET) { + *(.sdata2) + } +#endif + + .data.rel.ro : AT(ADDR(.data.rel.ro) - LOAD_OFFSET) { + *(.data.rel.ro*) + } + .branch_lt : AT(ADDR(.branch_lt) - LOAD_OFFSET) { *(.branch_lt) } @@ -348,19 +358,13 @@ SECTIONS . = ALIGN(PAGE_SIZE); _sdata = .; -#ifdef CONFIG_PPC32 .data : AT(ADDR(.data) - LOAD_OFFSET) { DATA_DATA *(.data.rel*) +#ifdef CONFIG_PPC32 *(SDATA_MAIN) - *(.sdata2) - } -#else - .data : AT(ADDR(.data) - LOAD_OFFSET) { - DATA_DATA - *(.data.rel*) - } #endif + } /* The initial task and kernel stack */ INIT_TASK_DATA_SECTION(THREAD_ALIGN) From patchwork Wed Sep 14 15:47:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1677965 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=MzKC7oj6; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MSPvz1cZ9z1ynm for ; Thu, 15 Sep 2022 01:51:43 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MSPvz1S2Fz3cjQ for ; Thu, 15 Sep 2022 01:51:43 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=MzKC7oj6; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::62e; helo=mail-pl1-x62e.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=MzKC7oj6; dkim-atps=neutral Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MSPqt58qbz3c21 for ; Thu, 15 Sep 2022 01:48:10 +1000 (AEST) Received: by mail-pl1-x62e.google.com with SMTP id iw17so15581502plb.0 for ; Wed, 14 Sep 2022 08:48:10 -0700 (PDT) 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; bh=PrQdAFxtxeR17FgsDPQHKNAvtnlHEj0ZyhwQvUbpnik=; b=MzKC7oj6klE0/NzCLCVjeJI1b1+nUjolhzK28UDWGP6j+4V5NhJnODoLVqvxlvTriu VPrdTKyrkSto2QxyOVmXmI3uAMdHdXmOGBg2OY6E0WquMUsVU1bslexxh5mvJ05I1x6c VJl69SZSatrghXAXKKzLrg2umhcRaamozhbhyA73KHA6mTU2B0wtcPzVQaySAjrt6DnB saw6653Kj3Wym7/BZyaSJroWdvMkJwQ5Fu/9Rpq8ZT39EX+5vwQKsDY/lMfBbPMhrshD wIleS2uMRbjR2gHuW6ufHzOb1rvqh74B7UjBjoxhugizDayoWvJcrgDjVR9mu24zvBoT Qb/Q== 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; bh=PrQdAFxtxeR17FgsDPQHKNAvtnlHEj0ZyhwQvUbpnik=; b=c04AD7tP9y+S+xTxqDTFnwYmFAOuru2vI/Ru8raTxsl+jN5NAShLTJBNkowoT3csxJ XbvOAC55PtkWf91S9+sZ4XNwH7RIPS97e8RPJFIJHO2/TkUolUqMaLLqd998rlkLAS3M 0zrUnV6AXT9qRH7CkFoNSb1Q/P0caK89dS62JKmf9K7LW5qOdW2vvu0VdLjjAxg1nSFZ 5gjcZBo4BOnm9rBtEQ3cCB4dnxmmzNUPRev6a6aEoP1+fJYTPnmvg/4cPvOCXvxBVoZ5 ONOSHvFMi0Rd9VyCClIZWbT1m8JNa63NJzGXljzwjUlNxEEHeqKE527ylCzuFXs6GUiQ yeDA== X-Gm-Message-State: ACgBeo3iqb1eioLI0z20r8p1pGCsVttuTm8DE0mgnqfAYx4+Zzc4UJe1 k5QeCpRzW+Lnh3/WGUTI+Pi2UGxmbeM= X-Google-Smtp-Source: AA6agR6NswyIPay5sG+3BaxXwJ+N0g8WLb56K9snex4D/PKIPYvzRqGHxtDsTlYYE5W0CJ4oKIo75w== X-Received: by 2002:a17:902:f546:b0:177:ed6b:4696 with SMTP id h6-20020a170902f54600b00177ed6b4696mr32601612plf.171.1663170488081; Wed, 14 Sep 2022 08:48:08 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([118.210.107.131]) by smtp.gmail.com with ESMTPSA id i7-20020a17090332c700b00177e263303dsm9919892plr.183.2022.09.14.08.48.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 08:48:07 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 6/7] powerpc/64/build: only include .opd with ELFv1 Date: Thu, 15 Sep 2022 01:47:45 +1000 Message-Id: <20220914154746.1122482-7-npiggin@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220914154746.1122482-1-npiggin@gmail.com> References: <20220914154746.1122482-1-npiggin@gmail.com> MIME-Version: 1.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas Piggin Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" ELFv2 does not use function descriptors so .opd is not required. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/vmlinux.lds.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 44050863032e..404944263db8 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -181,11 +181,13 @@ SECTIONS SOFT_MASK_TABLE(8) RESTART_TABLE(8) +#ifdef CONFIG_PPC64_ELF_ABI_V1 .opd : AT(ADDR(.opd) - LOAD_OFFSET) { __start_opd = .; KEEP(*(.opd)) __end_opd = .; } +#endif . = ALIGN(8); __stf_entry_barrier_fixup : AT(ADDR(__stf_entry_barrier_fixup) - LOAD_OFFSET) { From patchwork Wed Sep 14 15:47:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1677966 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Wo0C5o7g; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MSPwd6Hh0z1ynm for ; Thu, 15 Sep 2022 01:52:17 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MSPwd61zrz3f90 for ; Thu, 15 Sep 2022 01:52:17 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Wo0C5o7g; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::529; helo=mail-pg1-x529.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Wo0C5o7g; dkim-atps=neutral Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MSPqx2zNlz3c3L for ; Thu, 15 Sep 2022 01:48:12 +1000 (AEST) Received: by mail-pg1-x529.google.com with SMTP id g4so14725522pgc.0 for ; Wed, 14 Sep 2022 08:48:12 -0700 (PDT) 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; bh=BNtk20fZIdaS4uhCdZPu4YrbRzA6YvnBaxycWKCCMAw=; b=Wo0C5o7gy0BsxE7RDGZzaxX1otFCwFBJXjkS7LqTlJJXr1gwv7bJA+yiIw2fc/Lx8x 0qjIgjTGqH7Me50DfIKh4i83G38gAbn9ug3X5rO3Lbe3S+tOuGsiUD+iNQivoTYq/HXC 441LwTl25YkHtS8MvnpRTQIxnwfYKXsjJ+SxhdL+iwdqhn8Lex2MEtI0TQkaOjuo1j1P jkN86fZhUxl1ysGRaELz6FTfyAYYMBWo3OR8r9k+snWIsFV4NnT5xt45mjN4FylaoDsp eY/fMC5qz1CrwCCGPZ9FjEEPLY0C/8ptJ/4ZngDZRuo71Ck2/A0frc4AnGTfo5+6jWt9 sB6w== 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; bh=BNtk20fZIdaS4uhCdZPu4YrbRzA6YvnBaxycWKCCMAw=; b=kFzhKp7kCBMLHVsgXtTtVEhamDbHQPX/fuPqbTV3OcHeVo2s5uIn1BrqanbBiSspJ6 MOemiPJ5RxzgfBGI6RiVVSrvMX6jzcrtgu2Q4lzoPb9T6mZ4Gz5UvuZH9ckAgkfKhRu/ hOPXHooY7lAPxlWzsuOEFYDw7aYGVmD7JEggDFwaj48JjSmZ2jyI/0H/hqEDKeFJX6M7 /S703zF43PUfop3hgMzzKLWFwTOf4gYLBjfv3cx1WbEY6utIEMd8yMBVxn0jHf3C13+H oAYkIEpanfObl0Ki32x8CdwmThuNbYyb+GVYCKonKr1KPqiq5ZvBTh6KNASdQ1G8mHkc KTeg== X-Gm-Message-State: ACgBeo30Vd9nAlKH9nx92yMIGpFyHA8Mko4DJhdMPKyeijXfFL7yFPMC xI9SQ2yqfrRo4KOLLeKS1w89ivKYscM= X-Google-Smtp-Source: AA6agR4Pgv84sqiKUh1DGKLxu9/h8WKZZqfyw709DrHLHS41WaYleRDrrDDiOABbnYwVQHISUSnbFg== X-Received: by 2002:a63:4d43:0:b0:438:cd6f:f8dd with SMTP id n3-20020a634d43000000b00438cd6ff8ddmr17668126pgl.259.1663170490446; Wed, 14 Sep 2022 08:48:10 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([118.210.107.131]) by smtp.gmail.com with ESMTPSA id i7-20020a17090332c700b00177e263303dsm9919892plr.183.2022.09.14.08.48.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 08:48:09 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 7/7] powerpc/64/build: merge .got and .toc input sections Date: Thu, 15 Sep 2022 01:47:46 +1000 Message-Id: <20220914154746.1122482-8-npiggin@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220914154746.1122482-1-npiggin@gmail.com> References: <20220914154746.1122482-1-npiggin@gmail.com> MIME-Version: 1.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas Piggin Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Follow the binutils ld internal linker script and merge .got and .toc input sections in the .got output section. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/vmlinux.lds.S | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 404944263db8..f7271bf78150 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -169,13 +169,12 @@ SECTIONS } .got : AT(ADDR(.got) - LOAD_OFFSET) ALIGN(256) { - *(.got) + *(.got .toc) #ifndef CONFIG_RELOCATABLE __prom_init_toc_start = .; arch/powerpc/kernel/prom_init.o*(.toc) __prom_init_toc_end = .; #endif - *(.toc) } SOFT_MASK_TABLE(8)