NetBSD Problem Report #51534

From www@NetBSD.org  Thu Oct  6 19:18:16 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 47F457A13C
	for <gnats-bugs@gnats.NetBSD.org>; Thu,  6 Oct 2016 19:18:16 +0000 (UTC)
Message-Id: <20161006191814.E3DE07A2A9@mollari.NetBSD.org>
Date: Thu,  6 Oct 2016 19:18:14 +0000 (UTC)
From: kuehro@posteo.de
Reply-To: kuehro@posteo.de
To: gnats-bugs@NetBSD.org
Subject: qemu-2.7.0 fails to build: bad register name
X-Send-Pr-Version: www-1.0

>Number:         51534
>Category:       pkg
>Synopsis:       qemu-2.7.0 fails to build: bad register name
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 06 19:20:00 +0000 2016
>Closed-Date:    Fri Nov 11 22:32:08 +0000 2016
>Last-Modified:  Fri Nov 11 22:32:08 +0000 2016
>Originator:     Kai-Uwe Eckhardt
>Release:        7.99.39 amd64 (gcc 5.4.0)
>Organization:
>Environment:
>Description:
Make fails with:


	CHK version_gen.h
  CC    optionrom/linuxboot_dma.o
linuxboot_dma.c: In function 'set_es':
linuxboot_dma.c:91:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     uint32_t seg = (uint32_t)addr >> 4;
                    ^
linuxboot_dma.c: In function 'bios_cfg_read_entry':
linuxboot_dma.c:170:44: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     access.address = cpu_to_be64((uint64_t)(uint32_t)buf);
                                            ^
linuxboot_dma.c:176:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     outl(cpu_to_be32((uint32_t)&access), BIOS_CFG_DMA_ADDR_LOW);
                      ^
linuxboot_dma.c: In function 'load_kernel':
linuxboot_dma.c:251:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     initrd_end_page = ((uint32_t)(initrd_addr + initrd_size) & -4096);
                        ^
linuxboot_dma.c:259:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         initrd_addr = (void *)((get_e801_addr() - initrd_size) & -4096);
                       ^
linuxboot_dma.c:260:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         writel_es(0x218, (uint32_t)initrd_addr);
                          ^
linuxboot_dma.c:275:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     segment_addr = ((uint32_t)setup_addr >> 4);
                     ^
/var/tmp//ccVMO00J.s: Assembler messages:
/var/tmp//ccVMO00J.s:62: Error: bad register name `%rdi'
/var/tmp//ccVMO00J.s:63: Error: bad register name `%rcx'
/var/tmp//ccVMO00J.s:64: Error: bad register name `%rdi'
/var/tmp//ccVMO00J.s:66: Error: bad register name `%rax'
/var/tmp//ccVMO00J.s:67: Error: bad register name `%rcx'
/var/tmp//ccVMO00J.s:68: Error: bad register name `%rdi'
/var/tmp//ccVMO00J.s:70: Error: bad register name `%rcx'
/var/tmp//ccVMO00J.s:71: Error: bad register name `%rcx'
/var/tmp//ccVMO00J.s:74: Error: bad register name `%rdi'
/var/tmp//ccVMO00J.s:75: Error: bad register name `%rax'
/var/tmp//ccVMO00J.s:76: Error: bad register name `%rdi'
/var/tmp//ccVMO00J.s:81: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:90: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:93: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:108: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:113: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:134: Error: bad register name `%rbx'
/var/tmp//ccVMO00J.s:137: Error: bad register name `%rsp'
/var/tmp//ccVMO00J.s:142: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:148: Error: bad register name `%rsp'
/var/tmp//ccVMO00J.s:152: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:154: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:160: Error: bad register name `%rsp)'
linuxboot_dma.c:104: Error: redundant addr32 prefix
linuxboot_dma.c:120: Error: redundant addr32 prefix
/var/tmp//ccVMO00J.s:207: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:213: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:217: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:218: Error: bad register name `%rsp)'
linuxboot_dma.c:112: Error: redundant addr32 prefix
/var/tmp//ccVMO00J.s:283: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:289: Error: bad register name `%rcx'
linuxboot_dma.c:120: Error: redundant addr32 prefix
/var/tmp//ccVMO00J.s:306: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:308: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:314: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:320: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:324: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:326: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:332: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:338: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:342: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:344: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:348: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:354: Error: bad register name `%rsp)'
/var/tmp//ccVMO00J.s:355: Error: bad register name `%rdx'
/var/tmp//ccVMO00J.s:378: Error: bad register name `%rsp'
/var/tmp//ccVMO00J.s:381: Error: bad register name `%rbx'
/var/tmp//ccVMO00J.s:392: Error: bad register name `%rdx)'
/usr/pkgsrc/emulators/qemu/work/qemu-2.7.0/rules.mak:59: recipe for target 'linuxboot_dma.o' failed
make[1]: *** [linuxboot_dma.o] Error 1
Makefile:231: recipe for target 'romsubdir-optionrom' failed
gmake: *** [romsubdir-optionrom] Error 2
*** Error code 2

Stop.
bmake[1]: stopped in /usr/pkgsrc/emulators/qemu
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/emulators/qemu

>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:
From: Kamil Rytarowski <n54@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Fri, 7 Oct 2016 11:21:55 +0200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 --fwuPapjAfxT7VIUL2rMNK6IDiRTpjKcE7
 Content-Type: multipart/mixed; boundary="iUivnd7p9e6RSxtWotneCghlfAdoejgKh"
 From: Kamil Rytarowski <n54@gmx.com>
 To: gnats-bugs@NetBSD.org
 Message-ID: <76aac58a-71eb-9e93-ad98-81e6b6084d52@gmx.com>
 Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
 References: <pr-pkg-51534@gnats.netbsd.org>
  <20161006191814.E3DE07A2A9@mollari.NetBSD.org>
  <20161006192000.AEEFE7A13C@mollari.NetBSD.org>
 In-Reply-To: <20161006192000.AEEFE7A13C@mollari.NetBSD.org>

 --iUivnd7p9e6RSxtWotneCghlfAdoejgKh
 Content-Type: text/plain; charset=windows-1252
 Content-Transfer-Encoding: quoted-printable

 Solution:
 http://netbsd.org/~kamil/patch-00011-COMPILER_WRAPPERS_APPEND_ABI.txt

 Another one for cwrappers:
 http://netbsd.org/~kamil/patch-00011-PREPEND-2.txt

 I prefer the first one.


 --iUivnd7p9e6RSxtWotneCghlfAdoejgKh--

 --fwuPapjAfxT7VIUL2rMNK6IDiRTpjKcE7
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2

 iQIcBAEBCAAGBQJX92lKAAoJEEuzCOmwLnZsV00QAK/mDpyjkPl5xoso4H3hTehA
 hjMAZYNQhNZMGgZxI/PG+1r8cg1o+9LH07xyokOjkYa2UGna03srTHXqa914/Obi
 a8b6ixIw3UIcyY54F4f5d70xnfuX05DuYF9qMPHI94fWhzDcNgt5OrkHkyO42Zkr
 XMaY6OT1xooof0pXb4jwnloWtBdNts65JM+xqMdWVb1QCJJOzG7BZCDNaMJnzofG
 Wu0kI1zK1yEtZYoKFd42yY4Og+RHbQsGxPPkEhPOYZOYmY5xzzzuMzY9y583xMoQ
 YQueUyc6nspeQSB9paIqGlrdv/IUMF35UO8XweW5//tcA5k+QgpIpprHE07i/KJa
 UYvqLCpPhPGFCergwLVSYeNKTotJUQwVp506tFEMKb9mfrHhU7z0qvskY/wzDFto
 jYXpA+CBMosN+9hl7ntxj3ORhyC2yHNNn9cKqA0wfJPqkzVnrJzlzvGUSU8nKt+i
 H8wqdFykCCFJZW5HDY6f3meNBhhsoP+6WtLFQfoiNtoE9DsRHpOvKClhPfPZ3A2g
 DZe2Fup3ivZBzzRHPE38tLndA3X0YSZJYjGiBMkAWHHrYGK747yKZ5NXt+s5LznH
 t9wFIqSTBT83Og5wzn/UrRFfpPXPSiaL1tlOfrsFldNhsIt8fV82Tn2ACk/ggI6b
 gBb+F0zuCWmAjtEHObJ2
 =ezp3
 -----END PGP SIGNATURE-----

 --fwuPapjAfxT7VIUL2rMNK6IDiRTpjKcE7--

