mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-18 23:51:08 +08:00
unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
* unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format. * unwind-dw2.c (extract_cie_info): Ditto. (_Unwind_FrameState): Change retaddr_column to word type. From-SVN: r82072
This commit is contained in:
parent
f4085d4c0b
commit
0ef54a47cf
@ -1,3 +1,9 @@
|
||||
2004-05-20 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
|
||||
* unwind-dw2.c (extract_cie_info): Ditto.
|
||||
(_Unwind_FrameState): Change retaddr_column to word type.
|
||||
|
||||
2004-05-20 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR middle-end/3074
|
||||
|
@ -276,7 +276,10 @@ get_cie_encoding (const struct dwarf_cie *cie)
|
||||
p = aug + strlen (aug) + 1; /* Skip the augmentation string. */
|
||||
p = read_uleb128 (p, &utmp); /* Skip code alignment. */
|
||||
p = read_sleb128 (p, &stmp); /* Skip data alignment. */
|
||||
p++; /* Skip return address column. */
|
||||
if (cie->version == 1) /* Skip return address column. */
|
||||
p++;
|
||||
else
|
||||
p = read_uleb128 (p, &utmp);
|
||||
|
||||
aug++; /* Skip 'z' */
|
||||
p = read_uleb128 (p, &utmp); /* Skip augmentation length. */
|
||||
|
@ -133,7 +133,7 @@ typedef struct
|
||||
_Unwind_Personality_Fn personality;
|
||||
_Unwind_Sword data_align;
|
||||
_Unwind_Word code_align;
|
||||
unsigned char retaddr_column;
|
||||
_Unwind_Word retaddr_column;
|
||||
unsigned char fde_encoding;
|
||||
unsigned char lsda_encoding;
|
||||
unsigned char saw_z;
|
||||
@ -337,7 +337,10 @@ extract_cie_info (const struct dwarf_cie *cie, struct _Unwind_Context *context,
|
||||
data alignment and return address column. */
|
||||
p = read_uleb128 (p, &fs->code_align);
|
||||
p = read_sleb128 (p, &fs->data_align);
|
||||
fs->retaddr_column = *p++;
|
||||
if (cie->version == 1)
|
||||
fs->retaddr_column = *p++;
|
||||
else
|
||||
p = read_uleb128 (p, &fs->retaddr_column);
|
||||
fs->lsda_encoding = DW_EH_PE_omit;
|
||||
|
||||
/* If the augmentation starts with 'z', then a uleb128 immediately
|
||||
|
Loading…
x
Reference in New Issue
Block a user