Date: Sat, 1 Jul 2023 20:43:33 +0100 From: Jessica Clarke <jrtc27@freebsd.org> To: John Baldwin <jhb@FreeBSD.org> Cc: "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org> Subject: Re: git: da3096a92d2c - main - rdrand_rng: Build with -fPIC on i386 when using GCC. Message-ID: <43225A5D-CBC7-4F1E-9B28-78A5A703FB56@freebsd.org> In-Reply-To: <202307011923.361JNMtJ070354@gitrepo.freebsd.org> References: <202307011923.361JNMtJ070354@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1 Jul 2023, at 20:23, John Baldwin <jhb@FreeBSD.org> wrote: >=20 > The branch main has been updated by jhb: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dda3096a92d2c1c06b25613444d9b3694= 75d50321 >=20 > commit da3096a92d2c1c06b25613444d9b369475d50321 > Author: John Baldwin <jhb@FreeBSD.org> > AuthorDate: 2023-07-01 19:23:00 +0000 > Commit: John Baldwin <jhb@FreeBSD.org> > CommitDate: 2023-07-01 19:23:00 +0000 >=20 > rdrand_rng: Build with -fPIC on i386 when using GCC. >=20 > ld.bfd requires an R_386_PLT32 relocation for calls to ifuncs > rather than R_386_PC32. (lld permits R_386_PC32.) That=E2=80=99s odd and doesn=E2=80=99t quite seem a sufficient = explanation on its own? PDEs can have IFUNCs just fine today, so why is it different for kernel modules here? Jess > Reviewed by: kib > Differential Revision: https://reviews.freebsd.org/D40811 > --- > sys/modules/rdrand_rng/Makefile | 5 +++++ > 1 file changed, 5 insertions(+) >=20 > diff --git a/sys/modules/rdrand_rng/Makefile = b/sys/modules/rdrand_rng/Makefile > index 7f14c080a260..3fdecd64f78f 100644 > --- a/sys/modules/rdrand_rng/Makefile > +++ b/sys/modules/rdrand_rng/Makefile > @@ -8,4 +8,9 @@ SRCS+=3D bus_if.h device_if.h >=20 > CFLAGS+=3D -I${SRCTOP}/sys >=20 > +# ld.bfd doesn't support ifuncs invoked non-PIC > +.if ${MACHINE_CPUARCH} =3D=3D "i386" > +CFLAGS.gcc=3D -fPIC > +.endif > + > .include <bsd.kmod.mk>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43225A5D-CBC7-4F1E-9B28-78A5A703FB56>