Package: golang Version: 2:1.5.1-4 Severity: normal Tags: upstream patch Whenever gccgo is used via the /usr/bin/go command, it calls "ar cru ...", which causes this warning: $ go build -compiler=gccgo # github.com/ecc1/primes ar: `u' modifier ignored since `D' is the default (see `U')
Details: $ go build -x -compiler=gccgo WORK=/tmp/go-build529072590 mkdir -p $WORK/github.com/ecc1/primes/_obj/ mkdir -p $WORK/github.com/ecc1/primes/_obj/exe/ cd /home/ecc/go/src/github.com/ecc1/primes /usr/bin/gccgo -I $WORK -c -g -m64 -fgo-relative-import-path=_/home/ecc/go/src/github.com/ecc1/primes -o $WORK/github.com/ecc1/primes/_obj/_go_.o ./primes.go ar cru $WORK/github.com/ecc1/libprimes.a $WORK/github.com/ecc1/primes/_obj/_go_.o # github.com/ecc1/primes ar: `u' modifier ignored since `D' is the default (see `U') cd . /usr/bin/gccgo -o $WORK/github.com/ecc1/primes/_obj/exe/a.out $WORK/github.com/ecc1/primes/_obj/_go_.o -Wl,-( -m64 -Wl,-) mv $WORK/github.com/ecc1/primes/_obj/exe/a.out primes The attached patch simply uses "ar cr" instead. The extra I/O for unchanged archive members is probably negligible. -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (500, 'testing'), (400, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.2.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages gccgo depends on: ii cpp 4:5.2.1-8 ii gcc 4:5.2.1-8 ii gccgo-5 5.2.1-23 gccgo recommends no packages. Versions of packages gccgo suggests: pn gccgo-multilib <none> -- no debconf information -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (500, 'testing'), (400, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.2.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages golang depends on: ii golang-doc 2:1.5.1-4 ii golang-go 2:1.5.1-4 ii golang-src 2:1.5.1-4 golang recommends no packages. golang suggests no packages. -- no debconf information
--- src/cmd/go/build.go~ 2015-09-08 21:24:01.000000000 -0400 +++ src/cmd/go/build.go 2015-12-05 14:08:48.360369642 -0500 @@ -2448,7 +2448,7 @@ for _, f := range ofiles { absOfiles = append(absOfiles, mkAbs(objDir, f)) } - return b.run(p.Dir, p.ImportPath, nil, "ar", "cru", mkAbs(objDir, afile), absOfiles) + return b.run(p.Dir, p.ImportPath, nil, "ar", "cr", mkAbs(objDir, afile), absOfiles) } func (tools gccgoToolchain) ld(b *builder, root *action, out string, allactions []*action, mainpkg string, ofiles []string) error {