| Server IP : 91.108.123.119 / Your IP : 216.73.217.85 Web Server : LiteSpeed System : Linux lt-bnk-web922.main-hosting.eu 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64 User : u970350538 ( 970350538) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/golang/1.22.0/src/ |
Upload File : |
#!/usr/bin/env bash # Copyright 2016 The Go Authors. All rights reserved. # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. # A simple script to compare differences between # assembly listings for packages built with different # compiler flags. It is useful to inspect the impact # of a compiler change across all std lib packages. # # The script builds the std library (make.bash) once # with FLAGS1 and once with FLAGS2 and compares the # "go build <pkg>" assembly output for each package # and lists the packages with differences. # # For packages with differences it leaves files named # old.txt and new.txt. FLAGS1="-newexport=0" FLAGS2="-newexport=1" echo echo echo "1a) clean build using $FLAGS1" (export GO_GCFLAGS="$FLAGS1"; sh make.bash) echo echo echo "1b) save go build output for all packages" for pkg in `go list std`; do echo $pkg DIR=$GOROOT/src/$pkg go build -gcflags "$FLAGS1 -S" -o /dev/null $pkg &> $DIR/old.txt done echo echo echo "2a) clean build using $FLAGS2" (export GO_GCFLAGS="$FLAGS2"; sh make.bash) echo echo echo "2b) save go build output for all packages" for pkg in `go list std`; do echo $pkg DIR=$GOROOT/src/$pkg go build -gcflags "$FLAGS2 -S" -o /dev/null $pkg &> $DIR/new.txt done echo echo echo "3) compare assembly files" for pkg in `go list std`; do DIR=$GOROOT/src/$pkg if cmp $DIR/old.txt $DIR/new.txt &> /dev/null then rm $DIR/old.txt $DIR/new.txt else echo "==> $DIR" fi done