From: Joerg Sonnenberger <joerg@bec.de>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
	kuehro@posteo.de
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Fri, 7 Oct 2016 13:51:47 +0200

 On Fri, Oct 07, 2016 at 09:30:01AM +0000, Kamil Rytarowski wrote:
 >  Solution:
 >  http://netbsd.org/~kamil/patch-00011-COMPILER_WRAPPERS_APPEND_ABI.txt
 >  
 >  Another one for cwrappers:
 >  http://netbsd.org/~kamil/patch-00011-PREPEND-2.txt
 >  
 >  I prefer the first one.

 As I said before, the first one doesn't make sense. Mixing 32bit and
 64bit ABI is quite common in packages that want to specify an explicit
 ABI in first place.

 Joerg

From: Jonathan Perkin <jperkin@joyent.com>
To: Joerg Sonnenberger <joerg@bec.de>
Cc: gnats-bugs@NetBSD.org, pkg-manager@netbsd.org, gnats-admin@netbsd.org,
	pkgsrc-bugs@netbsd.org, kuehro@posteo.de
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Fri, 7 Oct 2016 13:02:42 +0100

 * On 2016-10-07 at 12:51 BST, Joerg Sonnenberger wrote:

 > On Fri, Oct 07, 2016 at 09:30:01AM +0000, Kamil Rytarowski wrote:
 > >  Solution:
 > >  http://netbsd.org/~kamil/patch-00011-COMPILER_WRAPPERS_APPEND_ABI.txt
 > >  
 > >  Another one for cwrappers:
 > >  http://netbsd.org/~kamil/patch-00011-PREPEND-2.txt
 > >  
 > >  I prefer the first one.
 > 
 > As I said before, the first one doesn't make sense. Mixing 32bit and
 > 64bit ABI is quite common in packages that want to specify an explicit
 > ABI in first place.

 It would also permanently break platforms where the target ABI is
 different from the compiler default.

 -- 
 Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com

