Server IP : 2a02:4780:11:1359:0:1d43:a566:2 / Your IP : 216.73.216.161 Web Server : LiteSpeed System : Linux in-mum-web1259.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64 User : u490972518 ( 490972518) PHP Version : 5.6.40 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF Directory (0755) : /home/../opt/cloudlinux-linksafe/../golang/1.19.4/src/ |
[ Home ] | [ C0mmand ] | [ 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. # # It leaves and old.txt and new.txt file in the package # directories for the packages with differences. 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