]> git.pld-linux.org Git - packages/xen.git/blob - xen-golang-32bit.patch
- updated to 4.14.3; stick to python2 for now
[packages/xen.git] / xen-golang-32bit.patch
1 Adjust types and sizes for 32-bit pointers
2 --- xen-4.14.3/tools/golang/xenlight/gengotypes.py.orig 2021-09-10 14:30:40.000000000 +0200
3 +++ xen-4.14.3/tools/golang/xenlight/gengotypes.py      2021-11-07 17:39:55.516237472 +0100
4 @@ -426,7 +426,7 @@
5      s += 'x.{0} = nil\n'.format(goname)
6      s += 'if n := int(xc.{0}); n > 0 {{\n'.format(clenvar)
7      s += '{0} := '.format(cslice)
8 -    s +='(*[1<<28]C.{0})(unsafe.Pointer(xc.{1}))[:n:n]\n'.format(ctypename, cname)
9 +    s +='(*[(1<<22)]C.{0})(unsafe.Pointer(xc.{1}))[:n:n]\n'.format(ctypename, cname)
10      s += 'x.{0} = make([]{1}, n)\n'.format(goname, gotypename)
11      s += 'for i, v := range {0} {{\n'.format(cslice)
12  
13 @@ -603,7 +603,7 @@
14          s += 'xc.{0} = (*C.{1})(C.malloc(C.size_t({2}*{3})))\n'.format(cname,ctypename,
15                                                                     golenvar,golenvar)
16          s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
17 -        s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
18 +        s += 'c{0} := (*[(1<<22)]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
19                                                                        ctypename,cname,
20                                                                        golenvar,golenvar)
21          s += 'for i,v := range x.{0} {{\n'.format(goname)
22 @@ -613,10 +613,10 @@
23          return s
24  
25      s += 'if {0} := len(x.{1}); {2} > 0 {{\n'.format(golenvar,goname,golenvar)
26 -    s += 'xc.{0} = (*C.{1})(C.malloc(C.ulong({2})*C.sizeof_{3}))\n'.format(cname,ctypename,
27 +    s += 'xc.{0} = (*C.{1})(C.malloc(C.size_t({2})*C.sizeof_{3}))\n'.format(cname,ctypename,
28                                                                     golenvar,ctypename)
29      s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
30 -    s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
31 +    s += 'c{0} := (*[(1<<22)]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
32                                                                           ctypename,cname,
33                                                                           golenvar,golenvar)
34      s += 'for i,v := range x.{0} {{\n'.format(goname)
35 --- xen-4.14.3/tools/golang/xenlight/xenlight.go.orig   2021-09-10 14:30:40.000000000 +0200
36 +++ xen-4.14.3/tools/golang/xenlight/xenlight.go        2021-11-07 17:46:36.600731277 +0100
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
49         size := len(sl)
50 -       *csl = (C.libxl_string_list)(C.malloc(C.ulong(size) * C.ulong(unsafe.Sizeof(char))))
51 -       clist := (*[1 << 30]*C.char)(unsafe.Pointer(csl))[:size:size]
52 +       *csl = (C.libxl_string_list)(C.malloc(C.size_t(size) * C.size_t(unsafe.Sizeof(char))))
53 +       clist := (*[1 << 28]*C.char)(unsafe.Pointer(csl))[:size:size]
54  
55         for i, v := range sl {
56                 clist[i] = C.CString(v)
57 @@ -537,8 +537,8 @@ func (bm *Bitmap) toC(cbm *C.libxl_bitma
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         }
68 @@ -605,7 +605,7 @@ func (Ctx *Context) ListCpupool() (list
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])
77 @@ -1081,7 +1081,7 @@ func (Ctx *Context) ListDomain() (glist
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])
86 @@ -1105,7 +1105,7 @@ func (Ctx *Context) ListVcpu(id Domid) (
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])
This page took 0.033926 seconds and 3 git commands to generate.