From: Kamil Rytarowski <n54@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Fri, 7 Oct 2016 21:16:10 +0200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 --9HaNvqsDCpRp2C6SrV1G1NUBfAxcvmicu
 Content-Type: multipart/mixed; boundary="PgreKNUoQbaTDxp6DjssaDxvab7SLStXf"
 From: Kamil Rytarowski <n54@gmx.com>
 To: gnats-bugs@NetBSD.org
 Message-ID: <6129fb39-7ff3-aaee-3d60-0336ed393846@gmx.com>
 Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
 References: <pr-pkg-51534@gnats.netbsd.org>
  <20161006191814.E3DE07A2A9@mollari.NetBSD.org>
  <20161007120501.5972D7A2A9@mollari.NetBSD.org>
 In-Reply-To: <20161007120501.5972D7A2A9@mollari.NetBSD.org>

 --PgreKNUoQbaTDxp6DjssaDxvab7SLStXf
 Content-Type: text/plain; charset=windows-1252
 Content-Transfer-Encoding: quoted-printable



 On 07.10.2016 14:05, Jonathan Perkin wrote:
 > The following reply was made to PR pkg/51534; it has been noted by GNAT=
 S.
 >=20
 > From: Jonathan Perkin <jperkin@joyent.com>
 > To: Joerg Sonnenberger <joerg@bec.de>
 > Cc: gnats-bugs@NetBSD.org, pkg-manager@netbsd.org, gnats-admin@netbsd.o=
 rg,
 > 	pkgsrc-bugs@netbsd.org, kuehro@posteo.de
 > Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
 > Date: Fri, 7 Oct 2016 13:02:42 +0100
 >=20
 >  * On 2016-10-07 at 12:51 BST, Joerg Sonnenberger wrote:
 > =20
 >  > On Fri, Oct 07, 2016 at 09:30:01AM +0000, Kamil Rytarowski wrote:
 >  > >  Solution:
 >  > >  http://netbsd.org/~kamil/patch-00011-COMPILER_WRAPPERS_APPEND_ABI=
 =2Etxt
 >  > > =20
 >  > >  Another one for cwrappers:
 >  > >  http://netbsd.org/~kamil/patch-00011-PREPEND-2.txt
 >  > > =20
 >  > >  I prefer the first one.
 >  >=20
 >  > As I said before, the first one doesn't make sense. Mixing 32bit and=

 >  > 64bit ABI is quite common in packages that want to specify an explic=
 it
 >  > ABI in first place.
 > =20
 >  It would also permanently break platforms where the target ABI is
 >  different from the compiler default.
 > =20
 >  --=20
 >  Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com
 > =20
 >=20

 1. qemu hardcodes cpu flags in its Makefiles
 2. changing from append to prepend is no-operation for qemu
 3. changing from append to prepend might create new hard to debug issues
 (like ABI mismatch) in fragile makefiles as the last -mABI wins and it
 won't be corrected

 This is why I prefer to let some software to have specified/injected
 ${_COMPILER_ABI_FLAG.${ABI}} where needed. And my '-1" patch must be
 extended to pass ${_COMPILER_ABI_FLAG.${ABI}} accordingly. Changing
 things to prepend just hides the issue. For now just qemu is affected
 and I wouldn't reinvent new way to inject -mABI for every package for
 singular exceptions.


 --PgreKNUoQbaTDxp6DjssaDxvab7SLStXf--

 --9HaNvqsDCpRp2C6SrV1G1NUBfAxcvmicu
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2

 iQIcBAEBCAAGBQJX9/SDAAoJEEuzCOmwLnZsptAQAI11KonQ93QUwBOyFhRQwjNS
 LeZElV/FBSLMF+juAPevG7fAoBkVBGuJe1FgAif+2bVpVahVo/0SftLi5bUi2q/f
 1/x8Fw+Bi2muUOjDf9RDnI7yDSHzrtRinf7oCWBsGYJqSg0tJU235I63j7hc/Au7
 MxnlNwYZ1MBKnq7laoL7y/2wP2gYm68YMV6klBtyT5ha6HyOiE9xdgCKrvX23nSf
 Q/765yoGY4uzouHRb+dyQOjhU3Qm4ugtcWXO1t/sEnx5aObY5rB9QOi37qea/0Hz
 BoRbtpjWdtwpylFuz8cO6Jr8WZfPskBU7fCcuCgdxHevbhS5nfVm07nw+ouk2WDo
 bZ5XECkkDhlp2r0Yftk32hqB28y/pVLGUxyzI/rQ72lm3FrFydIm0vtWXtILK/6p
 W2dJ3pcRGvB7u1+YjfvmlpFtzug91zHQGHZ5z+dz8PKbImVglx3/zs45V/+JbDm9
 M5mu5Msm9TUxlA1LidM3+uCPHyjHyXMRWxbAE1XOVtzg5wy/WRRsBZIyR2ZX0tVV
 DRelmVNb+tKyMfoimlRo0vXMFRSrz2V+PiRczXU3Cuvv7GiiqVhaOCxGWCN2GhPq
 ztRUGUXq+rQkIWPSlO0k6yyT8vTNVZbDc0x0qO6f+9oRS4NdaADIoNdgq9pCmgo+
 kb3xtuqhy+QBUp90cP5+
 =++VV
 -----END PGP SIGNATURE-----

 --9HaNvqsDCpRp2C6SrV1G1NUBfAxcvmicu--

