diff options
Diffstat (limited to 'gas/config/tc-arm.h')
-rw-r--r-- | gas/config/tc-arm.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h index b604f04..2216267 100644 --- a/gas/config/tc-arm.h +++ b/gas/config/tc-arm.h @@ -236,10 +236,19 @@ struct arm_frag_type #endif }; +static inline int +arm_min (int am_p1, int am_p2) +{ + return am_p1 < am_p2 ? am_p1 : am_p2; +} + #define TC_FRAG_TYPE struct arm_frag_type /* NOTE: max_chars is a local variable from frag_var / frag_variant. */ #define TC_FRAG_INIT(fragp) arm_init_frag (fragp, max_chars) #define HANDLE_ALIGN(fragp) arm_handle_align (fragp) +#define SUB_SEGMENT_ALIGN(SEG, FRCHAIN) \ + ((!(FRCHAIN)->frch_next && subseg_text_p (SEG)) \ + ? arm_min (2, get_recorded_alignment (SEG)) : 0) #define md_do_align(N, FILL, LEN, MAX, LABEL) \ if (FILL == NULL && (N) != 0 && ! need_pass_2 && subseg_text_p (now_seg)) \ |