summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorAndi Kleen <ak@colin.muc.de>2003-06-15 05:21:41 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-06-15 05:21:41 -0700
commit38d5b085d2a0d36ece55bcede84be9ae88cd4481 (patch)
treec0d913e4e87de2338fd11e427778ff50948b54f5 /init
parentaae1760a589df2117879f0b36e098f271735f4b5 (diff)
[PATCH] Fix over-alignment problem on x86-64
Thanks to Jan Hubicka who suggested this fix. The problem seems to be that gcc generates a 32byte alignment for static objects > 32bytes. This causes gas to set a high alignment on the section, which causes the uneven (not multiple of sizeof(struct kernel_param)) section size. The pointer division with a base not being a multiple of sizeof(*ptr) then causes the invalid result. This just forces a small alignment, which makes the section end come out with the correct alignment. The only mystery left is why ld chose a 16 byte padding instead of 32byte.
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions