This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: IA-64 gcc unwind/EH patch, and shared library bug fix
- To: Jim Wilson <wilson at cygnus dot com>
- Subject: Re: IA-64 gcc unwind/EH patch, and shared library bug fix
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Wed, 7 Jun 2000 06:51:25 +0200
- Cc: gcc-patches at gcc dot gnu dot org
- References: <200006070228.TAA10914@ada.cygnus.com.cygnus.com>
- Reply-To: Jakub Jelinek <jakub at redhat dot com>
On Tue, Jun 06, 2000 at 07:28:52PM -0700, Jim Wilson wrote:
> --- 256,268 ----
>
> typedef struct unwind_info_ptr
> {
> ! 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)
Doesn't this preclude building 32bit-> ia64-*-* crosses?
I haven't tried to build such one, so I don't know if this is the only
thing.
At least using unsigned HOST_WIDE_INT there could help a little, because to
build such cross one can at least compile with -DHOST_BITS_PER_WIDE_INT=64
-DHOST_WIDE_INT=long\ long
But perhaps things could be conditionalized based upon
HOST_BITS_PER_WIDE_INT or whatever.
Jakub