From: Joerg Sonnenberger <joerg@bec.de>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
	kuehro@posteo.de
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Fri, 7 Oct 2016 22:06:48 +0200

 On Fri, Oct 07, 2016 at 07:20:00PM +0000, Kamil Rytarowski wrote:
 >  2. changing from append to prepend is no-operation for qemu

 That's rather obviously wrong as the patch wouldn't work if there was no
 difference.

 >  3. changing from append to prepend might create new hard to debug issues
 >  (like ABI mismatch) in fragile makefiles as the last -mABI wins and it
 >  won't be corrected

 This is exactly the intended goal. If a package explicitly specifies an
 ABI, it should win. That's the whole point of the proposal to move to
 prepend.

 >  This is why I prefer to let some software to have specified/injected
 >  ${_COMPILER_ABI_FLAG.${ABI}} where needed. And my '-1" patch must be
 >  extended to pass ${_COMPILER_ABI_FLAG.${ABI}} accordingly. Changing
 >  things to prepend just hides the issue. For now just qemu is affected
 >  and I wouldn't reinvent new way to inject -mABI for every package for
 >  singular exceptions.

 qemu needs special help because it wants to build a BIOS image, which
 has special ABI requirements. The *normal* qemu binary is still supposed
 to have the *normal* pkgsrc ABI.

 Joerg

From: Kamil Rytarowski <n54@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Fri, 7 Oct 2016 22:24:41 +0200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 --jQqjliatJ4KqMe5MLf4CifjIpNvjsR0S6
 Content-Type: multipart/mixed; boundary="90JSrRx1o971x4D8OVav1kfmOpHI6OeEs"
 From: Kamil Rytarowski <n54@gmx.com>
 To: gnats-bugs@NetBSD.org
 Message-ID: <5b7cd034-9b91-0479-b781-5314ea8e297c@gmx.com>
 Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
 References: <pr-pkg-51534@gnats.netbsd.org>
  <20161006191814.E3DE07A2A9@mollari.NetBSD.org>
  <20161007201001.AF4D57A2B5@mollari.NetBSD.org>
 In-Reply-To: <20161007201001.AF4D57A2B5@mollari.NetBSD.org>

 --90JSrRx1o971x4D8OVav1kfmOpHI6OeEs
 Content-Type: text/plain; charset=windows-1252
 Content-Transfer-Encoding: quoted-printable



 On 07.10.2016 22:10, Joerg Sonnenberger wrote:
 > The following reply was made to PR pkg/51534; it has been noted by GNAT=
 S.
 >=20
 > From: Joerg Sonnenberger <joerg@bec.de>
 > To: gnats-bugs@NetBSD.org
 > Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.=
 org,
 > 	kuehro@posteo.de
 > Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
 > Date: Fri, 7 Oct 2016 22:06:48 +0200
 >=20
 >  On Fri, Oct 07, 2016 at 07:20:00PM +0000, Kamil Rytarowski wrote:
 >  >  2. changing from append to prepend is no-operation for qemu
 > =20
 >  That's rather obviously wrong as the patch wouldn't work if there was =
 no
 >  difference.
 > =20
 >  >  3. changing from append to prepend might create new hard to debug i=
 ssues
 >  >  (like ABI mismatch) in fragile makefiles as the last -mABI wins and=
  it
 >  >  won't be corrected
 > =20
 >  This is exactly the intended goal. If a package explicitly specifies a=
 n
 >  ABI, it should win. That's the whole point of the proposal to move to
 >  prepend.
 > =20
 >  >  This is why I prefer to let some software to have specified/injecte=
 d
 >  >  ${_COMPILER_ABI_FLAG.${ABI}} where needed. And my '-1" patch must b=
 e
 >  >  extended to pass ${_COMPILER_ABI_FLAG.${ABI}} accordingly. Changing=

 >  >  things to prepend just hides the issue. For now just qemu is affect=
 ed
 >  >  and I wouldn't reinvent new way to inject -mABI for every package f=
 or
 >  >  singular exceptions.
 > =20
 >  qemu needs special help because it wants to build a BIOS image, which
 >  has special ABI requirements. The *normal* qemu binary is still suppos=
 ed
 >  to have the *normal* pkgsrc ABI.
 > =20
 >  Joerg
 > =20
 >=20

 This is correct. Prepending -mABI doesn't help, it will break on
 customized pkgsrc ABI, as configure will pickup its own ABI and enforce i=
 t.


 --90JSrRx1o971x4D8OVav1kfmOpHI6OeEs--

 --jQqjliatJ4KqMe5MLf4CifjIpNvjsR0S6
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2

 iQIcBAEBCAAGBQJX+ASQAAoJEEuzCOmwLnZs3RUP/2Us4BTIYHvLchnEoBsSUHrm
 3FCLM3lz0wG0xKZwTof1pwtwTU4Jd9pi2L9aUlktefQ9D+WkPNxUFkfbTf3MLcD9
 3zmGz84mVsMkzXUDm+NDF7EiTFtPPwWDIOQcVr2FXQRsxOtx7qRhAEQ6XIinB6Th
 1SbyMc/hcKl10ZY/kvy3T2tAi4LlINXDAbLjEXcuuUWzHXf0/MRWLjsEYSsH6Clx
 qZVkp1JsMgE6dR//87lhWxNwE+InD12wE00z+9o8Elh71cCnJ52LN4DzfCzLrURb
 8TZokJA2u7K2p9zMsdbOpKAHM56qce6NLj11NaPlsOsKjYKTyuj1RX6F6dQlgzig
 6MczFk0SzaLUmRZlxJ11yeXMTpI90+PA+1i8FnwKFJi/vyyS/a5/tHXbTEyrqa//
 AhW663L99RL0j89L6QHqQHuqFJQL43Oo12tTLa+MGbwUF9cZUpHy/xQXLn6Q95rp
 et+XIP1K+stLwJvRbpvuD2d+hm64291QKw5IpjD9unoW4mbnefmxIg+STgOqJpoZ
 OmG2pNIQ19u0yOypyEjdV7vnlhhQcjzYoDZYsLCyRKWWxv/J8M3r5hsvd86zwxP2
 0eHWKDFZ9sxqrjLYu8GxIqAHOQdmSnASBgPHQCiGichOulDwqJsPqWk+9H9F7K4k
 oIv6NNOmg+y1JqznJKRB
 =1Yok
 -----END PGP SIGNATURE-----

 --jQqjliatJ4KqMe5MLf4CifjIpNvjsR0S6--

