glibc/math-Improve-layout-of-expf-data.patch
Qingqing Li b453407cdf sync from glibc upstream 2.38 branch.
below is the patch list:
- math: Improve layout of exp/exp10 data
- AArch64: Use prefer_sve_ifuncs for SVE memset
- AArch64: Add SVE memset
- math: Improve layout of expf data
- AArch64: Remove zva_128 from memset
- AArch64: Optimize memset
- AArch64: Improve generic strlen
- assert: Add test for CVE-2025-0395

(cherry picked from commit a6a6276229d415c277b108ed8e6ef4f2fe517bae)
2025-03-28 17:56:22 +08:00

35 lines
1.2 KiB
Diff

From 3de5112326a4274c97f154f3d335c11965ee960c Mon Sep 17 00:00:00 2001
From: Wilco Dijkstra <wilco.dijkstra@arm.com>
Date: Wed, 24 Jul 2024 15:17:47 +0100
Subject: [PATCH] math: Improve layout of expf data
GCC aligns global data to 16 bytes if their size is >= 16 bytes. This patch
changes the exp2f_data struct slightly so that the fields are better aligned.
As a result on targets that support them, load-pair instructions accessing
poly_scaled and invln2_scaled are now 16-byte aligned.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
(cherry picked from commit 44fa9c1080fe6a9539f0d2345b9d2ae37b8ee57a)
---
sysdeps/ieee754/flt-32/math_config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h
index d1b06a1a90..5904eb9bac 100644
--- a/sysdeps/ieee754/flt-32/math_config.h
+++ b/sysdeps/ieee754/flt-32/math_config.h
@@ -166,9 +166,9 @@ extern const struct exp2f_data
uint64_t tab[1 << EXP2F_TABLE_BITS];
double shift_scaled;
double poly[EXP2F_POLY_ORDER];
- double shift;
double invln2_scaled;
double poly_scaled[EXP2F_POLY_ORDER];
+ double shift;
} __exp2f_data attribute_hidden;
#define LOGF_TABLE_BITS 4
--
2.27.0