[LLVMdev] wrong value with getPointerToGlobal
edA-qa mort-ora-y
eda-qa at disemia.com
Sun Nov 11 03:46:41 PST 2012
I'm having some trouble getting access to a global variable with
getPointerToGlobal. The resulting value is not what I am expecting.
My assembly looks something like this:
@gresult = global i32 undef
define i32 @eval_expr() {
entry:
...
store i32 %3, i32* @gresult
ret i32 %3
}
Where "gresult" is created with:
auto global = new llvm::GlobalVariable( *module, int32Type,
/*constant*/false, llvm::GlobalValue::ExternalLinkage, /*init*/0,
"gresult" );
I run the function and get the results with:
llvm::GenericValue gv = ee->runFunction( funcPtr, args/*empty*/ );
void * gptr = ee->getPointerToGlobal( global );
gv.IntVal has the correct value, but *static_cast<int32_t*>(gptr) does not.
--
edA-qa mort-ora-y
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Sign: Please digitally sign your emails.
Encrypt: I'm also happy to receive encrypted mail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121111/b88b8ec1/attachment.sig>
More information about the llvm-dev
mailing list