1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
From d2af048099b2e53d9db01237d38271a837c48ed4 Mon Sep 17 00:00:00 2001
From: Guido Berhoerster <guido+ubports@berhoerster.name>
Date: Thu, 24 Jul 2025 09:00:03 +0200
Subject: [PATCH] Remove leftover testing code
The tests in qml_test.go were removed in c2a3c1da and the remaining
architecture-specific hacks were causing build failures on
non-arm(64)/x86(_64). They will likely not work on newer Go versions anyway.
---
qml.v1/cdata/cdata.go | 4 ---
qml.v1/cdata/cdata14_386.s | 8 -----
qml.v1/cdata/cdata14_amd64.s | 8 -----
qml.v1/cdata/cdata14_arm.s | 8 -----
qml.v1/cdata/cdata14_arm64.s | 8 -----
qml.v1/testing.go | 69 ------------------------------------
6 files changed, 105 deletions(-)
delete mode 100644 qml.v1/cdata/cdata.go
delete mode 100644 qml.v1/cdata/cdata14_386.s
delete mode 100644 qml.v1/cdata/cdata14_amd64.s
delete mode 100644 qml.v1/cdata/cdata14_arm.s
delete mode 100644 qml.v1/cdata/cdata14_arm64.s
delete mode 100644 qml.v1/testing.go
diff --git a/qml.v1/cdata/cdata.go b/qml.v1/cdata/cdata.go
deleted file mode 100644
index f66d0d3..0000000
--- a/qml.v1/cdata/cdata.go
+++ /dev/null
@@ -1,4 +0,0 @@
-// Package cdata supports the implementation of the qml package.
-package cdata
-
-func Addrs() (uintptr, uintptr)
diff --git a/qml.v1/cdata/cdata14_386.s b/qml.v1/cdata/cdata14_386.s
deleted file mode 100644
index b42f01b..0000000
--- a/qml.v1/cdata/cdata14_386.s
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "textflag.h"
-
-TEXT ·Addrs(SB),NOSPLIT,$0-8
- MOVL $runtime·main(SB), AX
- MOVL AX, ret+0(FP)
- MOVL $runtime·main_main(SB), AX
- MOVL AX, ret+8(FP)
- RET
diff --git a/qml.v1/cdata/cdata14_amd64.s b/qml.v1/cdata/cdata14_amd64.s
deleted file mode 100644
index 7fe0022..0000000
--- a/qml.v1/cdata/cdata14_amd64.s
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "textflag.h"
-
-TEXT ·Addrs(SB),NOSPLIT,$0-16
- MOVQ $runtime·main(SB), AX
- MOVQ AX, ret+0(FP)
- MOVQ $runtime·main_main(SB), AX
- MOVQ AX, ret+8(FP)
- RET
diff --git a/qml.v1/cdata/cdata14_arm.s b/qml.v1/cdata/cdata14_arm.s
deleted file mode 100644
index 4ba88c6..0000000
--- a/qml.v1/cdata/cdata14_arm.s
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "textflag.h"
-
-TEXT ·Addrs(SB),NOSPLIT,$0-8
- MOVW $runtime·main(SB), R0
- MOVW R0, ret+0(FP)
- MOVW $runtime·main_main(SB), R0
- MOVW R0, ret+4(FP)
- RET
diff --git a/qml.v1/cdata/cdata14_arm64.s b/qml.v1/cdata/cdata14_arm64.s
deleted file mode 100644
index 09ccf78..0000000
--- a/qml.v1/cdata/cdata14_arm64.s
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "textflag.h"
-
-TEXT ·Addrs(SB),NOSPLIT,$0-16
- MOVD $runtime·main(SB), R0
- MOVD R0, ret+0(FP)
- MOVD $runtime·main_main(SB), R0
- MOVD R0, ret+8(FP)
- RET
diff --git a/qml.v1/testing.go b/qml.v1/testing.go
deleted file mode 100644
index ae9d6d3..0000000
--- a/qml.v1/testing.go
+++ /dev/null
@@ -1,69 +0,0 @@
-package qml
-
-// #include <stdlib.h>
-// int mprotect(void *addr, size_t len, int prot);
-import "C"
-
-import (
- "bytes"
- "encoding/binary"
- "gitlab.com/ubports/development/core/ciborium/qml.v1/cdata"
- "reflect"
- "unsafe"
-)
-
-const pageSize = 4096
-
-func qmain() {
- Run(func() error { tmain(); return nil })
-}
-
-func tmain() { tstub() }
-func tstub() { tstub() }
-
-func SetupTesting() {
- ptr := func(f func()) uintptr { return reflect.ValueOf(f).Pointer() }
- rmain, mmain := cdata.Addrs()
- fset(rmain, mmain, ptr(qmain))
- fset(ptr(tmain), ptr(tstub), mmain)
-}
-
-const (
- protREAD = 1
- protWRITE = 2
- protEXEC = 4
-)
-
-func fset(target, old, new uintptr) {
- pageOffset := target % pageSize
- pageAddr := target - pageOffset
-
- var mem []byte
- memh := (*reflect.SliceHeader)(unsafe.Pointer(&mem))
- memh.Data = pageAddr
- memh.Len = pageSize * 2
- memh.Cap = pageSize * 2
-
- oldAddr := make([]byte, 8)
- newAddr := make([]byte, 8)
-
- binary.LittleEndian.PutUint64(oldAddr, uint64(old))
- binary.LittleEndian.PutUint64(newAddr, uint64(new))
-
- // BSD's syscall package misses Mprotect. Use cgo instead.
- C.mprotect(unsafe.Pointer(pageAddr), C.size_t(len(mem)), protEXEC|protREAD|protWRITE)
- defer C.mprotect(unsafe.Pointer(pageAddr), C.size_t(len(mem)), protEXEC|protREAD)
-
- delta := make([]byte, 4)
- for i, c := range mem[pageOffset:] {
- if c == 0xe8 && int(pageOffset)+i+5 < len(mem) {
- instrAddr := pageAddr + pageOffset + uintptr(i)
- binary.LittleEndian.PutUint32(delta, uint32(old-instrAddr-5))
- if bytes.Equal(mem[int(pageOffset)+i+1:int(pageOffset)+i+5], delta) {
- binary.LittleEndian.PutUint32(mem[int(pageOffset)+i+1:], uint32(new-instrAddr-5))
- return
- }
- }
- }
- panic("cannot setup qml package for testing")
-}
--
GitLab
|