[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | Alpha Developer Support |
Notice: | [email protected], 800-332-4786 |
Moderator: | HYDRA::SYSTEM |
|
Created: | Mon Jun 06 1994 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 3722 |
Total number of notes: | 11359 |
3171.0. "Seagate Software Ltd (formerly Holistic Systems) - Point 19441" by RDGENG::ASAP () Mon Feb 10 1997 06:43
Company Name : Seagate Software Ltd (formerly Holistic Systems) - Point 19441
Contact Name : Tony Proctor
Phone :
Fax :
Email : [email protected]
Date/Time in : 10-FEB-1997 11:42:27
Entered by : John Wood
SPE center : REO
Category : VMS
OS Version : V5.5-2
System H/W : VAX
Brief Description of Problem:
-----------------------------
Help, can any anyone tell me how I port an OpenVMS AXP application that uses
the alloca() subroutine
to OpenVMS VAX?
Under Alpha AXP, the <builtins.h> file defines alloca as a built-in procedure,
known to the
compiler. On the VAX (using DECC), this same header file is there, but it
doesn't define alloca().
On the VAX, it's relatively easy to write routines like alloca() that grab
stack space and return it
in the caller's context (although it means diddling with call frames a bit).
However, if I try and
use something like this with DECC, I get very spurious stack corruptions. It
looks like the compiler
assumes that the stack pointer never moves, other than in response to its own
instructions (e.g.
PUSHL). Hence, after calling my version of alloca(), it's still addressing
temporary variables
relative to where it thought SP was before. Presumably this is why it has to be
a built-in function
for Alpha AXP.
We're using DECC V5.0-003 under VAX/VMS V5.5-2 (still!)
T.R | Title | User | Personal Name | Date | Lines |
---|
3171.1 | see DECC conf note #2088 | RDGENG::WOOD_J | [email protected] | Tue Feb 11 1997 07:49 | 0 |
3171.2 | Tony won't be happy about this... :-( | RDGENG::WOOD_J | [email protected] | Tue Mar 04 1997 03:37 | 26 |
| Date: 4-MAR-1997 08:31:39.03
From: DEC:.REO.REOVTX::WOOD_J "[email protected]"
Subj: Digital ASAP #19441: no plans for alloca() for OpenVMS VAX
To: SMTP%"[email protected]"
Tony,
I have contacted the DEC C product manager, and there are no
plans to implement alloca() in DEC C for OpenVMS VAX.
I appreciate that this might cause you difficulty in supporting
your product on OpenVMS VAX.
I have used all the resources available to me to try to find
a workaround.
One last possibility might be to use a third party C compiler
for OpenVMS VAX which does support alloca() (-perhaps GNU-C?).
I am closing this call.
Regards,
John Wood
Software Partner Engineering (UK)
Digital Equipment Co.
|