diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-07-06 19:07:01 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2009-07-06 19:07:01 +0200 |
commit | d1abbeacfb5a099418f53b583625ac97b1c62059 (patch) | |
tree | 2b99e37982c1057037401e6293c9e697c2d424bf | |
parent | 2389c46fe314867f99bbdfa1f6c9ff92d433d754 (diff) | |
download | bird-d1abbeacfb5a099418f53b583625ac97b1c62059.tar bird-d1abbeacfb5a099418f53b583625ac97b1c62059.zip |
Fixes memory alignment problems on Sparc64.
Not quite standard construction, i should add
some autoconf macro.
Not tested yet.
-rw-r--r-- | lib/mempool.c | 1 | ||||
-rw-r--r-- | lib/resource.c | 1 | ||||
-rw-r--r-- | lib/slab.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/lib/mempool.c b/lib/mempool.c index bb6dcff..e6f277b 100644 --- a/lib/mempool.c +++ b/lib/mempool.c @@ -27,6 +27,7 @@ struct lp_chunk { struct lp_chunk *next; unsigned int size; + uintptr_t data_align[0]; byte data[0]; }; diff --git a/lib/resource.c b/lib/resource.c index 289af93..8f91450 100644 --- a/lib/resource.c +++ b/lib/resource.c @@ -250,6 +250,7 @@ resource_init(void) struct mblock { resource r; unsigned size; + uintptr_t data_align[0]; byte data[0]; }; @@ -62,6 +62,7 @@ static struct resclass sl_class = { struct sl_obj { node n; + uintptr_t data_align[0]; byte data[0]; }; |