From 5e7474a7c986bfb005718811e0a036a801ed1a40 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Wed, 22 Nov 2000 02:10:34 +0000 Subject: [PATCH] Fix linux kernel unwind section alignment failure. * config/tc-ia64.c (generate_unwind_image): Call record_alignment for unwind info section. (dot_endp): Likewise for unwind section. --- gas/ChangeLog | 4 ++++ gas/config/tc-ia64.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index dd97b0e..71370dc 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ 2000-11-21 Jim Wilson + * config/tc-ia64.c (generate_unwind_image): Call record_alignment + for unwind info section. + (dot_endp): Likewise for unwind section. + * config/tc-ia64.c (emit_one_bundle): Pass size of 8 not 4 to fix_new_exp. diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 659ad41..faeb75d 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -3057,6 +3057,9 @@ generate_unwind_image () expressionS exp; set_section ((char *) special_section_name[SPECIAL_SECTION_UNWIND_INFO]); + /* Make sure the section has 8 byte alignment. */ + record_alignment (now_seg, 3); + /* Set expression which points to start of unwind descriptor area. */ unwind.info = expr_build_dot (); @@ -3684,6 +3687,10 @@ dot_endp (dummy) unwind.proc_end = expr_build_dot (); set_section ((char *) special_section_name[SPECIAL_SECTION_UNWIND]); + + /* Make sure the section has 8 byte alignment. */ + record_alignment (now_seg, 3); + ptr = frag_more (24); where = frag_now_fix () - 24; bytes_per_address = bfd_arch_bits_per_address (stdoutput) / 8; -- 2.7.4