Created
October 16, 2020 22:57
-
-
Save klcantrell/4b8769219b80ef01b4a8eac113937a23 to your computer and use it in GitHub Desktop.
swift-windows-5.3-repl-error
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Welcome to compnerd.org Swift version 5.3-dev (LLVM 9f1d8f2d933d348, Swift 53bdffd120c41fa). | |
Type :help for assistance. | |
1> 2 + 2 | |
== [UserExpression::Evaluate] Parsing expression 2 + 2 == | |
SwiftASTContextForExpressions::LoadOneModule() -- Importing module Swift | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::GetModule("Swift") | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::GetModule("Swift") -- found Swift | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::LoadModule::<lambda_5017a06cd8ebc5ef32883b56308f7317>::operator ()() -- Loading link library "swiftCore" of kind: 0. | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 0>" | |
LoadLibraryA("swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C672F20 'Expression ASTContext for '<user expression 0>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C672F20 'Expression ASTContext for '<user expression 0>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040587462056} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587444848} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587444400} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040587444616} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("swiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1CE77F60 from (ASTContext*)0x000001DB1C672F20 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1C7DA5A8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg_ptr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C7709E0 'Expression ASTContext for '<clang expression>'' for '$__lldb_arg_ptr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '_$__lldb_valid_pointer_check' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C7709E0 'Expression ASTContext for '<clang expression>'' for '_$__lldb_valid_pointer_check' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_local_val' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C7709E0 'Expression ASTContext for '<clang expression>'' for '$__lldb_local_val' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Found function _$__lldb_valid_pointer_check for _$__lldb_valid_pointer_check | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is unknown | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"_$__lldb_valid_pointer_check"(i8* %"$__lldb_arg_ptr") #0 !dbg !12 { | |
entry: | |
%"$__lldb_arg_ptr.addr" = alloca i8*, align 8, !clang.decl.ptr !18 | |
%"$__lldb_local_val" = alloca i8, align 1, !clang.decl.ptr !19 | |
store i8* %"$__lldb_arg_ptr", i8** %"$__lldb_arg_ptr.addr", align 8 | |
call void @llvm.dbg.declare(metadata i8** %"$__lldb_arg_ptr.addr", metadata !20, metadata !DIExpression()), !dbg !21 | |
call void @llvm.dbg.declare(metadata i8* %"$__lldb_local_val", metadata !22, metadata !DIExpression()), !dbg !23 | |
%0 = load i8*, i8** %"$__lldb_arg_ptr.addr", align 8, !dbg !23 | |
%1 = load i8, i8* %0, align 1, !dbg !23 | |
store i8 %1, i8* %"$__lldb_local_val", align 1, !dbg !23 | |
ret void, !dbg !24 | |
} | |
; Function Attrs: nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { nounwind readnone speculatable willreturn } | |
!llvm.dbg.cu = !{!0} | |
!llvm.module.flags = !{!3, !4, !5, !6, !7, !8, !9} | |
!clang.global.decl.ptrs = !{!10} | |
!llvm.ident = !{!11} | |
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "compnerd.org clang version 11.0.0", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, enums: !2) | |
!1 = !DIFile(filename: "C:\\Users\\cantr\\AppData\\Local\\Temp\\lldb\\17192\\<stdin>", directory: "C:\\Users\\cantr\\Documents\\Me\\dev\\scratch") | |
!2 = !{} | |
!3 = !{i32 1, !"Objective-C Version", i32 2} | |
!4 = !{i32 1, !"Objective-C Image Info Version", i32 0} | |
!5 = !{i32 1, !"Objective-C Image Info Section", !".objc_imageinfo$B"} | |
!6 = !{i32 1, !"Objective-C Garbage Collection", i8 0} | |
!7 = !{i32 1, !"Objective-C Class Properties", i32 64} | |
!8 = !{i32 2, !"Debug Info Version", i32 3} | |
!9 = !{i32 1, !"wchar_size", i32 2} | |
!10 = !{void (i8*)* @"_$__lldb_valid_pointer_check", i64 2040593861072} | |
!11 = !{!"compnerd.org clang version 11.0.0"} | |
!12 = distinct !DISubprogram(name: "_$__lldb_valid_pointer_check", scope: !13, file: !13, line: 37, type: !14, scopeLine: 38, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2) | |
!13 = !DIFile(filename: "<lldb wrapper prefix>", directory: "C:\\Users\\cantr\\Documents\\Me\\dev\\scratch") | |
!14 = !DISubroutineType(types: !15) | |
!15 = !{null, !16} | |
!16 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !17, size: 64) | |
!17 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char) | |
!18 = !{i64 2040593860840} | |
!19 = !{i64 2040593861288} | |
!20 = !DILocalVariable(name: "$__lldb_arg_ptr", arg: 1, scope: !12, file: !13, line: 37, type: !16) | |
!21 = !DILocation(line: 37, scope: !12) | |
!22 = !DILocalVariable(name: "$__lldb_local_val", scope: !12, file: !13, line: 39, type: !17) | |
!23 = !DILocation(line: 39, scope: !12) | |
!24 = !DILocation(line: 40, scope: !12) | |
" | |
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata i8** %"$__lldb_arg_ptr.addr", metadata !20, metadata !DIExpression()), !dbg !21) | |
MaybeHandleVariable (i8** %"$__lldb_arg_ptr.addr") | |
MaybeHandleVariable (!20 = !DILocalVariable(name: "$__lldb_arg_ptr", arg: 1, scope: !12, file: !13, line: 37, type: !16)) | |
MaybeHandleVariable (!DIExpression()) | |
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata i8* %"$__lldb_local_val", metadata !22, metadata !DIExpression()), !dbg !23) | |
MaybeHandleVariable (i8* %"$__lldb_local_val") | |
MaybeHandleVariable (!22 = !DILocalVariable(name: "$__lldb_local_val", scope: !12, file: !13, line: 39, type: !17)) | |
MaybeHandleVariable (!DIExpression()) | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"_$__lldb_valid_pointer_check"(i8* %"$__lldb_arg_ptr") #0 !dbg !12 { | |
entry: | |
%"$__lldb_arg_ptr.addr" = alloca i8*, align 8, !clang.decl.ptr !18 | |
%"$__lldb_local_val" = alloca i8, align 1, !clang.decl.ptr !19 | |
store i8* %"$__lldb_arg_ptr", i8** %"$__lldb_arg_ptr.addr", align 8 | |
call void @llvm.dbg.declare(metadata i8** %"$__lldb_arg_ptr.addr", metadata !20, metadata !DIExpression()), !dbg !21 | |
call void @llvm.dbg.declare(metadata i8* %"$__lldb_local_val", metadata !22, metadata !DIExpression()), !dbg !23 | |
%0 = load i8*, i8** %"$__lldb_arg_ptr.addr", align 8, !dbg !23 | |
%1 = load i8, i8* %0, align 1, !dbg !23 | |
store i8 %1, i8* %"$__lldb_local_val", align 1, !dbg !23 | |
ret void, !dbg !24 | |
} | |
; Function Attrs: nounwind readnone speculatable willreturn | |
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { nounwind readnone speculatable willreturn } | |
!llvm.dbg.cu = !{!0} | |
!llvm.module.flags = !{!3, !4, !5, !6, !7, !8, !9} | |
!clang.global.decl.ptrs = !{!10} | |
!llvm.ident = !{!11} | |
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "compnerd.org clang version 11.0.0", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, enums: !2) | |
!1 = !DIFile(filename: "C:\\Users\\cantr\\AppData\\Local\\Temp\\lldb\\17192\\<stdin>", directory: "C:\\Users\\cantr\\Documents\\Me\\dev\\scratch") | |
!2 = !{} | |
!3 = !{i32 1, !"Objective-C Version", i32 2} | |
!4 = !{i32 1, !"Objective-C Image Info Version", i32 0} | |
!5 = !{i32 1, !"Objective-C Image Info Section", !".objc_imageinfo$B"} | |
!6 = !{i32 1, !"Objective-C Garbage Collection", i8 0} | |
!7 = !{i32 1, !"Objective-C Class Properties", i32 64} | |
!8 = !{i32 2, !"Debug Info Version", i32 3} | |
!9 = !{i32 1, !"wchar_size", i32 2} | |
!10 = !{void (i8*)* @"_$__lldb_valid_pointer_check", i64 2040593861072} | |
!11 = !{!"compnerd.org clang version 11.0.0"} | |
!12 = distinct !DISubprogram(name: "_$__lldb_valid_pointer_check", scope: !13, file: !13, line: 37, type: !14, scopeLine: 38, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2) | |
!13 = !DIFile(filename: "<lldb wrapper prefix>", directory: "C:\\Users\\cantr\\Documents\\Me\\dev\\scratch") | |
!14 = !DISubroutineType(types: !15) | |
!15 = !{null, !16} | |
!16 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !17, size: 64) | |
!17 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char) | |
!18 = !{i64 2040593860840} | |
!19 = !{i64 2040593861288} | |
!20 = !DILocalVariable(name: "$__lldb_arg_ptr", arg: 1, scope: !12, file: !13, line: 37, type: !16) | |
!21 = !DILocation(line: 37, scope: !12) | |
!22 = !DILocalVariable(name: "$__lldb_local_val", scope: !12, file: !13, line: 39, type: !17) | |
!23 = !DILocation(line: 39, scope: !12) | |
!24 = !DILocation(line: 40, scope: !12) | |
IRExecutionUnit::allocateCodeSection(Size=0x1d, Alignment=16, SectionID=0) = 000001DB1A1C0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=1) = 000001DB1F4A0000 | |
IRExecutionUnit::allocateDataSection(Size=0x8, Alignment=1, SectionID=2) = 000001DB1F4B0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4A0004 | |
IRExecutionUnit::allocateDataSection(Size=0x5a, Alignment=1, SectionID=4) = 000001DB1F4B0008 | |
IRExecutionUnit::allocateDataSection(Size=0x103, Alignment=1, SectionID=5) = 000001DB1F4B0062 | |
IRExecutionUnit::allocateDataSection(Size=0xcc, Alignment=1, SectionID=6) = 000001DB1F4B0165 | |
IRExecutionUnit::allocateDataSection(Size=0x5b, Alignment=1, SectionID=7) = 000001DB1F4B0231 | |
IRExecutionUnit::allocateDataSection(Size=0x41, Alignment=1, SectionID=8) = 000001DB1F4B028C | |
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=1, SectionID=9) = 000001DB1F4B02CD | |
IRMemoryMap::Malloc (47, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0000 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0000 | |
IRMemoryMap::Malloc (8, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0000 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0010 | |
IRMemoryMap::WriteMemory (0x1b8b86a0000, 0x1db1a1c0000, 0x29) went to [0x1b8b86a0000..0x1b8b86a002f) | |
IRMemoryMap::WriteMemory (0x1b8b87b0000, 0x1db1f4a0000, 0x1) went to [0x1b8b87b0000..0x1b8b87b0007) | |
IRMemoryMap::WriteMemory (0x1b8b87c0000, 0x1db1f4b0000, 0x8) went to [0x1b8b87c0000..0x1b8b87c0008) | |
IRMemoryMap::WriteMemory (0x1b8b87b0010, 0x1db1f4a0004, 0x1) went to [0x1b8b87b0010..0x1b8b87b0017) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1a1c0000 in [0x1db1a1c0000..0x1db1a1c001d], and returned 0x1b8b86a0000 from [0x1b8b86a0000..0x1b8b86a001d]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1a1c0000 and remote address 0x1b8b86a0000 | |
Function's code range is [0x1b8b86a0000+0x1d] | |
Function data has contents: | |
0x1b8b86a0000: 55 48 83 ec 10 48 8d 6c 24 10 48 89 4d f0 48 8b | |
0x1b8b86a0010: 45 f0 8a 00 88 45 ff 48 83 c4 10 5d c3 | |
Function disassembly: | |
0x1b8b86a0000: 55 pushq %rbp | |
0x1b8b86a0001: 48 83 ec 10 subq $0x10, %rsp | |
0x1b8b86a0005: 48 8d 6c 24 10 leaq 0x10(%rsp), %rbp | |
0x1b8b86a000a: 48 89 4d f0 movq %rcx, -0x10(%rbp) | |
0x1b8b86a000e: 48 8b 45 f0 movq -0x10(%rbp), %rax | |
0x1b8b86a0012: 8a 00 movb (%rax), %al | |
0x1b8b86a0014: 88 45 ff movb %al, -0x1(%rbp) | |
0x1b8b86a0017: 48 83 c4 10 addq $0x10, %rsp | |
0x1b8b86a001b: 5d popq %rbp | |
0x1b8b86a001c: c3 retq | |
Sections: | |
[0x1db1a1c0000+0x1d]->0x1b8b86a0000 (alignment 16, section ID 0, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0000, 0x1db1ce1b550, 0x29) came from [0x1b8b86a0000..0x1b8b86a002f) | |
0x1b8b86a0000: 55 48 83 ec 10 48 8d 6c 24 10 48 89 4d f0 48 8b | |
0x1b8b86a0010: 45 f0 8a 00 88 45 ff 48 83 c4 10 5d c3 | |
[0x1db1f4a0000+0x1]->0x1b8b87b0000 (alignment 4, section ID 1, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0000, 0x1db1cda6f50, 0x1) came from [0x1b8b87b0000..0x1b8b87b0007) | |
0x1b8b87b0000: 00 | |
[0x1db1f4b0000+0x8]->0x1b8b87c0000 (alignment 1, section ID 2, name .objc_imageinfo$B) | |
IRMemoryMap::ReadMemory (0x1b8b87c0000, 0x1db1cda71f0, 0x8) came from [0x1b8b87c0000..0x1b8b87c0008) | |
0x1b8b87c0000: 00 00 00 00 40 00 00 00 | |
[0x1db1f4a0004+0x1]->0x1b8b87b0010 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0010, 0x1db1cda6ff0, 0x1) came from [0x1b8b87b0010..0x1b8b87b0017) | |
0x1b8b87b0010: 00 | |
[0x1db1f4b0008+0x5a]->0xffffffffffffffff (alignment 1, section ID 4, name .debug_abbrev) | |
0x1db1f4b0008: 01 11 01 25 0e 13 05 03 0e 10 17 1b 0e b4 42 19 | |
0x1db1f4b0018: 11 01 12 06 00 00 02 2e 01 11 01 12 06 40 18 03 | |
0x1db1f4b0028: 0e 3a 0b 3b 0b 3f 19 00 00 03 05 00 02 18 03 0e | |
0x1db1f4b0038: 3a 0b 3b 0b 49 13 00 00 04 34 00 02 18 03 0e 3a | |
0x1db1f4b0048: 0b 3b 0b 49 13 00 00 05 0f 00 49 13 00 00 06 24 | |
0x1db1f4b0058: 00 03 0e 3e 0b 0b 0b 00 00 00 | |
[0x1db1f4b0062+0x103]->0xffffffffffffffff (alignment 1, section ID 5, name .debug_info) | |
0x1db1f4b0062: 65 00 00 00 04 00 00 00 00 00 08 01 00 00 00 00 | |
0x1db1f4b0072: 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0082: 6a b8 b8 01 00 00 1d 00 00 00 02 00 00 6a b8 b8 | |
0x1db1f4b0092: 01 00 00 1d 00 00 00 01 56 00 00 00 00 01 25 03 | |
0x1db1f4b00a2: 02 91 70 00 00 00 00 01 25 5c 00 00 00 04 02 91 | |
0x1db1f4b00b2: 7f 00 00 00 00 01 27 61 00 00 00 00 05 61 00 00 | |
0x1db1f4b00c2: 00 06 00 00 00 00 08 01 00 00 00 00 00 00 00 00 | |
0x1db1f4b00d2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b00e2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b00f2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0102: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0122: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0132: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0142: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0152: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b0162: 00 00 00 | |
[0x1db1f4b0165+0xcc]->0xffffffffffffffff (alignment 1, section ID 6, name .debug_str) | |
0x1db1f4b0165: 63 6f 6d 70 6e 65 72 64 2e 6f 72 67 20 63 6c 61 | |
0x1db1f4b0175: 6e 67 20 76 65 72 73 69 6f 6e 20 31 31 2e 30 2e | |
0x1db1f4b0185: 30 00 43 3a 5c 55 73 65 72 73 5c 63 61 6e 74 72 | |
0x1db1f4b0195: 5c 41 70 70 44 61 74 61 5c 4c 6f 63 61 6c 5c 54 | |
0x1db1f4b01a5: 65 6d 70 5c 6c 6c 64 62 5c 31 37 31 39 32 5c 3c | |
0x1db1f4b01b5: 73 74 64 69 6e 3e 00 43 3a 5c 55 73 65 72 73 5c | |
0x1db1f4b01c5: 63 61 6e 74 72 5c 44 6f 63 75 6d 65 6e 74 73 5c | |
0x1db1f4b01d5: 4d 65 5c 64 65 76 5c 73 63 72 61 74 63 68 00 5f | |
0x1db1f4b01e5: 24 5f 5f 6c 6c 64 62 5f 76 61 6c 69 64 5f 70 6f | |
0x1db1f4b01f5: 69 6e 74 65 72 5f 63 68 65 63 6b 00 24 5f 5f 6c | |
0x1db1f4b0205: 6c 64 62 5f 61 72 67 5f 70 74 72 00 75 6e 73 69 | |
0x1db1f4b0215: 67 6e 65 64 20 63 68 61 72 00 24 5f 5f 6c 6c 64 | |
0x1db1f4b0225: 62 5f 6c 6f 63 61 6c 5f 76 61 6c 00 | |
[0x1db1f4b0231+0x5b]->0xffffffffffffffff (alignment 1, section ID 7, name .debug_line) | |
0x1db1f4b0231: 49 00 00 00 04 00 2d 00 00 00 01 01 01 fb 0e 0d | |
0x1db1f4b0241: 00 01 01 01 01 00 00 00 01 00 00 01 00 3c 6c 6c | |
0x1db1f4b0251: 64 62 20 77 72 61 70 70 65 72 20 70 72 65 66 69 | |
0x1db1f4b0261: 78 3e 00 00 00 00 00 00 09 02 00 00 6a b8 b8 01 | |
0x1db1f4b0271: 00 00 03 25 01 0a d7 91 02 06 00 01 01 00 00 00 | |
0x1db1f4b0281: 00 00 00 00 00 00 00 00 00 00 00 | |
[0x1db1f4b028c+0x41]->0xffffffffffffffff (alignment 1, section ID 8, name .debug_pubnames) | |
0x1db1f4b028c: 2f 00 00 00 02 00 00 00 00 00 69 00 00 00 2a 00 | |
0x1db1f4b029c: 00 00 5f 24 5f 5f 6c 6c 64 62 5f 76 61 6c 69 64 | |
0x1db1f4b02ac: 5f 70 6f 69 6e 74 65 72 5f 63 68 65 63 6b 00 00 | |
0x1db1f4b02bc: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b02cc: 00 | |
[0x1db1f4b02cd+0x32]->0xffffffffffffffff (alignment 1, section ID 9, name .debug_pubtypes) | |
0x1db1f4b02cd: 20 00 00 00 02 00 00 00 00 00 69 00 00 00 61 00 | |
0x1db1f4b02dd: 00 00 75 6e 73 69 67 6e 65 64 20 63 68 61 72 00 | |
0x1db1f4b02ed: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1db1f4b02fd: 00 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C7709E0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C7709E0->(ASTContext*)0x000001DB1C504730 | |
== [ClangExpressionParser::PrepareForExecution] Finished installing dynamic checkers == | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040587462056} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587444848} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587444400} | |
!3 = distinct !{null, i64 2040587462056} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040587444616} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0xe, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (14, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x14) went to [0x1b8b87c0010..0x1b8b87c001e) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0xe]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1cd68140, 0x14) came from [0x1b8b87c0010..0x1b8b87c001e) | |
0x1b8b87c0010: 73 77 69 66 74 43 6f 72 65 2e 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d0015c0, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1c6421a0, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1c642300, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C672F20 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C672F20->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1c642370, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7cb70, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1BDA8C20, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c6421d0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c642380, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c642450, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c6423c0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c642280, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c6421a0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c001e) | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("@rpath\swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 1>" | |
LoadLibraryA("@rpath\swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1D2B7950 'Expression ASTContext for '<user expression 1>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1D2B7950 'Expression ASTContext for '<user expression 1>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040587556632} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587576432} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587575984} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040587576200} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("@rpathswiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1C7D3C30 from (ASTContext*)0x000001DB1D2B7950 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1C7F1718 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040587556632} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587576432} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587575984} | |
!3 = distinct !{null, i64 2040587556632} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040587576200} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0x14, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (20, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x20) went to [0x1b8b87c0010..0x1b8b87c0024) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0x14]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c65bb50, 0x20) came from [0x1b8b87c0010..0x1b8b87c0024) | |
0x1b8b87c0010: 40 72 70 61 74 68 73 77 69 66 74 43 6f 72 65 2e | |
0x1b8b87c0020: 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d001520, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1cda71c0, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1cda6fd0, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1D2B7950 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1D2B7950->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1cda6fe0, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7caf0, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7000, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6fc0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7000, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6fc0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7010, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6f50, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c0024) | |
SwiftASTContextForExpressions::LoadOneModule() -- Couldn't import module Swift: Failed to load linked library swiftCore of module Swift - errors: | |
Failed to find "swiftCore.dll" in paths: | |
, C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift\windows | |
Failed to find "swiftCore.dll" on RPATH, error: (null) | |
SwiftASTContextForExpressions::LoadOneModule() -- Imported module Swift from {kind = Serialized Swift AST, filename = "C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\windows\x86_64\Swift.swiftmodule\x86_64-unknown-windows-msvc.swiftmodule";} | |
SwiftUserExpression::ScanContext() | |
[SUE::SC] Frame is not swift-y | |
Parsing the following code: | |
#sourceLocation(file: "repl.swift", line: 1) | |
2 + 2 | |
SwiftASTContextForExpressions::LoadOneModule() -- Importing module Swift | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::GetModule("Swift") | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::LoadModule::<lambda_5017a06cd8ebc5ef32883b56308f7317>::operator ()() -- Loading link library "swiftCore" of kind: 0. | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 2>" | |
LoadLibraryA("swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 2>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 2>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040587462056} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587420176} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587419728} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040587419944} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("swiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1CE78F70 from (ASTContext*)0x000001DB1C63ADD0 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1C7DA5A8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040587462056} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587420176} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587419728} | |
!3 = distinct !{null, i64 2040587462056} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040587419944} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0xe, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (14, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x14) went to [0x1b8b87c0010..0x1b8b87c001e) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0xe]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c65ba30, 0x14) came from [0x1b8b87c0010..0x1b8b87c001e) | |
0x1b8b87c0010: 73 77 69 66 74 43 6f 72 65 2e 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d0586c0, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1cda6f90, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1cda71d0, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C63ADD0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C63ADD0->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1cda7090, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7cb30, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7100, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda71f0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7070, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6ef0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda6ea0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda7010, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c001e) | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("@rpath\swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 3>" | |
LoadLibraryA("@rpath\swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 3>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 3>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040594298600} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594264944} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594264496} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040594264712} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("@rpathswiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1C7EEDE0 from (ASTContext*)0x000001DB1C63ADD0 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1CE5F6E8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040594298600} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594264944} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594264496} | |
!3 = distinct !{null, i64 2040594298600} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040594264712} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0x14, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (20, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x20) went to [0x1b8b87c0010..0x1b8b87c0024) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0x14]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c65b890, 0x20) came from [0x1b8b87c0010..0x1b8b87c0024) | |
0x1b8b87c0010: 40 72 70 61 74 68 73 77 69 66 74 43 6f 72 65 2e | |
0x1b8b87c0020: 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d0013e0, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1cda7100, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1cda71d0, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C63ADD0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C63ADD0->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1cda7180, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7cab0, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7190, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda7020, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda70e0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda7200, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda6f90, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda7190, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c0024) | |
SwiftASTContextForExpressions::LoadOneModule() -- Couldn't import module Swift: Failed to load linked library swiftCore of module Swift - errors: | |
Failed to find "swiftCore.dll" in paths: | |
, C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift\windows | |
Failed to find "swiftCore.dll" on RPATH, error: (null) | |
SwiftASTContextForExpressions::LoadOneModule() -- Imported module Swift from {kind = Serialized Swift AST, filename = "C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\windows\x86_64\Swift.swiftmodule\x86_64-unknown-windows-msvc.swiftmodule";} | |
SwiftASTContextForExpressions::LoadOneModule() -- Importing module Swift | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::GetModule("Swift") | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::LoadModule::<lambda_5017a06cd8ebc5ef32883b56308f7317>::operator ()() -- Loading link library "swiftCore" of kind: 0. | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 4>" | |
LoadLibraryA("swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 4>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 4>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040587453832} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587461296} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587460848} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040587461064} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("swiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1CE70EF0 from (ASTContext*)0x000001DB1C63ADD0 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1C7D8588 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040587453832} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587461296} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587460848} | |
!3 = distinct !{null, i64 2040587453832} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040587461064} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0xe, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (14, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x14) went to [0x1b8b87c0010..0x1b8b87c001e) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0xe]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c65b8d0, 0x14) came from [0x1b8b87c0010..0x1b8b87c001e) | |
0x1b8b87c0010: 73 77 69 66 74 43 6f 72 65 2e 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d058940, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1cda7040, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1cda7100, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C63ADD0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C63ADD0->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1cda70a0, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7b4f0, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda6ef0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda7050, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E3360, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7150, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda70b0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda6fc0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6eb0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c001e) | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("@rpath\swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 5>" | |
LoadLibraryA("@rpath\swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 5>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 5>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040594286264} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594281392} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594280944} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040594281160} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("@rpathswiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1C7EBDB0 from (ASTContext*)0x000001DB1C63ADD0 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1CE5C6B8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040594286264} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594281392} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594280944} | |
!3 = distinct !{null, i64 2040594286264} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040594281160} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0x14, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (20, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x20) went to [0x1b8b87c0010..0x1b8b87c0024) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0x14]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c65ba10, 0x20) came from [0x1b8b87c0010..0x1b8b87c0024) | |
0x1b8b87c0010: 40 72 70 61 74 68 73 77 69 66 74 43 6f 72 65 2e | |
0x1b8b87c0020: 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d0013e0, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1c6424d0, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1c6423b0, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C63ADD0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C63ADD0->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1c6423e0, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7b470, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E3360, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c6421b0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c642340, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c642360, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c642380, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c6423b0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c6424d0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c0024) | |
SwiftASTContextForExpressions::LoadOneModule() -- Couldn't import module Swift: Failed to load linked library swiftCore of module Swift - errors: | |
Failed to find "swiftCore.dll" in paths: | |
, C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift\windows | |
Failed to find "swiftCore.dll" on RPATH, error: (null) | |
SwiftASTContextForExpressions::LoadOneModule() -- Imported module Swift from {kind = Serialized Swift AST, filename = "C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\windows\x86_64\Swift.swiftmodule\x86_64-unknown-windows-msvc.swiftmodule";} | |
SwiftASTContextForExpressions::LoadOneModule() -- Importing module Swift | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::GetModule("Swift") | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::LoadModule::<lambda_5017a06cd8ebc5ef32883b56308f7317>::operator ()() -- Loading link library "swiftCore" of kind: 0. | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 6>" | |
LoadLibraryA("swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 6>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 6>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040587470280} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587416064} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587415616} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040587415832} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("swiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1CE78F70 from (ASTContext*)0x000001DB1C63ADD0 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1C7DC5C8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040587470280} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587416064} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587415616} | |
!3 = distinct !{null, i64 2040587470280} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040587415832} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0xe, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (14, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x14) went to [0x1b8b87c0010..0x1b8b87c001e) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0xe]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c83bab0, 0x14) came from [0x1b8b87c0010..0x1b8b87c001e) | |
0x1b8b87c0010: 73 77 69 66 74 43 6f 72 65 2e 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d058b20, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1cda7110, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1cda6fe0, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C63ADD0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C63ADD0->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1cda71b0, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7b1a0, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda70b0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6ed0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda6fa0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6ef0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7020, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda71a0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c001e) | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("@rpath\swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 7>" | |
LoadLibraryA("@rpath\swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1CFF3020 'Expression ASTContext for '<user expression 7>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1CFF3020 'Expression ASTContext for '<user expression 7>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040594290376} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594281392} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594280944} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040594281160} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("@rpathswiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1C7F0E00 from (ASTContext*)0x000001DB1CFF3020 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1CE5D6C8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040594290376} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594281392} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594280944} | |
!3 = distinct !{null, i64 2040594290376} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040594281160} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0x14, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (20, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x20) went to [0x1b8b87c0010..0x1b8b87c0024) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0x14]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1cc732f0, 0x20) came from [0x1b8b87c0010..0x1b8b87c0024) | |
0x1b8b87c0010: 40 72 70 61 74 68 73 77 69 66 74 43 6f 72 65 2e | |
0x1b8b87c0020: 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d0013e0, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1c642290, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1c6423f0, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1CFF3020 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1CFF3020->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1c642500, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7b120, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c642410, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c642210, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c642430, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c642300, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c642220, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c642540, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c0024) | |
SwiftASTContextForExpressions::LoadOneModule() -- Couldn't import module Swift: Failed to load linked library swiftCore of module Swift - errors: | |
Failed to find "swiftCore.dll" in paths: | |
, C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift\windows | |
Failed to find "swiftCore.dll" on RPATH, error: (null) | |
SwiftASTContextForExpressions::LoadOneModule() -- Imported module Swift from {kind = Serialized Swift AST, filename = "C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\windows\x86_64\Swift.swiftmodule\x86_64-unknown-windows-msvc.swiftmodule";} | |
SwiftASTContextForExpressions::LoadOneModule() -- Importing module Swift | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::GetModule("Swift") | |
SwiftASTContextForExpressions::lldb_private::SwiftASTContext::LoadModule::<lambda_5017a06cd8ebc5ef32883b56308f7317>::operator ()() -- Loading link library "swiftCore" of kind: 0. | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 8>" | |
LoadLibraryA("swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 8>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 8>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040587466168} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587453072} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587452624} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040587452840} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("swiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1CE73F20 from (ASTContext*)0x000001DB1C63ADD0 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1C7DB5B8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"swiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@CNPHAJK@swiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040587466168} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040587453072} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040587452624} | |
!3 = distinct !{null, i64 2040587466168} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040587452840} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0xe, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (14, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x14) went to [0x1b8b87c0010..0x1b8b87c001e) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0xe]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c65b770, 0x14) came from [0x1b8b87c0010..0x1b8b87c001e) | |
0x1b8b87c0010: 73 77 69 66 74 43 6f 72 65 2e 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d058760, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1c50e1b0, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1c50e420, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C63ADD0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C63ADD0->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1c50e490, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7b570, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E30B0, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c50e210, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c50e410, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c50e340, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c50e350, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1c50e270, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1c50e2e0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c001e) | |
== [UserExpression::Evaluate] Parsing expression LoadLibraryA("@rpath\swiftCore.dll") == | |
ClangUserExpression::ScanContext() | |
[CUE::SC] Null function | |
[C++ module config] Importing std module not enabled in settings | |
List of imported modules in expression: | |
List of include directories gathered for modules: | |
Parsing the following code: | |
#line 1 "<lldb wrapper prefix>" | |
#ifndef offsetof | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
#ifndef NULL | |
#define NULL (__null) | |
#endif | |
#ifndef Nil | |
#define Nil (__null) | |
#endif | |
#ifndef nil | |
#define nil (__null) | |
#endif | |
#ifndef YES | |
#define YES ((BOOL)1) | |
#endif | |
#ifndef NO | |
#define NO ((BOOL)0) | |
#endif | |
typedef __INT8_TYPE__ int8_t; | |
typedef __UINT8_TYPE__ uint8_t; | |
typedef __INT16_TYPE__ int16_t; | |
typedef __UINT16_TYPE__ uint16_t; | |
typedef __INT32_TYPE__ int32_t; | |
typedef __UINT32_TYPE__ uint32_t; | |
typedef __INT64_TYPE__ int64_t; | |
typedef __UINT64_TYPE__ uint64_t; | |
typedef __INTPTR_TYPE__ intptr_t; | |
typedef __UINTPTR_TYPE__ uintptr_t; | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
typedef unsigned short unichar; | |
extern "C" | |
{ | |
int printf(const char * __restrict, ...); | |
} | |
typedef signed char BOOL; | |
// libloaderapi.h | |
// WINBASEAPI BOOL WINAPI FreeModule(HMODULE); | |
extern "C" /* __declspec(dllimport) */ BOOL __stdcall FreeModule(void *hLibModule); | |
// WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR); | |
extern "C" /* __declspec(dllimport) */ void * __stdcall LoadLibraryA(const char *); | |
void | |
$__lldb_expr(void *$__lldb_arg) | |
{ | |
; | |
#line 1 "<user expression 9>" | |
LoadLibraryA("@rpath\swiftCore.dll") | |
; | |
#line 1 "<lldb wrapper suffix>" | |
} | |
Frame has language of type c++ | |
Using x86_64-pc-windows-msvc as the target triple | |
Using SIMD alignment: 128 | |
Target datalayout string: 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' | |
Target ABI: '' | |
Target vector alignment: 0 | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 9>'' for '$__lldb_arg' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit' | |
CEDM::FEVD Searching the root namespace | |
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000001DB1C63ADD0 'Expression ASTContext for '<user expression 9>'' for '$__lldb_expr' in a 'TranslationUnit' | |
CAS::FEVD Searching the root namespace | |
Last statement is an rvalue with type: void * | |
Found function ?$__lldb_expr@@YAXPEAX@Z for $__lldb_expr | |
lldb_private::ClangExpressionParser::PrepareForExecution - Current expression language is c++ | |
Module as passed in to IRForTarget: | |
"; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8 | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !5 | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%0 = load i32, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%1 = and i32 %0, 1 | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %init, label %init.end, !prof !6 | |
init: ; preds = %entry | |
%3 = or i32 %0, 1 | |
store i32 %3, i32* @"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA", align 4 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
store i8* %call, i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2} | |
!llvm.module.flags = !{!3} | |
!llvm.ident = !{!4} | |
!0 = !{i8** @"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA", i64 2040594298600} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594260832} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594260384} | |
!3 = !{i32 1, !"wchar_size", i32 2} | |
!4 = !{!"compnerd.org clang version 11.0.0"} | |
!5 = !{i64 2040594260600} | |
!6 = !{!"branch_weights", i32 1, i32 1048575} | |
" | |
Result name: "?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" | |
Found result in the IR: "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" | |
Found result decl: "static void *$__lldb_expr_resultLoadLibraryA("@rpathswiftCore.dll")" | |
Result decl type: "void *" | |
Creating a new result global: "$RESULT_NAME" with size 8 | |
Replacing "@"?$__lldb_expr_result@?1??$__lldb_expr@@YAXPEAX@Z@4PEAXEA" = internal global i8* null, align 8" with "@"$RESULT_NAME" = external global i8*" | |
[ClangASTImporter] DeportType called on (void *Type*)0x000001DB1C7E6D60 from (ASTContext*)0x000001DB1C63ADD0 to (ASTContext*)0x000001DB1C504730 | |
MaybeHandleCallArguments( %call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2) | |
MaybeHandleVariable (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) | |
MaybeHandleVariable (@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1) | |
Examining ?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA, DeclForGlobalValue returns 0x0000000000000000 | |
Examining ??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@, DeclForGlobalValue returns 0x0000000000000000 | |
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000 | |
Examining $RESULT_NAME, DeclForGlobalValue returns 0x000001DB1CE5F6E8 | |
MaybeHandleVariable (@"$RESULT_NAME" = external global i8*) | |
Type of "$__lldb_expr_result" is [clang "void **", llvm "i8***"] [size 8, align 8] | |
Adding value for (NamedDecl*)%p [%s - %s] to the structure | |
Already placed at 0x0 | |
Placed at 0x0 | |
Element arrangement: | |
Arg: "i8* %"$__lldb_arg"" | |
"$RESULT_NAME" ("$__lldb_expr_result") placed at 0 | |
Replacing [@"$RESULT_NAME" = external global i8*] | |
Total structure [align 8, size 8] | |
Instrumenting load/store instruction: %2 = load i8**, i8*** %1, align 8 | |
Instrumenting load/store instruction: store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
Instrumenting load/store instruction: store i8* %call, i8** %3, align 8 | |
Module being sent to JIT: | |
; ModuleID = '$__lldb_module' | |
source_filename = "$__lldb_module" | |
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-msvc" | |
$"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = comdat any | |
@"?$S1@?1??$__lldb_expr@@YAXPEAX@Z@4IA" = internal global i32 0, align 4 | |
@"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@" = linkonce_odr dso_local unnamed_addr constant [20 x i8] c"@rpathswiftCore.dll\00", comdat, align 1 | |
@reloc_placeholder = internal global i8 0 | |
; Function Attrs: convergent noinline nounwind optnone | |
define dso_local void @"?$__lldb_expr@@YAXPEAX@Z"(i8* %"$__lldb_arg") #0 { | |
entry: | |
%0 = getelementptr i8, i8* %"$__lldb_arg", i32 0 | |
%1 = bitcast i8* %0 to i8*** | |
%2 = bitcast i8*** %1 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %2) | |
%3 = load i8**, i8*** %1, align 8 | |
%"$__lldb_arg.addr" = alloca i8*, align 8, !clang.decl.ptr !6 | |
%4 = bitcast i8** %"$__lldb_arg.addr" to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %4) | |
store i8* %"$__lldb_arg", i8** %"$__lldb_arg.addr", align 8 | |
%5 = and i32 0, 1 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %init, label %init.end, !prof !7 | |
init: ; preds = %entry | |
%7 = or i32 0, 1 | |
%call = call i8* @LoadLibraryA(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"??_C@_0BE@FOPIOLPO@?$EArpathswiftCore?4dll?$AA@", i64 0, i64 0)) #2 | |
%8 = bitcast i8** %3 to i8* | |
call void (i8*, ...) inttoptr (i64 1892879564800 to void (i8*, ...)*)(i8* %8) | |
store i8* %call, i8** %3, align 8 | |
br label %init.end | |
init.end: ; preds = %init, %entry | |
ret void | |
} | |
; Function Attrs: convergent | |
declare dso_local i8* @LoadLibraryA(i8*) #1 | |
attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { convergent "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #2 = { convergent "no-builtins" } | |
!clang.global.decl.ptrs = !{!0, !1, !0, !2, !3} | |
!llvm.module.flags = !{!4} | |
!llvm.ident = !{!5} | |
!0 = distinct !{null, i64 2040594298600} | |
!1 = !{void (i8*)* @"?$__lldb_expr@@YAXPEAX@Z", i64 2040594260832} | |
!2 = !{i8* (i8*)* @LoadLibraryA, i64 2040594260384} | |
!3 = distinct !{null, i64 2040594298600} | |
!4 = !{i32 1, !"wchar_size", i32 2} | |
!5 = !{!"compnerd.org clang version 11.0.0"} | |
!6 = !{i64 2040594260600} | |
!7 = !{!"branch_weights", i32 1, i32 1048575} | |
IRExecutionUnit::allocateDataSection(Size=0x14, Alignment=1, SectionID=0) = 000001DB1F4C0000 | |
IRExecutionUnit::allocateCodeSection(Size=0x91, Alignment=16, SectionID=1) = 000001DB1F4D0000 | |
IRExecutionUnit::allocateDataSection(Size=0x5, Alignment=4, SectionID=2) = 000001DB1F4E0000 | |
IRExecutionUnit::allocateDataSection(Size=0x1, Alignment=4, SectionID=3) = 000001DB1F4E0008 | |
IRMemoryMap::Malloc (20, 0x1, 0x2, eAllocationPolicyProcessOnly) -> 0x1b8b87c0010 | |
IRMemoryMap::Malloc (175, 0x10, 0x6, eAllocationPolicyProcessOnly) -> 0x1b8b86a0030 | |
IRMemoryMap::Malloc (11, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0020 | |
IRMemoryMap::Malloc (7, 0x4, 0x3, eAllocationPolicyProcessOnly) -> 0x1b8b87b0030 | |
IRExecutionUnit::getSymbolAddress(Name="LoadLibraryA") = 7ffcba340490 | |
IRMemoryMap::WriteMemory (0x1b8b87c0010, 0x1db1f4c0000, 0x20) went to [0x1b8b87c0010..0x1b8b87c0024) | |
IRMemoryMap::WriteMemory (0x1b8b86a0030, 0x1db1f4d0000, 0x145) went to [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::WriteMemory (0x1b8b87b0020, 0x1db1f4e0000, 0x5) went to [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::WriteMemory (0x1b8b87b0030, 0x1db1f4e0008, 0x1) went to [0x1b8b87b0030..0x1b8b87b0037) | |
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1db1f4d0000 in [0x1db1f4d0000..0x1db1f4d0091], and returned 0x1b8b86a0030 from [0x1b8b86a0030..0x1b8b86a00c1]. | |
Code can be run in the target. | |
Found function, has local address 0x1db1f4d0000 and remote address 0x1b8b86a0030 | |
Function's code range is [0x1b8b86a0030+0x91] | |
Function data has contents: | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
Function disassembly: | |
0x1b8b86a0030: 55 pushq %rbp | |
0x1b8b86a0031: 56 pushq %rsi | |
0x1b8b86a0032: 57 pushq %rdi | |
0x1b8b86a0033: 48 83 ec 30 subq $0x30, %rsp | |
0x1b8b86a0037: 48 8d 6c 24 30 leaq 0x30(%rsp), %rbp | |
0x1b8b86a003c: 48 89 cf movq %rcx, %rdi | |
0x1b8b86a003f: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0049: 48 89 f9 movq %rdi, %rcx | |
0x1b8b86a004c: ff d0 callq *%rax | |
0x1b8b86a004e: 48 8b 37 movq (%rdi), %rsi | |
0x1b8b86a0051: 48 8d 4d f8 leaq -0x8(%rbp), %rcx | |
0x1b8b86a0055: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a005f: ff d0 callq *%rax | |
0x1b8b86a0061: 48 89 7d f8 movq %rdi, -0x8(%rbp) | |
0x1b8b86a0065: b8 01 00 00 00 movl $0x1, %eax | |
0x1b8b86a006a: 83 e0 00 andl $0x0, %eax | |
0x1b8b86a006d: 83 f8 00 cmpl $0x0, %eax | |
0x1b8b86a0070: 75 2b jne 0x1b8b86a009d | |
0x1b8b86a0072: 48 b9 10 00 7c b8 b8 01 00 00 movabsq $0x1b8b87c0010, %rcx ; imm = 0x1B8B87C0010 | |
0x1b8b86a007c: 48 b8 90 04 34 ba fc 7f 00 00 movabsq $0x7ffcba340490, %rax ; imm = 0x7FFCBA340490 | |
0x1b8b86a0086: ff d0 callq *%rax | |
0x1b8b86a0088: 48 89 c7 movq %rax, %rdi | |
0x1b8b86a008b: 48 b8 00 00 6a b8 b8 01 00 00 movabsq $0x1b8b86a0000, %rax ; imm = 0x1B8B86A0000 | |
0x1b8b86a0095: 48 89 f1 movq %rsi, %rcx | |
0x1b8b86a0098: ff d0 callq *%rax | |
0x1b8b86a009a: 48 89 3e movq %rdi, (%rsi) | |
0x1b8b86a009d: 48 83 c4 30 addq $0x30, %rsp | |
0x1b8b86a00a1: 5f popq %rdi | |
0x1b8b86a00a2: 5e popq %rsi | |
0x1b8b86a00a3: 5d popq %rbp | |
0x1b8b86a00a4: c3 retq | |
0x1b8b86a00a5: 00 00 addb %al, (%rax) | |
0x1b8b86a00a7: 00 00 addb %al, (%rax) | |
0x1b8b86a00a9: 00 00 addb %al, (%rax) | |
0x1b8b86a00ab: 00 00 addb %al, (%rax) | |
0x1b8b86a00ad: 00 00 addb %al, (%rax) | |
0x1b8b86a00af: 00 00 addb %al, (%rax) | |
0x1b8b86a00b1: 00 00 addb %al, (%rax) | |
0x1b8b86a00b3: 00 00 addb %al, (%rax) | |
0x1b8b86a00b5: 00 00 addb %al, (%rax) | |
0x1b8b86a00b7: 00 00 addb %al, (%rax) | |
0x1b8b86a00b9: 00 00 addb %al, (%rax) | |
0x1b8b86a00bb: 00 00 addb %al, (%rax) | |
0x1b8b86a00bd: 00 00 addb %al, (%rax) | |
0x1b8b86a00bf: 00 00 addb %al, (%rax) | |
Sections: | |
[0x1db1f4c0000+0x14]->0x1b8b87c0010 (alignment 1, section ID 0, name .rdata) | |
IRMemoryMap::ReadMemory (0x1b8b87c0010, 0x1db1c83b630, 0x20) came from [0x1b8b87c0010..0x1b8b87c0024) | |
0x1b8b87c0010: 40 72 70 61 74 68 73 77 69 66 74 43 6f 72 65 2e | |
0x1b8b87c0020: 64 6c 6c 00 | |
[0x1db1f4d0000+0x91]->0x1b8b86a0030 (alignment 16, section ID 1, name .text) | |
IRMemoryMap::ReadMemory (0x1b8b86a0030, 0x1db1d001ca0, 0x145) came from [0x1b8b86a0030..0x1b8b86a00df) | |
0x1b8b86a0030: 55 56 57 48 83 ec 30 48 8d 6c 24 30 48 89 cf 48 | |
0x1b8b86a0040: b8 00 00 6a b8 b8 01 00 00 48 89 f9 ff d0 48 8b | |
0x1b8b86a0050: 37 48 8d 4d f8 48 b8 00 00 6a b8 b8 01 00 00 ff | |
0x1b8b86a0060: d0 48 89 7d f8 b8 01 00 00 00 83 e0 00 83 f8 00 | |
0x1b8b86a0070: 75 2b 48 b9 10 00 7c b8 b8 01 00 00 48 b8 90 04 | |
0x1b8b86a0080: 34 ba fc 7f 00 00 ff d0 48 89 c7 48 b8 00 00 6a | |
0x1b8b86a0090: b8 b8 01 00 00 48 89 f1 ff d0 48 89 3e 48 83 c4 | |
0x1b8b86a00a0: 30 5f 5e 5d c3 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
0x1b8b86a00c0: 00 | |
[0x1db1f4e0000+0x5]->0x1b8b87b0020 (alignment 4, section ID 2, name .bss) | |
IRMemoryMap::ReadMemory (0x1b8b87b0020, 0x1db1cda70d0, 0x5) came from [0x1b8b87b0020..0x1b8b87b002b) | |
0x1b8b87b0020: 00 00 00 00 00 | |
[0x1db1f4e0008+0x1]->0x1b8b87b0030 (alignment 4, section ID 3, name .data) | |
IRMemoryMap::ReadMemory (0x1b8b87b0030, 0x1db1cda6f40, 0x1) came from [0x1b8b87b0030..0x1b8b87b0037) | |
0x1b8b87b0030: 00 | |
[ClangASTImporter] Forgetting destination (ASTContext*)0x000001DB1C63ADD0 | |
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000001DB1C63ADD0->(ASTContext*)0x000001DB1C504730 | |
== [UserExpression::Evaluate] Executing expression == | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0040 | |
IRMemoryMap::lldb_private::IRMemoryMap::Malloc process_sp=0x1db1bd80420, process_sp->CanJIT()=true, process_sp->IsAlive()=true | |
IRMemoryMap::WriteMemory (0x1b8b87b0050, 0x1db1cda6ea0, 0x8) went to [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x1b8b87b0050 | |
IRMemoryMap::WriteMemory (0x1b8b87b0040, 0xca27e7b4f0, 0x8) went to [0x1b8b87b0040..0x1b8b87b004f) | |
Materializer::Materialize (frame_sp = 000001DB1D1E2B50, process_address = 0x1b8b87b0040) materialized: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda70d0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6f60, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
ABIWindows_x86_64::PrepareTrivialCall (tid = 0x37d8, sp = 0x314d18f6a8, func_addr = 0x1b8b86a0030, return_addr = 0x7ff65b66128c, arg1 = 0x1b8b87b0040) | |
About to write arg1 (0x1b8b87b0040) into rcx | |
16-byte aligning SP: 0x314d18f6a8 to 0x314d18f6a0 | |
Pushing the return address onto the stack: 0x314d18f698: 0x7ff65b66128c | |
Writing SP: 0x314d18f698 | |
Writing IP: 0x1b8b86a0030 | |
-- [UserExpression::Execute] Execution of expression begins -- | |
-- [UserExpression::Execute] Execution of expression completed -- | |
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution -- | |
Materializer::Dematerialize (frame_sp = 000001DB1D1E3360, process_address = 0x1b8b87b0040) about to dematerialize: | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda70f0, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6f60, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
0x1b8b87b0040: EntityResultVariable | |
Pointer: | |
0x1b8b87b0040: 50 00 7b b8 b8 01 00 00 | |
Temporary allocation: | |
0x1b8b87b0040: 00 00 00 00 00 00 00 00 | |
IRMemoryMap::ReadMemory (0x1b8b87b0040, 0x1db1cda7120, 0x8) came from [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::ReadMemory (0x1b8b87b0050, 0x1db1cda6fe0, 0x8) came from [0x1b8b87b0050..0x1b8b87b005f) | |
IRMemoryMap::Free (0x1b8b87b0050) freed [0x1b8b87b0050..0x1b8b87b005f) | |
== [UserExpression::Evaluate] Execution completed normally with result %s == | |
IRMemoryMap::Free (0x1b8b86a0030) freed [0x1b8b86a0030..0x1b8b86a00df) | |
IRMemoryMap::Free (0x1b8b87b0020) freed [0x1b8b87b0020..0x1b8b87b002b) | |
IRMemoryMap::Free (0x1b8b87b0030) freed [0x1b8b87b0030..0x1b8b87b0037) | |
IRMemoryMap::Free (0x1b8b87b0040) freed [0x1b8b87b0040..0x1b8b87b004f) | |
IRMemoryMap::Free (0x1b8b87c0010) freed [0x1b8b87c0010..0x1b8b87c0024) | |
SwiftASTContextForExpressions::LoadOneModule() -- Couldn't import module Swift: Failed to load linked library swiftCore of module Swift - errors: | |
Failed to find "swiftCore.dll" in paths: | |
, C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift\windows | |
Failed to find "swiftCore.dll" on RPATH, error: (null) | |
SwiftASTContextForExpressions::LoadOneModule() -- Imported module Swift from {kind = Serialized Swift AST, filename = "C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\windows\x86_64\Swift.swiftmodule\x86_64-unknown-windows-msvc.swiftmodule";} | |
Swift language runtime isn't available because swiftCore.dll is not loaded in the process. functionality. | |
Assertion failed: false && "called into swift language runtime stub", file D:\a\1\s\llvm-project\lldb\source\Target\SwiftLanguageRuntime.cpp, line 301 | |
#0 0x00007ff6bb78d4a5 (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\lldb.exe+0x1d4a5) | |
#1 0x00007ffcb8bc1891 (C:\WINDOWS\System32\ucrtbase.dll+0x71891) | |
#2 0x00007ffcb8bc2861 (C:\WINDOWS\System32\ucrtbase.dll+0x72861) | |
#3 0x00007ffcb8bc427e (C:\WINDOWS\System32\ucrtbase.dll+0x7427e) | |
#4 0x00007ffcb8bc4175 (C:\WINDOWS\System32\ucrtbase.dll+0x74175) | |
#5 0x00007ffcb8bc4501 (C:\WINDOWS\System32\ucrtbase.dll+0x74501) | |
#6 0x00007ffc46f21d2c PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x671d2c) | |
#7 0x00007ffc4b7e3394 PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x4f33394) | |
#8 0x00007ffc4b7e8260 PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x4f38260) | |
#9 0x00007ffc4b7e5db6 PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x4f35db6) | |
#10 0x00007ffc4b7e0c89 PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x4f30c89) | |
#11 0x00007ffc46dcea17 PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x51ea17) | |
#12 0x00007ffc46ddce27 PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x52ce27) | |
#13 0x00007ffc46da956c PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x4f956c) | |
#14 0x00007ffc46d598d9 PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x4a98d9) | |
#15 0x00007ffc46d5850e PyInit__lldb (C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\liblldb.dll+0x4a850e) | |
#16 0x00007ffcb8b714c2 (C:\WINDOWS\System32\ucrtbase.dll+0x214c2) | |
#17 0x00007ffcba336fd4 (C:\WINDOWS\System32\KERNEL32.DLL+0x16fd4) | |
#18 0x00007ffcbaedcec1 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x4cec1) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment