On Sun, Mar 6, 2011 at 9:48 AM, Don Ward <don2387w...@sprynet.com> wrote:
> A worrisome (to me) issue with the volk library is the use of > posix_memalign() in the qa tests. The worry is: > > * posix_memalign() will never work on Windows with Microsoft's runtime > library * > > That means that code that uses posix_memalign won't work on Windows with > MinGW or Microsoft native compilers. (The problem is not that memory > alignment is difficult; it is simply that there is no memory-aligned version > of malloc() in the Microsoft API that works with free().) > > At present, posix_memalign is used in GNU Radio in machine-dependent code > (gcell, altivec, and arm7) and in the volk qa tests. If we can replace it > in volk and avoid its spread, we can continue to use GNU Radio on Windows. > > One option is to use something like malloc16Align/free16Align (in > malloc16.{h,c}) in gnuradio-core. Can we structure the code to make this > available in volk, and anywhere else it is needed? We can add a version to > do more general alignment if needed. Would it help to wrap aligned buffers > in a C++ class to make it easier to catch errors (such as using free() on a > malloc16Align() buffer)? > > Note that simply enhancing our own missing/posix_memalign function using > _mingw_aligned_malloc() or Microsofts's _aligned_malloc() won't work because > memory allocated with those cannot be released with free(). > > Trying not to cause too much trouble, > > -- Don W. > Thanks for bringing this up. I'll look into it and we'll try to figure out a general solution for all platforms involved. Tom
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio