From 42c62f773b76c093a057f6e2d4c0d14f06896e8f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 22 Jul 2000 04:23:48 +0000 Subject: Correct absolute section alignment. --- gas/frags.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gas/frags.c') diff --git a/gas/frags.c b/gas/frags.c index 2b2c91d41d..5c31b7e893 100644 --- a/gas/frags.c +++ b/gas/frags.c @@ -303,9 +303,10 @@ frag_align (alignment, fill_character, max) if (now_seg == absolute_section) { addressT new_off; + addressT mask; - new_off = ((abs_section_offset + alignment - 1) - &~ ((1 << alignment) - 1)); + mask = (~ (addressT) 0) << alignment; + new_off = (abs_section_offset + ~ mask) & mask; if (max == 0 || new_off - abs_section_offset <= (addressT) max) abs_section_offset = new_off; } -- cgit v1.2.1