diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /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.patch | 54 |
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) |