devtools: usyscalls: cast pointers args to (void*)
This commit is contained in:
parent
ee7317925a
commit
633a039d4f
|
@ -104,7 +104,6 @@ func argTypeName(t string) string{
|
||||||
return "p"
|
return "p"
|
||||||
}
|
}
|
||||||
return " [?? " + t + "]"
|
return " [?? " + t + "]"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func argRegister(index int, t string) string{
|
func argRegister(index int, t string) string{
|
||||||
|
@ -144,6 +143,7 @@ func getHeaderData(calls []SyscallConf) *HeaderCode {
|
||||||
wcall.AsmClobbers = "\"cc\", \"rcx\", \"r11\""
|
wcall.AsmClobbers = "\"cc\", \"rcx\", \"r11\""
|
||||||
wcall.AsmArgs = fmt.Sprintf("\"0\"(%d)", wcall.Id)
|
wcall.AsmArgs = fmt.Sprintf("\"0\"(%d)", wcall.Id)
|
||||||
for i, a := range(call.Args){
|
for i, a := range(call.Args){
|
||||||
|
typeName := argTypeName(a)
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
wcall.FuncArgs += ", "
|
wcall.FuncArgs += ", "
|
||||||
wcall.MacroArgs += ", "
|
wcall.MacroArgs += ", "
|
||||||
|
@ -153,7 +153,11 @@ func getHeaderData(calls []SyscallConf) *HeaderCode {
|
||||||
}
|
}
|
||||||
wcall.FuncArgs += fmt.Sprintf("%s a%d", a, i)
|
wcall.FuncArgs += fmt.Sprintf("%s a%d", a, i)
|
||||||
wcall.MacroArgs += fmt.Sprintf("/* %s */ a%d", a, i)
|
wcall.MacroArgs += fmt.Sprintf("/* %s */ a%d", a, i)
|
||||||
wcall.VarValues = append(wcall.VarValues, fmt.Sprintf("_sysargs[%d].%s = (a%d); \\\n\t", i, argTypeName(a), i))
|
if typeName == "p" {
|
||||||
|
wcall.VarValues = append(wcall.VarValues, fmt.Sprintf("_sysargs[%d].%s = ((void*)a%d); \\\n\t", i, typeName, i))
|
||||||
|
} else {
|
||||||
|
wcall.VarValues = append(wcall.VarValues, fmt.Sprintf("_sysargs[%d].%s = (a%d); \\\n\t", i, typeName, i))
|
||||||
|
}
|
||||||
wcall.Vars = append(wcall.Vars, fmt.Sprintf("register %s __r%d asm(\"%s\") = _sysargs[%d].%s; \\\n\t", a, i, argRegister(i, a), i, argTypeName(a)))
|
wcall.Vars = append(wcall.Vars, fmt.Sprintf("register %s __r%d asm(\"%s\") = _sysargs[%d].%s; \\\n\t", a, i, argRegister(i, a), i, argTypeName(a)))
|
||||||
wcall.AsmArgs += fmt.Sprintf(", \"r\"(__r%d)", i)
|
wcall.AsmArgs += fmt.Sprintf(", \"r\"(__r%d)", i)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue