From: Jim Wilson Date: Wed, 23 Aug 2000 20:36:38 +0000 (+0000) Subject: Fix unwind section bug found by linux kernel. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=efcc591461c3847f1406e5385000b25f962b716d;p=deliverable%2Fbinutils-gdb.git Fix unwind section bug found by linux kernel. * config/tc-ia64.c (output_unw_records): Set U & E flags only if unwind.personality_routine is set. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index b888775f7f..89c48785b9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2000-08-23 Jim Wilson + + * config/tc-ia64.c (output_unw_records): Set U & E flags only if + unwind.personality_routine is set. + 2000-08-23 H.J. Lu * write.c (TC_FIX_ADJUSTABLE): Remove the duplicate. diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 66d63c739a..517b6d3a38 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -2589,8 +2589,10 @@ output_unw_records (list, ptr) /* Clear the padding area and personality. */ memset (mem + 8 + size, 0 , extra + 8); /* Initialize the header area. */ - md_number_to_chars (mem, ( ((bfd_vma) 1 << 48) /* version */ - | ((bfd_vma) 3 << 32) /* U & E handler flags */ + md_number_to_chars (mem, (((bfd_vma) 1 << 48) /* version */ + | (unwind.personality_routine + ? ((bfd_vma) 3 << 32) /* U & E handler flags */ + : 0) | ((size + extra) / 8)), /* length (dwords) */ 8);