From: Kamil Rytarowski <n54@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Fri, 7 Oct 2016 23:27:28 +0200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 --9AjEugXFqjgLlJMA4llAheVahVwCEqn4U
 Content-Type: multipart/mixed; boundary="NGDn2KVLL6UouUkAGoixqSKpQitLMVtJ0"
 From: Kamil Rytarowski <n54@gmx.com>
 To: gnats-bugs@NetBSD.org
 Message-ID: <09106280-5293-a272-bc56-cadb9efb4c40@gmx.com>
 Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
 References: <pr-pkg-51534@gnats.netbsd.org>
  <20161006191814.E3DE07A2A9@mollari.NetBSD.org>
  <20161007201001.AF4D57A2B5@mollari.NetBSD.org>
  <5b7cd034-9b91-0479-b781-5314ea8e297c@gmx.com>
 In-Reply-To: <5b7cd034-9b91-0479-b781-5314ea8e297c@gmx.com>

 --NGDn2KVLL6UouUkAGoixqSKpQitLMVtJ0
 Content-Type: text/plain; charset=windows-1252
 Content-Transfer-Encoding: quoted-printable



 On 07.10.2016 22:24, Kamil Rytarowski wrote:
 > =20
 >>  This is exactly the intended goal. If a package explicitly specifies =
 an
 >>  ABI, it should win. That's the whole point of the proposal to move to=

 >>  prepend.
 >> =20

 I missed this part in E-mail, I see so let it be. Thanks


 --NGDn2KVLL6UouUkAGoixqSKpQitLMVtJ0--

 --9AjEugXFqjgLlJMA4llAheVahVwCEqn4U
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2

 iQIcBAEBCAAGBQJX+BNNAAoJEEuzCOmwLnZsfjsP/37N+gySwvVqGOiTXqD/7HmR
 xfeP1j1sKMTSoCP6TghOnrdZmfC0ZKRrBaEVFvtdTSWQVlAxqoeLa3WRUefEy+bw
 2vdrQ3dkYB1bszeo9eU494Xxf9smTJEuKxaYqsi//VNL2+1Yo4jHOtWKu4SOJpjE
 Jvqn3B09p8A0/bCPZRHHyTTE8EaGm/RsOufQfsMrQGltx9Q5pLch/SMw4IslykTg
 Uz/ycrKbKfT7wm3oMVRN5qLtv7oP2sps4NXSAI8LhWQmIjI/y/kthv+mI0Rq5lEQ
 uCSWvM8XDJ3oDUGWxJICg4N4gg8vhxWnmt9+kOO4lQpjj8hx4Z17OMuI6lyAFySv
 W9dg4EpPiFsdSXHiShOIh6r0b/FqgecK+2KIKoAIUwc93dRiHHcaSCGDZTeV1T0G
 OFcvBOv+YxCkk21dIUOuhFE+88yis/1FVzq1gvWVJozSsTky3R+GeNqmcifiZDmG
 R9gaCToKAUnMc4w3LxfbNxQAo0QKviahmVjbZvPOszcwO6tX/FyAHsQlrDK/k+E2
 gbQLH+B90MUSuotc4sWskGHa81yTFt6XGZ4Gx+cYzBRhz4cKswKxp1LUqO77XUCQ
 yKtnMe39EZ8RoO/qKQR5AB6w8qhcOpO9irBbAQIhfuCAmteRFL02GoCXbsbRm9y2
 2qjSyUL6wATD9tOrmVHk
 =vM01
 -----END PGP SIGNATURE-----

 --9AjEugXFqjgLlJMA4llAheVahVwCEqn4U--

