[
{
"kind": "changeSection",
"section": {
"alignment": 1,
"characteristics": 1610612768,
"class": "MCSectionCOFF",
"isVirtual": false,
"kind": {
"isBSS": false,
"isCommon": false,
"isData": false,
"isExecuteOnly": false,
"isGlobalWriteableData": false,
"isMergeableCString": false,
"isMergeableConst": false,
"isMetadata": false,
"isReadOnly": false,
"isReadOnlyWithRel": false,
"isText": true,
"isThreadBSS": false,
"isThreadLocal": false,
"isWriteable": false
},
"name": ".text"
}
},
{
"data": "89c0",
"fixups": [],
"inst": {
"desc": {
"canFoldAsLoad": false,
"hasDelaySlot": false,
"hasOptionalDef": false,
"hasUnmodeledSideEffects": false,
"implicitDefs": [],
"implicitUses": [],
"isAdd": false,
"isAuthenticated": false,
"isBarrier": false,
"isBitcast": false,
"isBranch": false,
"isCall": false,
"isCompare": false,
"isConditionalBranch": false,
"isConvergent": false,
"isExtractSubregLike": false,
"isIndirectBranch": false,
"isInsertSubregLike": false,
"isMoveImmediate": false,
"isMoveReg": true,
"isNotDuplicable": false,
"isPredicable": false,
"isPseudo": false,
"isRegSequenceLike": false,
"isReturn": false,
"isSelect": false,
"isTerminator": false,
"isTrap": false,
"isUnconditionalBranch": false,
"isVariadic": false,
"mayLoad": false,
"mayRaiseFPException": false,
"mayStore": false,
"numDefs": 1,
"variadicOpsAreDefs": false
},
"flags": 0,
"opcode": "MOV32rr",
"operands": [
{
"kind": "reg",
"reg": "EAX"
},
{
"kind": "reg",
"reg": "EAX"
}
]
},
"kind": "instruction"
},
{
"data": "e800000000",
"fixups": [
{
"flags": [
"IsPCRel"
],
"name": "FK_PCRel_4",
"offset": 1,
"targetOffset": 0,
"targetSize": 32,
"value": {
"kind": "binaryExpr",
"lhs": {
"kind": "constant",
"useHexFormat": false,
"value": 305419896
},
"opcode": "Add",
"rhs": {
"kind": "constant",
"useHexFormat": false,
"value": -4
}
}
}
],
"inst": {
"desc": {
"canFoldAsLoad": false,
"hasDelaySlot": false,
"hasOptionalDef": false,
"hasUnmodeledSideEffects": false,
"implicitDefs": [],
"implicitUses": [
"ESP",
"SSP"
],
"isAdd": false,
"isAuthenticated": false,
"isBarrier": false,
"isBitcast": false,
"isBranch": false,
"isCall": true,
"isCompare": false,
"isConditionalBranch": false,
"isConvergent": false,
"isExtractSubregLike": false,
"isIndirectBranch": false,
"isInsertSubregLike": false,
"isMoveImmediate": false,
"isMoveReg": false,
"isNotDuplicable": false,
"isPredicable": false,
"isPseudo": false,
"isRegSequenceLike": false,
"isReturn": false,
"isSelect": false,
"isTerminator": false,
"isTrap": false,
"isUnconditionalBranch": false,
"isVariadic": false,
"mayLoad": false,
"mayRaiseFPException": false,
"mayStore": false,
"numDefs": 0,
"variadicOpsAreDefs": false
},
"flags": 0,
"opcode": "CALLpcrel32",
"operands": [
{
"imm": 305419896,
"kind": "imm"
}
]
},
"kind": "instruction"
}
]
The module address is missing here, so llvm does not calculate the address that should be called correctly.
Or maybe I don't use ATT or INTEL assembly syntax.