Unwind info bug fixes from David Mosberger.
* config/tc-ia64.c (output_P7_format, case mem_stack_f): Output fixed frame size in units of 16 bytes, as required per SW Conventions manual. (output_unw_records): Output info-block header as a dword to get byte-order right.
This commit is contained in:
parent
72730e0ced
commit
e4c58b2551
@ -1,3 +1,10 @@
|
|||||||
|
2000-05-08 David Mosberger <davidm@hpl.hp.com>
|
||||||
|
|
||||||
|
* config/tc-ia64.c (output_P7_format, case mem_stack_f): Output fixed
|
||||||
|
frame size in units of 16 bytes, as required per SW Conventions manual.
|
||||||
|
(output_unw_records): Output info-block header as a dword to get
|
||||||
|
byte-order right.
|
||||||
|
|
||||||
2000-05-08 Alan Modra <alan@linuxcare.com.au>
|
2000-05-08 Alan Modra <alan@linuxcare.com.au>
|
||||||
|
|
||||||
* as.h: #include "file", not <file> on files from ../include.
|
* as.h: #include "file", not <file> on files from ../include.
|
||||||
|
@ -1010,8 +1010,8 @@ output_P7_format (f, rtype, w1, w2)
|
|||||||
switch (rtype)
|
switch (rtype)
|
||||||
{
|
{
|
||||||
case mem_stack_f:
|
case mem_stack_f:
|
||||||
r = 0;
|
r = 0;
|
||||||
count += output_leb128 (bytes + count, w2, 0);
|
count += output_leb128 (bytes + count, w2 >> 4, 0);
|
||||||
break;
|
break;
|
||||||
case mem_stack_v:
|
case mem_stack_v:
|
||||||
r = 1;
|
r = 1;
|
||||||
@ -2213,11 +2213,10 @@ output_unw_records (list, ptr)
|
|||||||
/* Clear the padding area and personality. */
|
/* Clear the padding area and personality. */
|
||||||
memset (mem + 8 + size, 0 , extra + 8);
|
memset (mem + 8 + size, 0 , extra + 8);
|
||||||
/* Initialize the header area. */
|
/* Initialize the header area. */
|
||||||
md_number_to_chars (mem, 1, 2); /* version number. */
|
md_number_to_chars (mem, ( ((bfd_vma) 1 << 48) /* version */
|
||||||
md_number_to_chars (mem + 2, 0x03, 2); /* Set E and U handler bits. */
|
| ((bfd_vma) 3 << 32) /* U & E handler flags */
|
||||||
|
| ((size + extra) / 8)), /* length (dwords) */
|
||||||
/* Length in double words. */
|
8);
|
||||||
md_number_to_chars (mem + 4, (size + extra) / 8, 4);
|
|
||||||
|
|
||||||
process_unw_records (list, output_vbyte_mem);
|
process_unw_records (list, output_vbyte_mem);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user