From: kuehro@posteo.de
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/51534: qemu-2.7.0 fails to build: bad register name
Date: Sun, 09 Oct 2016 13:42:24 +0200

 I was able to build a working qemu with these steps:

 1) bmake install  until it stops with the error described in the PR.

 2) cd work/qemu-2.7.0/pc-bios/optionrom
      gmake

 Leading to this output:

    CC    linuxboot_dma.o
    Building linuxboot_dma.img
    Building linuxboot_dma.raw
    Signing linuxboot_dma.bin
    AS    kvmvapic.o
    Building kvmvapic.img
    Building kvmvapic.raw
    Signing kvmvapic.bin

 3) cd /usr/pkgsrc/emulators/qemu
      bmake install

 Binary tested with alpine Linux x86 and x86_64.

 /etc/mk.conf contains this (see PR 51479, where SSP=all failed to 
 build):


 PKG_DEVELOPER=	yes
 PKGSRC_MK_PIE=	yes
 PKGSRC_USE_SSP= strong
 PKGSRC_USE_FORTIFY= yes
 PKGSRC_USE_RELRO= yes


State-Changed-From-To: open->feedback
State-Changed-By: maya@NetBSD.org
State-Changed-When: Thu, 10 Nov 2016 21:19:02 +0000
State-Changed-Why:
Does it build normally now? (ignore ssp issue- there's pkg/51479 for it)


From: kuehro@posteo.de
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org, gnats-admin@netbsd.org,
 maya@netbsd.org
Subject: Re: pkg/51534 (qemu-2.7.0 fails to build: bad register name)
Date: Fri, 11 Nov 2016 17:15:11 +0100

 > Does it build normally now? (ignore ssp issue- there's pkg/51479 for 
 > it)

 No, fails as before with slightly different error messages:

 linuxboot_dma.c:260:26: warning: cast from pointer to integer of 
 different size [-Wpointer-to-int-cast]
           writel_es(0x218, (uint32_t)initrd_addr);
                            ^
 linuxboot_dma.c:275:21: warning: cast from pointer to integer of 
 different size [-Wpointer-to-int-cast]
       segment_addr = ((uint32_t)setup_addr >> 4);
                       ^
 /var/tmp//ccOhkhbR.s: Assembler messages:
 /var/tmp//ccOhkhbR.s:56: Error: bad register name `%rsp'
 /var/tmp//ccOhkhbR.s:59: Error: bad register name `%rip)'
 /var/tmp//ccOhkhbR.s:60: Error: bad register name `%rax'
 /var/tmp//ccOhkhbR.s:68: Error: bad register name `%rdi'
 /var/tmp//ccOhkhbR.s:69: Error: bad register name `%rcx'
 /var/tmp//ccOhkhbR.s:70: Error: bad register name `%rdi'
 /var/tmp//ccOhkhbR.s:72: Error: bad register name `%rax'
 /var/tmp//ccOhkhbR.s:73: Error: bad register name `%rcx'
 /var/tmp//ccOhkhbR.s:74: Error: bad register name `%rdi'
 /var/tmp//ccOhkhbR.s:76: Error: bad register name `%rcx'
 /var/tmp//ccOhkhbR.s:77: Error: bad register name `%rcx'
 /var/tmp//ccOhkhbR.s:80: Error: bad register name `%rdi'
 /var/tmp//ccOhkhbR.s:81: Error: bad register name `%rax'
 /var/tmp//ccOhkhbR.s:82: Error: bad register name `%rdi'
 /var/tmp//ccOhkhbR.s:87: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:96: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:99: Error: bad register name `%rsp'
 /var/tmp//ccOhkhbR.s:114: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:119: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:123: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:124: Error: bad register name `%rip)'
 /var/tmp//ccOhkhbR.s:126: Error: bad register name `%rsp'
 /var/tmp//ccOhkhbR.s:151: Error: bad register name `%rbx'
 /var/tmp//ccOhkhbR.s:154: Error: bad register name `%rsp'
 /var/tmp//ccOhkhbR.s:157: Error: bad register name `%rip)'
 /var/tmp//ccOhkhbR.s:158: Error: bad register name `%rax'
 /var/tmp//ccOhkhbR.s:163: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:169: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:173: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:175: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:181: Error: bad register name `%rsp)'
 linuxboot_dma.c:104: Error: redundant addr32 prefix
 linuxboot_dma.c:120: Error: redundant addr32 prefix
 /var/tmp//ccOhkhbR.s:228: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:234: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:238: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:239: Error: bad register name `%rsp)'
 linuxboot_dma.c:112: Error: redundant addr32 prefix
 /var/tmp//ccOhkhbR.s:304: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:310: Error: bad register name `%rcx'
 linuxboot_dma.c:120: Error: redundant addr32 prefix
 /var/tmp//ccOhkhbR.s:327: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:329: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:335: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:341: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:345: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:347: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:353: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:359: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:363: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:365: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:369: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:375: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:376: Error: bad register name `%rdx'
 /var/tmp//ccOhkhbR.s:399: Error: bad register name `%rsp)'
 /var/tmp//ccOhkhbR.s:400: Error: bad register name `%rip)'
 /var/tmp//ccOhkhbR.s:403: Error: bad register name `%rsp'
 /var/tmp//ccOhkhbR.s:406: Error: bad register name `%rbx'
 /var/tmp//ccOhkhbR.s:417: Error: bad register name `%rdx)'
 /usr/pkgsrc/emulators/qemu/work/qemu-2.7.0/rules.mak:59: recipe for 
 target 'linuxboot_dma.o' failed
 make[1]: *** [linuxboot_dma.o] Error 1
 Makefile:231: recipe for target 'romsubdir-optionrom' failed
 gmake: *** [romsubdir-optionrom] Error 2
 *** Error code 2

 Stop.
 bmake[1]: stopped in /usr/pkgsrc/emulators/qemu
 *** Error code 1

 Stop.
 bmake: stopped in /usr/pkgsrc/emulators/qemu

From: kuehro@posteo.de
To: coypu@sdf.org
Cc: gnats-bugs@netbsd.org
Subject: Re: pkg/51534 (qemu-2.7.0 fails to build: bad register name)
Date: Fri, 11 Nov 2016 23:25:22 +0100

 > Fix should've been to pkgsrc/mk with pkgsrc/mk/compiler.mk r1.83
 > just to be sure, you have this, and then clean build, right?

   Sorry, I just updated qemu. Now it builds and works ok. Thanks a lot.

 Kai-Uwe

State-Changed-From-To: feedback->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Fri, 11 Nov 2016 22:32:08 +0000
State-Changed-Why:
confirmed fixed after clearing things up


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.