diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-05-03 16:53:36 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-05-05 14:01:52 +0200 |
| commit | 1905d7c090a13a8b94e5d19a5388104f2d7693fd (patch) | |
| tree | 35a501ee366d2d41b46da91af19a01485f9bae66 /sys/syz-sysgen/sysgen.go | |
| parent | 3dda7e67688077f3c6f91450d18dc14c776d3872 (diff) | |
prog: refactor ANY to not fabricate new types
Currently ANY implementation fabricates new types dynamically.
This is something we don't do anywhere else, generally types
come from compiler and all are static.
Dynamic types will conflict with use of Ref in Arg optimization.
Move ANY types creation into compiler.
Update #1580
Diffstat (limited to 'sys/syz-sysgen/sysgen.go')
| -rw-r--r-- | sys/syz-sysgen/sysgen.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/syz-sysgen/sysgen.go b/sys/syz-sysgen/sysgen.go index bf39ba9ee..654664af6 100644 --- a/sys/syz-sysgen/sysgen.go +++ b/sys/syz-sysgen/sysgen.go @@ -189,8 +189,8 @@ func generate(target *targets.Target, prg *compiler.Prog, consts map[string]uint fmt.Fprintf(out, "\tRegisterTarget(&Target{"+ "OS: %q, Arch: %q, Revision: revision_%v, PtrSize: %v, "+ "PageSize: %v, NumPages: %v, DataOffset: %v, Syscalls: syscalls_%v, "+ - "Resources: resources_%v, Types: types_%v, Consts: consts_%v}, "+ - "InitTarget)\n}\n\n", + "Resources: resources_%v, Consts: consts_%v}, "+ + "types_%v, InitTarget)\n}\n\n", target.OS, target.Arch, target.Arch, target.PtrSize, target.PageSize, target.NumPages, target.DataOffset, target.Arch, target.Arch, target.Arch, target.Arch) @@ -267,7 +267,7 @@ func generateExecutorSyscalls(target *targets.Target, syscalls []*prog.Syscall, Name: c.Name, CallName: c.CallName, NR: int32(c.NR), - NeedCall: !target.SyscallNumbers || strings.HasPrefix(c.CallName, "syz_"), + NeedCall: (!target.SyscallNumbers || strings.HasPrefix(c.CallName, "syz_")) && !c.Attrs.Disabled, Attrs: attrVals[:last+1], }) } |
