Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Feb 2013 17:48:03 +0100
From:      Florian Smeets <flo@smeets.im>
To:        joerg_surmann <joerg_surmann@snafu.de>, Alex Dupre <ale@FreeBSD.org>
Cc:        ports@freebsd.org
Subject:   Re: update failed for security/nss-3.14.3
Message-ID:  <5124FE43.9070307@smeets.im>
In-Reply-To: <5124D493.4020202@snafu.de>
References:  <51249B2A.6000600@snafu.de> <5124A303.6070605@FreeBSD.org> <5124D493.4020202@snafu.de>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2UTJVHQLLQAWLNIENXSWG
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

> Am 20.02.2013 11:18, schrieb Alex Dupre:
>> joerg_surmann wrote:
>>> hi all,
>=20
>>> can't update security/nss.
>=20
>> INTEL_GCM option of nss is quite flawed.
>=20
>> ifdef INTEL_GCM
>> #
>> # GCM binary needs -mssse3
>> #
>> $(OBJDIR)/$(PROG_PREFIX)intel-gcm-wrap$(OBJ_SUFFIX): CFLAGS +=3D -msss=
e3
>=20
>> # The integrated assembler in Clang 3.2 does not support % in the
>> # expression of a .set directive. intel-gcm.s uses .set to give
>> # symbolic names to registers, for example,
>> # .set Htbl, %rdi
>> # So we can't use Clang's integrated assembler with intel-gcm.s.
>> ifneq (,$(findstring clang,$(AS)))
>> $(OBJDIR)/$(PROG_PREFIX)intel-gcm$(OBJ_SUFFIX): ASFLAGS +=3D
>> -no-integrated-as
>> endif
>> endif
>=20
>=20
>> It requires -mssse3 flag, so it cannot be built on 8.x with base gcc:
>=20
>> cc1: error: unrecognized command line option "-mssse3"
>=20
>> It uses assembly code not recognized by clang.
>=20
>> I'd say we should disable it to start.
>=20

It works fine on anything >=3D 8.3. The problem seems to be that people
installed binutils on say 9.0 and have them installed in

/usr/local/x86_64-portbld-freebsd9.0

But they upgraded to 9.1 so the port looks for them in

/usr/local/x86_64-portbld-freebsd9.1

the thing is that -B to gcc falls back to "well known paths" in case it
doesn't find anything useful in the specified path (this is even
documented). Thus using our base linker that's not able to deal with the
new instructions.

I will probably commit something like this later.

Index: Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- Makefile	(revision 312608)
+++ Makefile	(working copy)
@@ -54,7 +54,11 @@

 .if ${ARCH} =3D=3D amd64
 USE_BINUTILS=3D	# intel-gcm.s
+.if exists(${LOCALBASE}/${CONFIGURE_TARGET:S/amd64/x86_64/}/bin)
 CFLAGS+=3D	-B${LOCALBASE}/${CONFIGURE_TARGET:S/amd64/x86_64/}/bin
+.else
+IGNORE=3D		please reinstall devel/binutils and try again
+.endif
 .if defined(WITH_CLANG_IS_CC) || ${CC:Mcc} && ${OSVERSION} > 1000023
 EXTRA_PATCHES+=3D	${FILESDIR}/extra-bug835050
 .endif

Florian


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

-----BEGIN PGP SIGNATURE-----

iEYEARECAAYFAlEk/kMACgkQapo8P8lCvwlDcQCfZUQkDU4TPrJWdGdyb6RKd187
/C4AoIZhLl7HWzPSRGMyo1Y0i+lwleNv
=RbiA
-----END PGP SIGNATURE-----

------enig2UTJVHQLLQAWLNIENXSWG--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5124FE43.9070307>