]>
Commit | Line | Data |
---|---|---|
a61f3252 | 1 | Adjust types and sizes for 32-bit pointers |
77814ee8 JB |
2 | --- xen-4.18.1/tools/golang/xenlight/gengotypes.py.orig 2024-04-22 20:08:49.947724076 +0200 |
3 | +++ xen-4.18.1/tools/golang/xenlight/gengotypes.py 2024-04-22 20:12:45.073116959 +0200 | |
4 | @@ -439,7 +439,7 @@ def xenlight_golang_array_from_C(ty = No | |
a61f3252 | 5 | s += 'x.{0} = nil\n'.format(goname) |
77814ee8 | 6 | s += 'if n := int({0}.{1}); n > 0 {{\n'.format(cvarname,clenvar) |
a61f3252 | 7 | s += '{0} := '.format(cslice) |
77814ee8 JB |
8 | - s +='(*[1<<28]C.{0})(unsafe.Pointer({1}.{2}))[:n:n]\n'.format(ctypename, cvarname, cname) |
9 | + s +='(*[(1<<22)]C.{0})(unsafe.Pointer({1}.{2}))[:n:n]\n'.format(ctypename, cvarname, cname) | |
a61f3252 JB |
10 | s += 'x.{0} = make([]{1}, n)\n'.format(goname, gotypename) |
11 | s += 'for i, v := range {0} {{\n'.format(cslice) | |
12 | ||
77814ee8 JB |
13 | @@ -621,7 +621,7 @@ def xenlight_golang_array_to_C(ty = None |
14 | s += '{0}.{1} = (*C.{2})(C.malloc(C.size_t({3}*{4})))\n'.format(cvarname,cname,ctypename, | |
a61f3252 | 15 | golenvar,golenvar) |
77814ee8 JB |
16 | s += '{0}.{1} = C.int({2})\n'.format(cvarname,clenvar,golenvar) |
17 | - s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname, | |
18 | + s += 'c{0} := (*[(1<<22)]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname, | |
19 | ctypename,cvarname,cname, | |
a61f3252 | 20 | golenvar,golenvar) |
77814ee8 JB |
21 | s += 'for i,v := range {0}.{1} {{\n'.format(govarname,goname) |
22 | @@ -631,10 +631,10 @@ def xenlight_golang_array_to_C(ty = None | |
a61f3252 JB |
23 | return s |
24 | ||
77814ee8 JB |
25 | s += 'if {0} := len({1}.{2}); {3} > 0 {{\n'.format(golenvar,govarname,goname,golenvar) |
26 | - s += '{0}.{1} = (*C.{2})(C.malloc(C.ulong({3})*C.sizeof_{4}))\n'.format(cvarname,cname,ctypename, | |
27 | + s += '{0}.{1} = (*C.{2})(C.malloc(C.size_t({3})*C.sizeof_{4}))\n'.format(cvarname,cname,ctypename, | |
a61f3252 | 28 | golenvar,ctypename) |
77814ee8 JB |
29 | s += '{0}.{1} = C.int({2})\n'.format(cvarname,clenvar,golenvar) |
30 | - s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname, | |
31 | + s += 'c{0} := (*[(1<<22)]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname, | |
32 | ctypename,cvarname,cname, | |
a61f3252 | 33 | golenvar,golenvar) |
77814ee8 | 34 | s += 'for i,v := range {0}.{1} {{\n'.format(govarname,goname) |
7adc1ec4 JB |
35 | --- xen-4.16.1/tools/golang/xenlight/xenlight.go.orig 2022-04-12 14:21:23.000000000 +0200 |
36 | +++ xen-4.16.1/tools/golang/xenlight/xenlight.go 2022-09-18 15:39:56.819306319 +0200 | |
a61f3252 JB |
37 | @@ -478,7 +478,7 @@ type StringList []string |
38 | ||
39 | func (sl *StringList) fromC(csl *C.libxl_string_list) error { | |
40 | size := int(C.libxl_string_list_length(csl)) | |
41 | - list := (*[1 << 30]*C.char)(unsafe.Pointer(csl))[:size:size] | |
42 | + list := (*[1 << 28]*C.char)(unsafe.Pointer(csl))[:size:size] | |
43 | ||
44 | *sl = make([]string, size) | |
45 | ||
46 | @@ -492,8 +492,8 @@ func (sl *StringList) fromC(csl *C.libxl | |
47 | func (sl StringList) toC(csl *C.libxl_string_list) error { | |
48 | var char *C.char | |
7adc1ec4 | 49 | size := len(sl) + 1 |
a61f3252 | 50 | - *csl = (C.libxl_string_list)(C.malloc(C.ulong(size) * C.ulong(unsafe.Sizeof(char)))) |
7adc1ec4 | 51 | - clist := (*[1 << 30]*C.char)(unsafe.Pointer(*csl))[:size:size] |
a61f3252 | 52 | + *csl = (C.libxl_string_list)(C.malloc(C.size_t(size) * C.size_t(unsafe.Sizeof(char)))) |
7adc1ec4 | 53 | + clist := (*[1 << 28]*C.char)(unsafe.Pointer(*csl))[:size:size] |
a61f3252 JB |
54 | |
55 | for i, v := range sl { | |
56 | clist[i] = C.CString(v) | |
7adc1ec4 | 57 | @@ -538,8 +538,8 @@ func (bm *Bitmap) toC(cbm *C.libxl_bitma |
a61f3252 JB |
58 | size := len(bm.bitmap) |
59 | cbm.size = C.uint32_t(size) | |
60 | if cbm.size > 0 { | |
61 | - cbm._map = (*C.uint8_t)(C.malloc(C.ulong(cbm.size) * C.sizeof_uint8_t)) | |
62 | - cs := (*[1 << 31]C.uint8_t)(unsafe.Pointer(cbm._map))[:size:size] | |
63 | + cbm._map = (*C.uint8_t)(C.malloc(C.size_t(cbm.size) * C.sizeof_uint8_t)) | |
64 | + cs := (*[1 << 30]C.uint8_t)(unsafe.Pointer(cbm._map))[:size:size] | |
65 | ||
66 | copy(cs, bm.bitmap) | |
67 | } | |
7adc1ec4 | 68 | @@ -606,7 +606,7 @@ func (ctx *Context) ListCpupool() (list |
a61f3252 JB |
69 | } |
70 | ||
71 | // Magic | |
72 | - cpupoolListSlice := (*[1 << 30]C.libxl_cpupoolinfo)(unsafe.Pointer(c_cpupool_list))[:nbPool:nbPool] | |
73 | + cpupoolListSlice := (*[1 << 26]C.libxl_cpupoolinfo)(unsafe.Pointer(c_cpupool_list))[:nbPool:nbPool] | |
74 | for i := range cpupoolListSlice { | |
75 | var info Cpupoolinfo | |
76 | _ = info.fromC(&cpupoolListSlice[i]) | |
7adc1ec4 | 77 | @@ -1082,7 +1082,7 @@ func (ctx *Context) ListDomain() (glist |
a61f3252 JB |
78 | return |
79 | } | |
80 | ||
81 | - gslice := (*[1 << 30]C.libxl_dominfo)(unsafe.Pointer(clist))[:nbDomain:nbDomain] | |
82 | + gslice := (*[1 << 24]C.libxl_dominfo)(unsafe.Pointer(clist))[:nbDomain:nbDomain] | |
83 | for i := range gslice { | |
84 | var info Dominfo | |
85 | _ = info.fromC(&gslice[i]) | |
7adc1ec4 | 86 | @@ -1106,7 +1106,7 @@ func (ctx *Context) ListVcpu(id Domid) ( |
a61f3252 JB |
87 | return |
88 | } | |
89 | ||
90 | - gslice := (*[1 << 30]C.libxl_vcpuinfo)(unsafe.Pointer(clist))[:nbVcpu:nbVcpu] | |
91 | + gslice := (*[1 << 25]C.libxl_vcpuinfo)(unsafe.Pointer(clist))[:nbVcpu:nbVcpu] | |
92 | for i := range gslice { | |
93 | var info Vcpuinfo | |
94 | _ = info.fromC(&gslice[i]) |