summaryrefslogtreecommitdiff
path: root/sys-boot/silo/files/silo-e2fsprogs-1.4.14.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-boot/silo/files/silo-e2fsprogs-1.4.14.patch
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-boot/silo/files/silo-e2fsprogs-1.4.14.patch')
-rw-r--r--sys-boot/silo/files/silo-e2fsprogs-1.4.14.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/sys-boot/silo/files/silo-e2fsprogs-1.4.14.patch b/sys-boot/silo/files/silo-e2fsprogs-1.4.14.patch
new file mode 100644
index 000000000000..afcfc462ea87
--- /dev/null
+++ b/sys-boot/silo/files/silo-e2fsprogs-1.4.14.patch
@@ -0,0 +1,54 @@
+# Patch to make silo compile and work with >=e2fsprogs-1.4.14
+# http://bugs.gentoo.org/show_bug.cgi?id=350677
+# http://marc.info/?l=linux-sparc&m=129468771631829&w=2
+--- silo.orig/common/malloc.c 2010-02-28 12:11:51.000000000 +0100
++++ silo/common/malloc.c 2011-01-22 12:06:42.849946213 +0100
+@@ -27,6 +27,12 @@
+
+ static char *last_alloc = 0;
+
++static char *align_ptr_to(char *ptr, unsigned long align)
++{
++ return (char *) ((((unsigned long) ptr) + (align - 1UL)) &
++ ~(align - 1UL));
++}
++
+ void *malloc (int size)
+ {
+ char *caddr;
+@@ -34,10 +40,34 @@
+ caddr = malloc_ptr;
+ malloc_ptr += size;
+ last_alloc = caddr;
+- malloc_ptr = (char *) ((((unsigned long) malloc_ptr) + 7) & (~7));
++ malloc_ptr = align_ptr_to(malloc_ptr, 8UL);
+ return caddr;
+ }
+
++int posix_memalign(void **memptr, unsigned long alignment, unsigned long size)
++{
++ char *caddr;
++
++ if (alignment & (alignment - 1UL))
++ return -1;
++ if (alignment & (sizeof(void *) - 1UL))
++ return -1;
++
++ if (size == 0) {
++ *memptr = (void *) 0;
++ return 0;
++ }
++
++ caddr = align_ptr_to(malloc_ptr, alignment);
++ malloc_ptr = (caddr + size);
++ last_alloc = caddr;
++ malloc_ptr = align_ptr_to(malloc_ptr, 8UL);
++
++ *memptr = caddr;
++
++ return 0;
++}
++
+ void free (void *m)
+ {
+ if (m == last_alloc)