aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-06-07 15:24:33 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-06-07 15:24:33 +0000
commiteb119c3b81523f032ddf7ae7da09927367610ffa (patch)
tree94a0ee2eeb227782233cd746ff8a2fe669373cef /tools
parent3d89e86516e668ddd12b2b732e1010dc9d9b6ead (diff)
downloadmaster-187ad058-eb119c3b81523f032ddf7ae7da09927367610ffa.tar.gz
master-187ad058-eb119c3b81523f032ddf7ae7da09927367610ffa.tar.bz2
master-187ad058-eb119c3b81523f032ddf7ae7da09927367610ffa.zip
e2fsprogs: add posix_memalign related portability patch from #8508
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32112 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools')
-rw-r--r--tools/e2fsprogs/patches/005-posix_memalign.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/e2fsprogs/patches/005-posix_memalign.patch b/tools/e2fsprogs/patches/005-posix_memalign.patch
new file mode 100644
index 0000000000..2ce4ead892
--- /dev/null
+++ b/tools/e2fsprogs/patches/005-posix_memalign.patch
@@ -0,0 +1,31 @@
+--- a/lib/ext2fs/ext2fs.h
++++ b/lib/ext2fs/ext2fs.h
+@@ -1212,7 +1212,26 @@
+
+ if (align == 0)
+ align = 8;
+- if (retval = posix_memalign((void **) ptr, align, size)) {
++#ifdef HAVE_POSIX_MEMALIGN
++ retval = posix_memalign((void **)ptr, align, size);
++#else
++#ifdef HAVE_MEMALIGN
++ if ((*(void **)ptr = (void *)memalign(align, size)) == NULL)
++ retval = errno;
++ else
++ retval = 0;
++#else
++#ifdef HAVE_VALLOC
++ if ((*(void **)ptr = valloc(size)) == NULL)
++ retval = errno;
++ else
++ retval = 0;
++#else
++# error "Impossible to allocate aligned memory!"
++#endif /* HAVE_VALLOC */
++#endif /* HAVE_MEMALIGN */
++#endif /* HAVE_POSIX_MEMALIGN */
++ if (retval) {
+ if (retval == ENOMEM)
+ return EXT2_ET_NO_MEMORY;
+ return retval;
+--