diff options
author | Jim Wilson <wilson@tuliptree.org> | 2000-08-23 20:36:38 +0000 |
---|---|---|
committer | Jim Wilson <wilson@tuliptree.org> | 2000-08-23 20:36:38 +0000 |
commit | efcc591461c3847f1406e5385000b25f962b716d (patch) | |
tree | 120a75ba16b86bdb18d0b114fff095ab1a3a9391 /gas/config/tc-ia64.c | |
parent | aca719bf68e953a64dce0516c15e3b5b8adb9c74 (diff) | |
download | gdb-efcc591461c3847f1406e5385000b25f962b716d.zip gdb-efcc591461c3847f1406e5385000b25f962b716d.tar.gz gdb-efcc591461c3847f1406e5385000b25f962b716d.tar.bz2 |
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.
Diffstat (limited to 'gas/config/tc-ia64.c')
-rw-r--r-- | gas/config/tc-ia64.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 66d63c7..517b6d3 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); |