[ Home  |  FAQ-Related Q&As  |  General Q&As  |  Answered Questions ]


    Search the Q&A Archives


I am writing an Alpha Macro subroutine 'myfunc' which needs...

<< Back to: OpenVMS Frequently Asked Questions (FAQ), Part 1/5

Question by Sam
Submitted on 6/14/2004
Related FAQ: OpenVMS Frequently Asked Questions (FAQ), Part 1/5
Rating: Not yet rated Rate this question: Vote
I am writing an Alpha Macro subroutine 'myfunc' which needs to call an external C function 'extfunc' and also needs to be called by another C function. I am coding the linkage psect as follows:
.LINKAGE_PAIR  extfunc
.PROCEDURE_DESCRIPTOR myfunc, START1
.LOCAL_LINKAGE_PAIR myfunc

While my linking goes throgh fine with the macro object and my C object library, at runtime I find that the pointer to the function 'extfunc' is not available in my macro function. Shouldn't it be available as an offset from the default linkage register R27 ? I looked at mem locations around the value pointed to by R27 in my debugger, and find that it shows a value only to 'myfunc', but not to the 'extfunc'. How do I get both to work, ie, have 'myfunc' declared correctly so that other C routines can link with it, and also have 'extfunc' address available in my macro program so that I can call it from macro. Appreciate any help/suggestions.


Your answer will be published for anyone to see and rate.  Your answer will not be displayed immediately.  If you'd like to get expert points and benefit from positive ratings, please create a new account or login into an existing account below.


Your name or nickname:
If you'd like to create a new account or access your existing account, put in your password here:
Your answer:

FAQS.ORG reserves the right to edit your answer as to improve its clarity.  By submitting your answer you authorize FAQS.ORG to publish your answer on the WWW without any restrictions. You agree to hold harmless and indemnify FAQS.ORG against any claims, costs, or damages resulting from publishing your answer.

 

FAQS.ORG makes no guarantees as to the accuracy of the posts. Each post is the personal opinion of the poster. These posts are not intended to substitute for medical, tax, legal, investment, accounting, or other professional advice. FAQS.ORG does not endorse any opinion or any product or service mentioned mentioned in these posts.

 

<< Back to: OpenVMS Frequently Asked Questions (FAQ), Part 1/5


[ Home  |  FAQ-Related Q&As  |  General Q&As  |  Answered Questions ]

© 2008 FAQS.ORG. All rights reserved.