summaryrefslogtreecommitdiff
path: root/system/elfutils/ppc-ldbl.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2025-05-27 00:37:47 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2025-05-27 00:37:47 -0500
commitfc110de2ff19185b6e17952fc3e6b2d8b7195a3c (patch)
tree22f5375487449683c98f1d64b8bc5db59f16ad70 /system/elfutils/ppc-ldbl.patch
parenta1c25135aea4de0a0e7799b7b02dd3cc1553454d (diff)
downloadpackages-fc110de2ff19185b6e17952fc3e6b2d8b7195a3c.tar.gz
packages-fc110de2ff19185b6e17952fc3e6b2d8b7195a3c.tar.bz2
packages-fc110de2ff19185b6e17952fc3e6b2d8b7195a3c.tar.xz
packages-fc110de2ff19185b6e17952fc3e6b2d8b7195a3c.zip
system/elfutils: Update to 0.193
More tests need a bit of help. Closes: #1268
Diffstat (limited to 'system/elfutils/ppc-ldbl.patch')
-rw-r--r--system/elfutils/ppc-ldbl.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/system/elfutils/ppc-ldbl.patch b/system/elfutils/ppc-ldbl.patch
new file mode 100644
index 000000000..c1d9a23d5
--- /dev/null
+++ b/system/elfutils/ppc-ldbl.patch
@@ -0,0 +1,47 @@
+Ref: #1268
+Upstream-URL: https://patchwork.sourceware.org/project/elfutils/patch/20250527050544.59645-1-AWilcox@Wilcox-Tech.com/
+
+From cffed747a30c941608eac85b26ae52797e10de06 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Tue, 27 May 2025 04:46:30 +0000
+Subject: [PATCH] backends: Add support for PPC long double tags
+
+When an explicit type of long double is specified in the ELF
+GNU_Power_ABI_FP attribute, elflint and friends were erroring out:
+
+ section [36] '.gnu.attributes': offset 15: unrecognized GNU_Power_ABI_FP attribute value 9
+
+Add the different long double tags to fp_kinds so that these values
+are correctly recognised and printed.
+
+Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
+---
+ backends/ppc_attrs.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/backends/ppc_attrs.c b/backends/ppc_attrs.c
+index 48d7129d..6b00bccd 100644
+--- a/backends/ppc_attrs.c
++++ b/backends/ppc_attrs.c
+@@ -52,6 +52,18 @@ ppc_check_object_attribute (Ebl *ebl __attribute__ ((unused)),
+ "Hard float",
+ "Soft float",
+ "Single-precision hard float",
++ "Hard or soft float (IBM style long doubles)",
++ "Hard float (IBM style long doubles)",
++ "Soft float (IBM style long doubles)",
++ "Single-precision hard float (IBM style long doubles)",
++ "Hard or soft float (64-bit long doubles)",
++ "Hard float (64-bit long doubles)",
++ "Soft float (64-bit long doubles)",
++ "Single-precision hard float (64-bit long doubles)",
++ "Hard or soft float (IEEE 128-bit long doubles)",
++ "Hard float (IEEE 128-bit long doubles)",
++ "Soft float (IEEE 128-bit long doubles)",
++ "Single-precision hard float (IEEE 128-bit long doubles)",
+ };
+ if (value < sizeof fp_kinds / sizeof fp_kinds[0])
+ *value_name = fp_kinds[value];
+--
+2.40.0
+