aboutsummaryrefslogtreecommitdiffstats
path: root/sysgen
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-08-26 14:20:36 +0200
committerDmitry Vyukov <dvyukov@google.com>2016-08-26 14:20:36 +0200
commitc152f0e981e3392c9903bca5d275d0d7f22157b5 (patch)
treecb9bb9fd429075e26afcbb6430760c7754657514 /sysgen
parentd78bc6e66c108ea0169259520de8f8b9deeadeaa (diff)
sysgen: fix generation of flags
On arm64 all constants are removed for some ptrace flags. Use plain int in such cases.
Diffstat (limited to 'sysgen')
-rw-r--r--sysgen/sysgen.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysgen/sysgen.go b/sysgen/sysgen.go
index a0db59750..1b2fd9c55 100644
--- a/sysgen/sysgen.go
+++ b/sysgen/sysgen.go
@@ -345,7 +345,11 @@ func generateArg(
if !ok {
failf("unknown flag %v", a[0])
}
- fmt.Fprintf(out, "FlagsType{%v, TypeSize: %v, Vals: []uintptr{%v}}", common(), size, strings.Join(vals, ","))
+ if len(vals) == 0 {
+ fmt.Fprintf(out, "IntType{%v, TypeSize: %v}", common(), size)
+ } else {
+ fmt.Fprintf(out, "FlagsType{%v, TypeSize: %v, Vals: []uintptr{%v}}", common(), size, strings.Join(vals, ","))
+ }
case "const":
var size uint64
if isField {