Skip to content

Commit 1ef58d2

Browse files
committed
Merge 'dev' branch into stable
2 parents 018dfee + f3bc917 commit 1ef58d2

File tree

2 files changed

+44
-31
lines changed

2 files changed

+44
-31
lines changed

test/db/extras/asm_ghidra

+6-6
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,9 @@ EXPECT=<<EOF
190190
0x80001008 lui t0, 0x8003
191191
0x8000100c addiu t0, t0, -0x3b50
192192
0x80001010 lui t1, 0x8015
193-
0x80001014 str.e0:
194-
0x80001014 0x80001019 invalid
195-
0x8000101a sll zero, a1, 0x0
196-
0x8000101e invalid
193+
0x80001014 addiu t1, t1, 0x6530
194+
0x80001018 beq t0, t1, 0x80001030
195+
0x8000101c nop
197196
0x80001020 addiu t0, t0, 0x4
198197
0x80001024 sltu at, t0, t1
199198
0x80001028 pc:
@@ -236,6 +235,7 @@ EXPECT=<<EOF
236235
0x800010b8 sw zero, 0x0(at)
237236
0x800010bc bgtz v0, 0x800010b8
238237
0x800010c0 addi v0, v0, -0x1
238+
0x800010c4 mfc0 v0, wired
239239
EOF
240240
CMDS=<<EOF
241241
pdga
@@ -538,8 +538,8 @@ EXPECT=<<EOF
538538
0x00011828 ldub [l3+0xc4],g1
539539
0x0001182c cmp g1,0x0
540540
0x00011830 bpne,pn %icc,0x11898
541-
0x00011834 sethi %hi(0x4a000),l2
542-
0x00011838 sethi %hi(0x4a000),l1
541+
0x00011834 sethi %hi(segment.LOAD1),l2
542+
0x00011838 sethi %hi(segment.LOAD1),l1
543543
0x0001183c or l2,0x8,l2
544544
0x00011840 or l1,0xc,l1
545545
0x00011844 sub l1,l2,l1

test/db/extras/ghidra

+38-25
Original file line numberDiff line numberDiff line change
@@ -1903,14 +1903,14 @@ NAME=aeropause64-sp (many features combined without bp)
19031903
FILE=bins/dectest64-sp
19041904
EXPECT=<<EOF
19051905

1906+
// WARNING: [rz-ghidra] Detected overlap for variable var_14h
19061907
// WARNING: [rz-ghidra] Removing arg arg_14h because it doesn't fit into ProtoModel
19071908

19081909
void sym.Aeropause(Bright *bright, int32_t argc, char **argv)
19091910
{
19101911
int32_t iVar1;
19111912
Morning *pMVar2;
19121913
int64_t var_20h;
1913-
int32_t var_14h;
19141914
void **var_10h;
19151915

19161916
pMVar2 = (Morning *)sym.imp.malloc(0x10);
@@ -1989,6 +1989,7 @@ RUN
19891989

19901990

19911991
NAME=typedef
1992+
BROKEN=1
19921993
FILE=bins/dectest32
19931994
EXPECT=<<EOF
19941995

@@ -3174,14 +3175,17 @@ true
31743175

31753176
// WARNING: Variable defined which should be unmapped: var_10h
31763177
// 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
31773180
// WARNING: [rz-ghidra] Detected overlap for variable var_14h
31783181
// WARNING: [rz-ghidra] Detected overlap for variable var_2ch
31793182

3180-
undefined8 entry0(int64_t arg1, int64_t arg2)
3183+
int64_t dbg.main(void)
31813184
{
31823185
undefined4 uVar1;
3183-
undefined8 uVar2;
3184-
undefined8 uVar3;
3186+
int64_t iVar2;
3187+
int64_t arg1;
3188+
int64_t arg2;
31853189
int64_t var_50h;
31863190
int64_t var_48h;
31873191
int64_t var_40h;
@@ -3191,30 +3195,36 @@ undefined8 entry0(int64_t arg1, int64_t arg2)
31913195
int64_t var_10h;
31923196
int64_t var_8h;
31933197

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;
31963202
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");
32023208
section.1.__TEXT.__stubs("");
3203-
fcn.100003d90(uVar2);
3204-
return 0;
3209+
fcn.100003d90(iVar2);
3210+
arg1 = 0;
3211+
return arg1;
32053212
}
32063213
------------ without propagation
32073214

32083215
// WARNING: Variable defined which should be unmapped: var_10h
32093216
// 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
32103219
// WARNING: [rz-ghidra] Detected overlap for variable var_14h
32113220
// WARNING: [rz-ghidra] Detected overlap for variable var_2ch
32123221

3213-
undefined8 entry0(int64_t arg1, int64_t arg2)
3222+
int64_t dbg.main(void)
32143223
{
32153224
undefined4 uVar1;
3216-
undefined8 uVar2;
3217-
undefined8 uVar3;
3225+
int64_t iVar2;
3226+
int64_t arg1;
3227+
int64_t arg2;
32183228
int64_t var_50h;
32193229
int64_t var_48h;
32203230
int64_t var_40h;
@@ -3224,17 +3234,20 @@ undefined8 entry0(int64_t arg1, int64_t arg2)
32243234
int64_t var_10h;
32253235
int64_t var_8h;
32263236

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;
32293241
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);
32353247
section.1.__TEXT.__stubs("");
3236-
fcn.100003d90(uVar2);
3237-
return 0;
3248+
fcn.100003d90(iVar2);
3249+
arg1 = 0;
3250+
return arg1;
32383251
}
32393252
EOF
32403253
RUN

0 commit comments

Comments
 (0)