On Thu, Nov 01, 2018 at 08:57:24AM -0400, Charlie Li wrote: > On 29/10/2018 20:11, Konstantin Belousov wrote: > > Author: kib > > Date: Tue Oct 30 00:11:30 2018 > > New Revision: 339898 > > URL: https://svnweb.freebsd.org/changeset/base/339898 > > > > Log: > > Convert amd64_get/set_fs/gsbase to ifunc. > > > > Note that this is the first use of ifuncs in our userspace. > > > > Sponsored by: The FreeBSD Foundation > > MFC after: 1 month > > > > Deleted: > > head/lib/libc/amd64/sys/amd64_detect_rdfsgsbase.c > > head/lib/libc/amd64/sys/amd64_detect_rdfsgsbase.h > > Modified: > > head/lib/libc/amd64/sys/Makefile.inc > > head/lib/libc/amd64/sys/amd64_get_fsbase.c > > head/lib/libc/amd64/sys/amd64_get_gsbase.c > > head/lib/libc/amd64/sys/amd64_set_fsbase.c > > head/lib/libc/amd64/sys/amd64_set_gsbase.c > > > Using LLVM 7 to build world, fails: > > --- amd64_get_fsbase.o --- > /usr/src/lib/libc/amd64/sys/amd64_get_fsbase.c:60:1: error: ifunc > resolver function must have no parameters > --- amd64_get_gsbase.o --- > /usr/src/lib/libc/amd64/sys/amd64_get_gsbase.c:60:1: error: ifunc > resolver function must have no parameters > DEFINE_UIFUNC(, int, amd64_get_gsbase, (void **), static) > ^ > /usr/local/obj/usr/src/amd64.amd64/tmp/usr/include/x86/ifunc.h:43:44: > note: expanded from macro 'DEFINE_UIFUNC' > --- amd64_get_fsbase.o --- > DEFINE_UIFUNC(, int, amd64_get_fsbase, (void **), static) > ^ > /usr/local/obj/usr/src/amd64.amd64/tmp/usr/include/x86/ifunc.h:43:44: > note: expanded from macro 'DEFINE_UIFUNC' > --- amd64_get_gsbase.o --- > qual ret_type name args __attribute__((ifunc(#name "_resolver"))); \ > ^ > --- amd64_get_fsbase.o --- > qual ret_type name args __attribute__((ifunc(#name "_resolver"))); \ > ^ > 1 error generated. > --- amd64_get_gsbase.o --- > 1 error generated. > *** [amd64_get_gsbase.o] Error code 1 > > make[4]: stopped in /usr/src/lib/libc > > CI appears green after this commit, so I'm inclined to pin this on yet > another instance of LLVM 7 being stricter than LLVM 6. Backing out this > revision allows the build to continue (successfully). Is this failure with devel/llvm70? It's currently missing the patch required to make this work. https://reviews.freebsd.org/D17709 contains this patch among others. I'll see about getting it applied. -- Brooks
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC