Daniel Martí
							
						 
						
							 
							
							
							
								
							
								f135b9fb7a 
								
							
								 
							
						 
						
							
							
								
								CI: remove the 'garble test' step  
							
							 
							
							... 
							
							
							
							It fails on all three GitHub platforms, for some reason. Something
related to permission denied errors in the module cache.
It's unclear to me why we're trying to modify the build cache. For now,
un-break master. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								4d5ad43f10 
								
							
								 
							
						 
						
							
							
								
								allow garble to test itself  
							
							 
							
							... 
							
							
							
							With this patch, 'go install && garble test' works. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								1ce5310440 
								
							
								 
							
						 
						
							
							
								
								don't garble exported struct fields  
							
							 
							
							... 
							
							
							
							They might reasonably affect the behavior of the code, such as when
encoding/json is used without tags. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								b10cce34f8 
								
							
								 
							
						 
						
							
							
								
								parse boolean flags differently from string flags  
							
							 
							
							... 
							
							
							
							This is important, because "-std -foo" and "-buildid -foo" are entirely
different cases. The first is equivalent to "-std=true -foo" since the
flag is boolean, but the second is equivalent to "-buildid=-foo" since
the flag isn't boolean.
We can keep track of which of the flags we're interested in are boolean,
which isn't much extra work. Also add unit tests; the build ID is a
hash, so it's very hard to write an end-to-end test that reliably has an
ID starting with a dash. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								ce0137fa6a 
								
							
								 
							
						 
						
							
							
								
								don't break TestMain funcs  
							
							 
							
							... 
							
							
							
							Important for 'garble test', if a package uses one. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								a6d2891a90 
								
							
								 
							
						 
						
							
							
								
								switch to gotooltest  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								39802aae19 
								
							
								 
							
						 
						
							
							
								
								update deps  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								5ccf56662a 
								
							
								 
							
						 
						
							
							
								
								don't panic with struct pointer anonymous fields  
							
							 
							
							... 
							
							
							
							While at it, make the "object of type" code shared and more robust. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								2067ad57aa 
								
							
								 
							
						 
						
							
							
								
								ensure that tests with separate packages work  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								30524ea282 
								
							
								 
							
						 
						
							
							
								
								shorten 'go test -short' run time  
							
							 
							
							... 
							
							
							
							Down from ~11s to ~7s, as we can skip some extra checks.
While at it, avoid duplicate 'go test' builds in test.txt. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								9cf7df925d 
								
							
								 
							
						 
						
							
							
								
								make "no such file" test pass on Windows  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								bee30aff41 
								
							
								 
							
						 
						
							
							
								
								add initial support for running tests  
							
							 
							
							... 
							
							
							
							For now, it mainly consists of not garbling Test* funcs, and not
garbling the _testmain.go file that will run them.
Updates #6 . 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								c23f529830 
								
							
								 
							
						 
						
							
							
								
								use real package paths when typechecking  
							
							 
							
							... 
							
							
							
							'go tool compile' receives the package path via the -p flag. This is
better than making up one.
We have to be careful with "-p main" though, as that's not part of the
standard library. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								b6d889cdcf 
								
							
								 
							
						 
						
							
							
								
								start rejecting unknown non-tool commands  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								0cc6e36414 
								
							
								 
							
						 
						
							
							
								
								split main1 with a func returning an error  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								2ad7593b06 
								
							
								 
							
						 
						
							
							
								
								README: mention filenames, and the difficulty with methods  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								6bbb2088f7 
								
							
								 
							
						 
						
							
							
								
								add a caveat about the reflect package  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								5556be7402 
								
							
								 
							
						 
						
							
							
								
								make the tool work on Windows, enable tests  
							
							 
							
							... 
							
							
							
							The tests required a few last tweaks to work on Windows. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								0058dfc12a 
								
							
								 
							
						 
						
							
							
								
								make output binaries deterministic  
							
							 
							
							... 
							
							
							
							We were leaking temporary file paths, which is no longer the case. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								22e7e4e848 
								
							
								 
							
						 
						
							
							
								
								add a bincmp builtin test command  
							
							 
							
							... 
							
							
							
							To be used soon for reproducible builds. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								ab560ff007 
								
							
								 
							
						 
						
							
							
								
								start testing on GitHub Actions  
							
							 
							
							... 
							
							
							
							No windows yet, because a few portability issues remain. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								e08dd99c1e 
								
							
								 
							
						 
						
							
							
								
								introduce a binary grep command for the tests  
							
							 
							
							... 
							
							
							
							The problem with the "grep" built-in command is that it prints the
entire data if there is an error. We don't want megabytes of binary
output for a test. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								c19a41c882 
								
							
								 
							
						 
						
							
							
								
								README: add build instructions  
							
							 
							
							... 
							
							
							
							The import path works now too. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								3f7e8add01 
								
							
								 
							
						 
						
							
							
								
								README: add a standard library caveat  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								bd13893d65 
								
							
								 
							
						 
						
							
							
								
								README: forgot to finish a sentence  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								522e0d8345 
								
							
								 
							
						 
						
							
							
								
								add README  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								63cbc01628 
								
							
								 
							
						 
						
							
							
								
								support anonymous fields better  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								a87002e662 
								
							
								 
							
						 
						
							
							
								
								don't break types implementing interfaces  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								3f35fb07f2 
								
							
								 
							
						 
						
							
							
								
								remove module info from the resulting binary  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								33f2a4bc2e 
								
							
								 
							
						 
						
							
							
								
								remove all unnecessary empty lines from garbled Go  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								aba66758ca 
								
							
								 
							
						 
						
							
							
								
								support type switches with symbolic vars  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								766bb47b82 
								
							
								 
							
						 
						
							
							
								
								support std imports  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								1fe0351517 
								
							
								 
							
						 
						
							
							
								
								garbling imported packages starts being supported  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								764af03e89 
								
							
								 
							
						 
						
							
							
								
								introduce 'garble build' shortcut  
							
							 
							
							... 
							
							
							
							This way, the user doesn't need to remember to use flags like -a and
-trimpath. Also because we might need more 'go build' flags in the
future. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								63f58242fb 
								
							
								 
							
						 
						
							
							
								
								move garble binary setup with $PATH to Setup  
							
							 
							
							... 
							
							
							
							This way, it's ready for multiple scripts. 
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								8119fa0e62 
								
							
								 
							
						 
						
							
							
								
								use readelf in a way that it prints less output  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								f4e356ab13 
								
							
								 
							
						 
						
							
							
								
								start hashing identifiers  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								f47c12caba 
								
							
								 
							
						 
						
							
							
								
								add a bit more docs  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								a670f80fe9 
								
							
								 
							
						 
						
							
							
								
								error if the user forgot -trimpath  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								f81b92a0fa 
								
							
								 
							
						 
						
							
							
								
								start enforcing the link flags -w -s  
							
							 
							
							
							
						 
						
							6 years ago  
						
					 
				
					
						
							
							
								 
								Daniel Martí
							
						 
						
							 
							
							
							
								
							
								f5f72ef626 
								
							
								 
							
						 
						
							
							
								
								initial commit  
							
							 
							
							
							
						 
						
							6 years ago