diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c index 958694a3d5eda256a7715603a7fa1a0193923149..4289e17c8724b84c4ea1d7196c1d5f3bbc96df9e 100644 --- a/gcc/ada/tracebak.c +++ b/gcc/ada/tracebak.c @@ -347,6 +347,17 @@ struct layout #define PC_ADJUST -2 /* The minimum size of call instructions on this architecture is 2 bytes */ +/*----------------------------- ia64 ---------------------------------*/ + +#elif defined (__ia64__) + +#define USE_GCC_UNWINDER + +#define PC_ADJUST -16 +/* Every call on ia64 is part of a 128 bit bundle, so an adjustment of + minus 16 bytes from the point of return finds the address of the + previous bundle. */ + #endif /*---------------------------------------------------------------------*