On Fri, 16 Jun 2017 18:45:17 -0400 Shawn Webb <shawn.w...@hardenedbsd.org> wrote:
> On Thu, Jun 15, 2017 at 07:15:06AM +0000, Jason Evans wrote: > > Author: jasone > > Date: Thu Jun 15 07:15:05 2017 > > New Revision: 319971 > > URL: https://svnweb.freebsd.org/changeset/base/319971 > > > > Log: > > Update jemalloc to 5.0.0. > > > > This breaks buildworld for arm64: > > /usr/obj/arm64.aarch64/scratch/fbsd/tmp/usr/bin/ld: error: > sigsetjmp.pico:(function sigsetjmp): relocation R_AARCH64_CONDBR19 out of > range > /usr/obj/arm64.aarch64/scratch/fbsd/tmp/usr/bin/ld: error: > sigsetjmp.pico:(function siglongjmp): relocation R_AARCH64_CONDBR19 out of > range > cc: error: linker command failed with exit code 1 (use -v to see invocation) > --- libc.so.7.full --- > *** [libc.so.7.full] Error code 1 > > make[4]: stopped in /scratch/fbsd/lib/libc Indeed, this happens for me too with TARGET=arm64 TARGET_ARCH=aarch64. I haven't found anything specifically about this error message, but it looks vaguely like the amd64-specific messages that happen when trying to link non-PIC object files into a shared library. In src/lib/libc/aarch64/gen/sigsetjmp.S, we have two conditional jumps b.eq C_LABEL(_setjmp) [...] b.eq C_LABEL(_longjmp) Maybe there's a simple macro change that can make these relocatable jumps. Alternatively, we could probably simplify the code by merging setjmp.S and sigsetjmp.S, so that PC-relative jumps could be used. I'm going to be AFK for the next couple days, and I do not have arm64 hardware, so I hope this is enough information for someone to work out a simple fix. Thanks, Jason _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"