From patchwork Tue Feb 13 17:00:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 39258 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 aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07206C4829A for ; Tue, 13 Feb 2024 17:01:06 +0000 (UTC) Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by mx.groups.io with SMTP id smtpd.web10.16915.1707843656509075116 for ; Tue, 13 Feb 2024 09:00:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=IpTbPvoV; spf=pass (domain: gmail.com, ip: 209.85.210.174, mailfrom: raj.khem@gmail.com) Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-6e0f5934813so895410b3a.2 for ; Tue, 13 Feb 2024 09:00:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707843655; x=1708448455; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=MwzMslZdTG/qNv4lOOktUclygY9thJWrhCUyGAyt9XU=; b=IpTbPvoVFvG/O7WPRamGLFmo9LciKN7GdSH2VZO9dLO9WArn18XihNxdmBKmgJmIZp AMpkfPPE/GI/e12fLw+Oq6KHt+aFYGdPcbo90RJ+zhfv0t4tiMmdEYnuMvnTkxBOsJah N1G1zyNWO5xlsvBOumm5UFDM7wF1AhdrSMvoUREJqIXvSnnrUks1UVlY2FSFmBGLLJxy XozbMpVhqTR+Jv/cNPbVSVJy3nv6YDn2a+TkdZtm9uH0+DtjUZN/f8PErTxJH4BAENCj mIajDSVdQQk/0Qa60afCeej1eA8FX0ss3MlORnRVIS9DabMkn2nonCOEXMTNSHmGEyzf I9oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707843655; x=1708448455; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MwzMslZdTG/qNv4lOOktUclygY9thJWrhCUyGAyt9XU=; b=uqTcmBy9GUveEAlZRk/Llf4DUlwb3fe393fX6SJ/6mUx1wmXY1bCZWXYF1kcCSi0ld JXXtJAtVsLyGhAz8x8b+eOIh0mPuZ+EJTu8PcuZcz6GDymqr/GAx1k3wi2Bb9+guLghW ufXIRyPWm4F9wuKhRM4O5YAsifGYP9pKPpn18FWl0UgMuT7qeuvm39NCehnYrBe+4xsg 4BBcoXfotoS29unjLuCN8wOC9VhdfhgXJXXHgXj0mfh7BY4RTXRft9nFlV1jQrrRlUAg jY2mDSGSFFXkT+UbeFbYiFPYAwJ0eORTwjWCp+XJxBXZTditNGravNhx6MI4x2lUnfaQ X3AA== X-Gm-Message-State: AOJu0YzdC/sfoDhGTtchMeAzud1lq46wEzdQCuG2AQrHWMFg6Vy7mtI/ Ef4nANTUYNnnt+UBHs6GdfUWA8ugmh5zynfGmxZKdkxrswGmly9vp2V1/rasvN8= X-Google-Smtp-Source: AGHT+IEUYVdQV5nz7GzEgGs/6STWqwqMeDzNMijVxl2yx90Pb0u655wEm37whAUwgjvSBxTPZlhUPg== X-Received: by 2002:a05:6a20:d489:b0:19c:ac7f:c3e4 with SMTP id im9-20020a056a20d48900b0019cac7fc3e4mr117405pzb.42.1707843655166; Tue, 13 Feb 2024 09:00:55 -0800 (PST) Received: from apollo.hsd1.ca.comcast.net ([2601:646:9d80:4380::130a]) by smtp.gmail.com with ESMTPSA id l8-20020a63ba48000000b005dc5129ba9dsm2281100pgu.72.2024.02.13.09.00.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Feb 2024 09:00:54 -0800 (PST) From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH v2] glibc: Update to bring mips32/clone3 fix Date: Tue, 13 Feb 2024 09:00:52 -0800 Message-ID: <20240213170052.191495-1-raj.khem@gmail.com> X-Mailer: git-send-email 2.43.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 13 Feb 2024 17:01:06 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/195420 This patch is the only change applied with this update * 312e159626 mips: FIx clone3 implementation (BZ 31325) Signed-off-by: Khem Raj --- v2: Add missing file in commit meta/recipes-core/glibc/glibc-version.inc | 2 +- ...s-FIx-clone3-implementation-BZ-31325.patch | 83 ------------------- meta/recipes-core/glibc/glibc_2.39.bb | 1 - 3 files changed, 1 insertion(+), 85 deletions(-) delete mode 100644 meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc index 0d86917f454..5b0705f6960 100644 --- a/meta/recipes-core/glibc/glibc-version.inc +++ b/meta/recipes-core/glibc/glibc-version.inc @@ -1,6 +1,6 @@ SRCBRANCH ?= "release/2.39/master" PV = "2.39+git" -SRCREV_glibc ?= "63295e4fda1f6dab4bf7442706fe303bf283036c" +SRCREV_glibc ?= "312e159626b67fe11f39e83e222cf4348a3962f3" SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" diff --git a/meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch b/meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch deleted file mode 100644 index b391c609582..00000000000 --- a/meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch +++ /dev/null @@ -1,83 +0,0 @@ -From b471cadd57e3fc1fce74b33fcf75c6844cfd68b3 Mon Sep 17 00:00:00 2001 -From: Adhemerval Zanella -Date: Thu, 1 Feb 2024 14:41:03 -0300 -Subject: [PATCH] mips: FIx clone3 implementation (BZ 31325) - -For o32 we need to setup a minimal stack frame to allow cprestore -on __thread_start_clone3 (which instruct the linker to save the -gp for PIC). Also, there is no guarantee by kABI that $8 will be -preserved after syscall execution, so we need to save it on the -provided stack. - -Checked on mipsel-linux-gnu. - -Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20240201174103.798138-1-adhemerval.zanella@linaro.org/] -Reported-by: Khem Raj -Signed-off-by: Khem Raj ---- - sysdeps/unix/sysv/linux/mips/clone3.S | 32 ++++++++++++++++++++++----- - 1 file changed, 27 insertions(+), 5 deletions(-) - -diff --git a/sysdeps/unix/sysv/linux/mips/clone3.S b/sysdeps/unix/sysv/linux/mips/clone3.S -index e9fec2fa47..481b8ae963 100644 ---- a/sysdeps/unix/sysv/linux/mips/clone3.S -+++ b/sysdeps/unix/sysv/linux/mips/clone3.S -@@ -37,11 +37,6 @@ - - .text - .set nomips16 --#if _MIPS_SIM == _ABIO32 --# define EXTRA_LOCALS 1 --#else --# define EXTRA_LOCALS 0 --#endif - #define FRAMESZ ((NARGSAVE*SZREG)+ALSZ)&ALMASK - GPOFF= FRAMESZ-(1*SZREG) - NESTED(__clone3, SZREG, sp) -@@ -68,8 +63,31 @@ NESTED(__clone3, SZREG, sp) - beqz a0, L(error) /* No NULL cl_args pointer. */ - beqz a2, L(error) /* No NULL function pointer. */ - -+#if _MIPS_SIM == _ABIO32 -+ /* Both stack and stack_size on clone_args are defined as uint64_t, and -+ there is no need to handle values larger than to 32 bits for o32. */ -+# if __BYTE_ORDER == __BIG_ENDIAN -+# define CL_STACKPOINTER_OFFSET 44 -+# define CL_STACKSIZE_OFFSET 52 -+# else -+# define CL_STACKPOINTER_OFFSET 40 -+# define CL_STACKSIZE_OFFSET 48 -+# endif -+ -+ /* For o32 we need to setup a minimal stack frame to allow cprestore -+ on __thread_start_clone3. Also there is no guarantee by kABI that -+ $8 will be preserved after syscall execution (so we need to save it -+ on the provided stack). */ -+ lw t0, CL_STACKPOINTER_OFFSET(a0) /* Load the stack pointer. */ -+ lw t1, CL_STACKSIZE_OFFSET(a0) /* Load the stack_size. */ -+ addiu t1, -32 /* Update the stack size. */ -+ addu t2, t1, t0 /* Calculate the thread stack. */ -+ sw a3, 0(t2) /* Save argument pointer. */ -+ sw t1, CL_STACKSIZE_OFFSET(a0) /* Save the new stack size. */ -+#else - move $8, a3 /* a3 is set to 0/1 for syscall success/error - while a4/$8 is returned unmodified. */ -+#endif - - /* Do the system call, the kernel expects: - v0: system call number -@@ -125,7 +143,11 @@ L(thread_start_clone3): - - /* Restore the arg for user's function. */ - move t9, a2 /* Function pointer. */ -+#if _MIPS_SIM == _ABIO32 -+ PTR_L a0, 0(sp) -+#else - move a0, $8 /* Argument pointer. */ -+#endif - - /* Call the user's function. */ - jal t9 --- -2.43.0 - diff --git a/meta/recipes-core/glibc/glibc_2.39.bb b/meta/recipes-core/glibc/glibc_2.39.bb index 577ff1ad2c4..b2030600642 100644 --- a/meta/recipes-core/glibc/glibc_2.39.bb +++ b/meta/recipes-core/glibc/glibc_2.39.bb @@ -49,7 +49,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \ - file://0024-mips-FIx-clone3-implementation-BZ-31325.patch \ " S = "${WORKDIR}/git" B = "${WORKDIR}/build-${TARGET_SYS}"