| Server IP : 91.108.106.106 / Your IP : 216.73.217.88 Web Server : LiteSpeed System : Linux in-mum-web1677.main-hosting.eu 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64 User : u635632881 ( 635632881) PHP Version : 8.2.31 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