This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Configuration issues on Itanium VMS
- From: "Douglas B Rupp" <rupp at gnat dot com>
- To: <gcc at gcc dot gnu dot org>
- Date: Mon, 8 Nov 2004 10:37:14 -0800
- Subject: Configuration issues on Itanium VMS
- Organization: Ada Core Technologies, Inc
- Reply-to: "Douglas B Rupp" <rupp at gnat dot com>
My current problem is with a cross native build, aka
build=alpha-dec-openvms7_1
host=ia64-hp-openvms8_0
target=ia64-hp-openvms8_0
but the same issue will occur regardless of build machine for this host.
Gcc version 3.4.2 (patched)
On VMS, all CRTL function symbols are prefixed, usually by "decc$". The
HP VMS C compiler handles this via an internal mechanism. However Gcc
has to have the proper header file included to add the prefix via an asm
state-
ment. On Alpha/VMS there is a VAX compatibility library that resolves the
function if the header file is not included. This compatibility library is
some-
thing of a kludge and doesn't exist on Itanium VMS.
Configure, e.g. libiberty/configure, generates conftest programs to decide
if
particular CRTL functions exist in the host. If the compile or link is
unsucessful, e.g. undefined symbols in the link, then the function is
assumed not to exist. *Configure doesn't bother to include the necessary
header files in the programs it generates, so all CRTL functions show up as
undefined with Gcc*.
The alternatives are to teach Gcc to add the proper prefix to all CRTL
functions or to teach configure to include the proper header files when
testing for CRTL functions.
Any thoughts on which alternative would be best, or other alternatives?
--Douglas Rupp
Ada Core Technologies, Inc