diff options
author | James E. Wilson <wilson@cygnus.com> | 2000-06-07 02:27:51 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2000-06-06 19:27:51 -0700 |
commit | c0240be4630a6b7440fe0fd5be5d381e14d0dae7 (patch) | |
tree | 73c8dc5478aae00eb8cc397f7cd0b011add7148d /gcc/frame.h | |
parent | 24c40136c3e06831cf63df58fd5faee1dbbb0d56 (diff) | |
download | gcc-c0240be4630a6b7440fe0fd5be5d381e14d0dae7.zip gcc-c0240be4630a6b7440fe0fd5be5d381e14d0dae7.tar.gz gcc-c0240be4630a6b7440fe0fd5be5d381e14d0dae7.tar.bz2 |
Fix gas/gcc unwind/EH discrepancies. And a shared library build problem.
* frame.h (struct unwind_info_ptr): Collapse version, flags, and length
fields into header field.
(IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New
macros to access length, flags, and version info from header field.
* config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here.
...
From-SVN: r34441
Diffstat (limited to 'gcc/frame.h')
-rw-r--r-- | gcc/frame.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/frame.h b/gcc/frame.h index 384e5eb..85c5e43 100644 --- a/gcc/frame.h +++ b/gcc/frame.h @@ -256,12 +256,13 @@ typedef struct ia64_frame_state typedef struct unwind_info_ptr { - unsigned short version; - unsigned short flags; - unsigned int length; + unsigned long header; /* version, flags, & length */ unsigned char unwind_descriptors[1]; } unwind_info_ptr; +#define IA64_UNW_HDR_LENGTH(x) ((x) & 0x00000000ffffffffUL) +#define IA64_UNW_HDR_FLAGS(x) (((x) >> 32) & 0xffffUL) +#define IA64_UNW_HDR_VERSION(x) (((x) >> 48) & 0xffffUL) extern unwind_info_ptr *__build_ia64_frame_state (unsigned char *, ia64_frame_state *, void *, |