X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fpool.c;h=5309c729efa77c2f5ce66cf1e9521a64fc16489d;hb=refs%2Fheads%2Fctables7;hp=7f3175d477bde1d758f5f358378fa448b30a60ab;hpb=20751c90d1d6131fede84358ea2581d9ed443ae3;p=pspp diff --git a/src/libpspp/pool.c b/src/libpspp/pool.c index 7f3175d477..5309c729ef 100644 --- a/src/libpspp/pool.c +++ b/src/libpspp/pool.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2000, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2000, 2010, 2011, 2012 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,7 @@ #include "libpspp/temp-file.h" #include "libpspp/str.h" +#include "gl/xalloc-oversized.h" #include "gl/xalloc.h" /* Fast, low-overhead memory block suballocator. */ @@ -96,10 +97,16 @@ union align void (*fp) (void); long l; double d; + + /* glibc jmp_buf on ia64 requires 16-byte alignment. This ensures it. */ + size_t s[2]; }; /* This should be the alignment size used by malloc(). The size of - the union above is correct, if not optimal, in all known cases. */ + the union above is correct, if not optimal, in all known cases. + + This is normally 8 bytes for 32-bit architectures and 16 bytes for 64-bit + architectures. */ #define ALIGN_SIZE sizeof (union align) /* DISCRETE_BLOCKS may be declared as nonzero to prevent