parent
							
								
									b34a7e3926
								
							
						
					
					
						commit
						db4c8e52d5
					
				@ -0,0 +1,30 @@
 | 
			
		||||
# TODO: Disallow certain kinds of runtime linknaming which break with garble.
 | 
			
		||||
 | 
			
		||||
exec garble build
 | 
			
		||||
exec ./main
 | 
			
		||||
 | 
			
		||||
[short] stop # no need to verify this with -short
 | 
			
		||||
 | 
			
		||||
go build
 | 
			
		||||
exec ./main
 | 
			
		||||
 | 
			
		||||
-- go.mod --
 | 
			
		||||
module test/main
 | 
			
		||||
 | 
			
		||||
go 1.23
 | 
			
		||||
-- linkname_runtime.go --
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import _ "unsafe"
 | 
			
		||||
 | 
			
		||||
// Note that it doesn't matter that the struct here is empty,
 | 
			
		||||
// as the linknames below only use pointers to it.
 | 
			
		||||
type moduledata struct {}
 | 
			
		||||
 | 
			
		||||
//go:linkname lastmoduledatap runtime.lastmoduledatap
 | 
			
		||||
var lastmoduledatap *moduledata
 | 
			
		||||
 | 
			
		||||
//go:linkname moduledataverify1 runtime.moduledataverify1
 | 
			
		||||
func moduledataverify1(_ *moduledata)
 | 
			
		||||
 | 
			
		||||
func main() {}
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue