@@ -1903,14 +1903,14 @@ NAME=aeropause64-sp (many features combined without bp)
1903
1903
FILE=bins/dectest64-sp
1904
1904
EXPECT=<<EOF
1905
1905
1906
+ // WARNING: [rz-ghidra] Detected overlap for variable var_14h
1906
1907
// WARNING: [rz-ghidra] Removing arg arg_14h because it doesn't fit into ProtoModel
1907
1908
1908
1909
void sym.Aeropause(Bright *bright, int32_t argc, char **argv)
1909
1910
{
1910
1911
int32_t iVar1;
1911
1912
Morning *pMVar2;
1912
1913
int64_t var_20h;
1913
- int32_t var_14h;
1914
1914
void **var_10h;
1915
1915
1916
1916
pMVar2 = (Morning *)sym.imp.malloc(0x10);
@@ -1989,6 +1989,7 @@ RUN
1989
1989
1990
1990
1991
1991
NAME=typedef
1992
+ BROKEN=1
1992
1993
FILE=bins/dectest32
1993
1994
EXPECT=<<EOF
1994
1995
@@ -3174,14 +3175,17 @@ true
3174
3175
3175
3176
// WARNING: Variable defined which should be unmapped: var_10h
3176
3177
// WARNING: Variable defined which should be unmapped: var_8h
3178
+ // WARNING: [rz-ghidra] Failed to get address for var argc
3179
+ // WARNING: [rz-ghidra] Failed to get address for var argv
3177
3180
// WARNING: [rz-ghidra] Detected overlap for variable var_14h
3178
3181
// WARNING: [rz-ghidra] Detected overlap for variable var_2ch
3179
3182
3180
- undefined8 entry0( int64_t arg1, int64_t arg2 )
3183
+ int64_t dbg.main(void )
3181
3184
{
3182
3185
undefined4 uVar1;
3183
- undefined8 uVar2;
3184
- undefined8 uVar3;
3186
+ int64_t iVar2;
3187
+ int64_t arg1;
3188
+ int64_t arg2;
3185
3189
int64_t var_50h;
3186
3190
int64_t var_48h;
3187
3191
int64_t var_40h;
@@ -3191,30 +3195,36 @@ undefined8 entry0(int64_t arg1, int64_t arg2)
3191
3195
int64_t var_10h;
3192
3196
int64_t var_8h;
3193
3197
3194
- uVar2 = fcn.100003d9c();
3195
- uVar1 = (**(code **)0x100008188)(sym._a);
3198
+ arg1 = fcn.100003d9c();
3199
+ iVar2 = arg1;
3200
+ arg1._0_4_ = (*fcns[1])(&a);
3201
+ uVar1 = (undefined4)arg1;
3196
3202
section.1.__TEXT.__stubs("");
3197
- uVar3 = fcn.100003d84(sym.class_Test);
3198
- fcn.100003da8(uVar3 , "methodWithoutArgs");
3199
- fcn.100003da8(uVar3 , "methodWithOneArg:", 0x7b);
3200
- fcn.100003da8(uVar3 , "methodWithTwoArgs:secondArg:", 0x539, uVar1);
3201
- fcn.100003da8(uVar3 , "methodWithReturn");
3203
+ arg1 = fcn.100003d84(sym.class_Test);
3204
+ fcn.100003da8(arg1 , "methodWithoutArgs");
3205
+ fcn.100003da8(arg1 , "methodWithOneArg:", 0x7b);
3206
+ fcn.100003da8(arg1 , "methodWithTwoArgs:secondArg:", 0x539, uVar1);
3207
+ fcn.100003da8(arg1 , "methodWithReturn");
3202
3208
section.1.__TEXT.__stubs("");
3203
- fcn.100003d90(uVar2);
3204
- return 0;
3209
+ fcn.100003d90(iVar2);
3210
+ arg1 = 0;
3211
+ return arg1;
3205
3212
}
3206
3213
------------ without propagation
3207
3214
3208
3215
// WARNING: Variable defined which should be unmapped: var_10h
3209
3216
// WARNING: Variable defined which should be unmapped: var_8h
3217
+ // WARNING: [rz-ghidra] Failed to get address for var argc
3218
+ // WARNING: [rz-ghidra] Failed to get address for var argv
3210
3219
// WARNING: [rz-ghidra] Detected overlap for variable var_14h
3211
3220
// WARNING: [rz-ghidra] Detected overlap for variable var_2ch
3212
3221
3213
- undefined8 entry0( int64_t arg1, int64_t arg2 )
3222
+ int64_t dbg.main(void )
3214
3223
{
3215
3224
undefined4 uVar1;
3216
- undefined8 uVar2;
3217
- undefined8 uVar3;
3225
+ int64_t iVar2;
3226
+ int64_t arg1;
3227
+ int64_t arg2;
3218
3228
int64_t var_50h;
3219
3229
int64_t var_48h;
3220
3230
int64_t var_40h;
@@ -3224,17 +3234,20 @@ undefined8 entry0(int64_t arg1, int64_t arg2)
3224
3234
int64_t var_10h;
3225
3235
int64_t var_8h;
3226
3236
3227
- uVar2 = fcn.100003d9c();
3228
- uVar1 = (**(code **)0x100008188)(sym._a);
3237
+ arg1 = fcn.100003d9c();
3238
+ iVar2 = arg1;
3239
+ arg1._0_4_ = (*fcns[1])(&a);
3240
+ uVar1 = (undefined4)arg1;
3229
3241
section.1.__TEXT.__stubs("");
3230
- uVar3 = fcn.100003d84(*(undefined8 *)0x100008110);
3231
- fcn.100003da8(uVar3 , *(undefined8 *)0x1000080f0);
3232
- fcn.100003da8(uVar3 , *(undefined8 *)0x1000080f8, 0x7b);
3233
- fcn.100003da8(uVar3 , *(undefined8 *)0x100008100, 0x539, uVar1);
3234
- fcn.100003da8(uVar3 , *(undefined8 *)0x100008108);
3242
+ arg1 = fcn.100003d84(*(undefined8 *)0x100008110);
3243
+ fcn.100003da8(arg1 , *(undefined8 *)0x1000080f0);
3244
+ fcn.100003da8(arg1 , *(undefined8 *)0x1000080f8, 0x7b);
3245
+ fcn.100003da8(arg1 , *(undefined8 *)0x100008100, 0x539, uVar1);
3246
+ fcn.100003da8(arg1 , *(undefined8 *)0x100008108);
3235
3247
section.1.__TEXT.__stubs("");
3236
- fcn.100003d90(uVar2);
3237
- return 0;
3248
+ fcn.100003d90(iVar2);
3249
+ arg1 = 0;
3250
+ return arg1;
3238
3251
}
3239
3252
EOF
3240
3253
RUN
0 commit comments