NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: lib/37943: posix_memalign doesn't work
The following reply was made to PR lib/37943; it has been noted by GNATS.
From: Magnus Henoch <mange%freemail.hu@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: lib/37943: posix_memalign doesn't work
Date: Sun, 03 Feb 2008 16:22:15 +0100
It seems the alignment is still incorrect, though. Using the extended
test program below, I get:
% ./posix_memalign_test 4096 8192 8184
posix_memalign(&a, 8192, 8184): 0x1813000
0x1813000 % 8192 = 4096
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char *a;
int n;
size_t size, alignment, prealloc;
if (argc != 4) {
printf("Usage: %s PREALLOC ALIGNMENT SIZE\n", argv[0]);
return 1;
}
sscanf(argv[1], "%d", &prealloc);
sscanf(argv[2], "%d", &alignment);
sscanf(argv[3], "%d", &size);
malloc(prealloc);
n = posix_memalign(&a, alignment, size);
if (n)
perror("posix_memalign");
else
printf("posix_memalign(&a, %d, %d): %p\n", alignment, size, a);
*a = 'a';
printf("%p %% %d = %d\n", a, alignment, (int)a % alignment);
return 0;
}
Home |
Main Index |
Thread Index |
Old Index