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). -- Charlie Li Can't think of a witty .sigline today… (This email address is for mailing list use only; replace local-part with vishwin for off-list communication)
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC