HP MLIB for Itanium Linux Version 9.6.1 Release Note
HP MLIB for Itanium Linux Version 9.6.1 Release Note
Known Problems and Workarounds
HP MLIB for Itanium Linux Version 9.6.1 Release Note 17
SUBROUTINE XERBLA (SRNAME,INFO)
ENTRY XERBLA_ (SRNAME,INFO)
!DEC$ ATTRIBUTES ALIAS : 'xerbla' :: XERBLA
!DEC$ ATTRIBUTES ALIAS : 'xerbla_' :: XERBLA_
...
If the above syntax is rejected by the compiler, try using the following
SUBROUTINE XERBLA (SRNAME,INFO)
ENTRY XERBLA_ (SRNAME,INFO)
!DEC$ ALIAS : 'xerbla',XERBLA
!DEC$ ALIAS : 'xerbla_',XERBLA_
...
The ALIAS directives control the actual name generated for each entry point.
This should appear within the body of a program/function/subroutine before the first
executable statement.
Use the following workaround on Itanium®2-based processors if you are compiling your own
C version of XERBLA:
• Undefine any previous aliasing from include files and provide both xerbla and xerbla_
entry points explicitly.
#undef xerbla
#undef xerbla_
void xerbla (char*name, int*iarg, size_t len_name){
...
}
void xerbla_ (char*name, int*iarg, size_t len_name){
xerbla (name, iarg, len_name);
}
This problem is not confined to the XERBLA subroutine; it occurs on Itanium®2-based
systems when the following conditions are met:
• Any subprogram with the same name as a user-visible MLIB subprogram is compiled in
your program with -nus
• Another MLIB subprogram used by your program also calls that subprogram