summaryrefslogtreecommitdiff
path: root/extra/efivar/patches/musl-bswap.patch
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-03-10 11:59:16 +0000
committerdavidovski <david@davidovski.xyz>2022-03-10 11:59:16 +0000
commitbb499959d88da1b3937c23b5405089c907188a81 (patch)
treed9ddba6d0c8f1152c3919067a52250c6bf0759f9 /extra/efivar/patches/musl-bswap.patch
parent3602ce227f784f1c6233ef6ad3cd8f5ccad28e66 (diff)
added and patched broken packages
Diffstat (limited to 'extra/efivar/patches/musl-bswap.patch')
-rw-r--r--extra/efivar/patches/musl-bswap.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/extra/efivar/patches/musl-bswap.patch b/extra/efivar/patches/musl-bswap.patch
new file mode 100644
index 0000000..8b86d9a
--- /dev/null
+++ b/extra/efivar/patches/musl-bswap.patch
@@ -0,0 +1,33 @@
+From c9b54ee2cd504542cac4ed95fa7842bd14b39f9c Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Fri, 18 Aug 2017 20:36:03 -0500
+Subject: [PATCH] makeguids: Ensure compatibility with other libcs
+
+The musl libc does not provide __bswap_constant_XX.
+If <endian.h> does not provide these macros, use our own.
+
+This fixes issue #84.
+---
+ src/makeguids.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/makeguids.c b/src/makeguids.c
+index ec75a86..6b0d80e 100644
+--- a/src/makeguids.c
++++ b/src/makeguids.c
+@@ -152,6 +152,15 @@ main(int argc, char *argv[])
+ fprintf(symout, "#include <efivar/efivar.h>\n");
+ fprintf(symout, "#include <endian.h>\n");
+ fprintf(symout, """\n\
++#ifndef __bswap_constant_16\n\
++#define __bswap_constant_16(x)\\\n\
++ ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))\n\
++#endif\n\
++#ifndef __bswap_constant_32\n\
++#define __bswap_constant_32(x)\\\n\
++ ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \\\n\
++ (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))\n\
++#endif\n\
+ #if BYTE_ORDER == BIG_ENDIAN\n\
+ #define cpu_to_be32(n) (n)\n\
+ #define cpu_to_be16(n) (n)\n\