Date: Fri, 21 Aug 2020 14:54:35 +0400 From: Gleb Popov <arrowd@freebsd.org> To: Dimitry Andric <dim@freebsd.org> Cc: toolchain@freebsd.org Subject: Re: Undefined reference to __bswapsi2/__bswapdi2 Message-ID: <CALH631mnsKVEduCDnmcEgDTfvQ6c8Vp6_jf-=ywKpnZDj8cxSw@mail.gmail.com> In-Reply-To: <4616D1DE-55B4-43AA-B8D9-A3C0513C9BC1@FreeBSD.org> References: <CALH631mXOLvLrrMcB3rfqQT5c%2BEEMRBnGgEBSEooHJYELOE9Fw@mail.gmail.com> <CALH631==P4bA27wV1V1U8gUPff4RrmFd=ReRV8OeiZHHsppA5w@mail.gmail.com> <4616D1DE-55B4-43AA-B8D9-A3C0513C9BC1@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 20, 2020 at 11:53 PM Dimitry Andric <dim@freebsd.org> wrote: > On 20 Aug 2020, at 19:52, Gleb Popov <arrowd@freebsd.org> wrote: > > > > On Wed, Aug 19, 2020 at 10:15 PM Gleb Popov <arrowd@freebsd.org> wrote: > > > >> Hi toolchain@ > >> > >> I'm building the latest GHC on 12.1-RELEASE i386 and having almost the > >> same problem as with atomic functions. This time the error is > >> > >> d: error: undefined symbol: __bswapsi2 > >>>>> referenced by TTY.c > >>>>> RTS.thr_p_o:(rtsSyms) in archive > >> > /wrkdirs/usr/ports/lang/ghc/work/ghc-8.10.2/rts/dist/build/libHSrts_thr_p.a > >> > >> ld: error: undefined symbol: __bswapdi2 > >>>>> referenced by TTY.c > >>>>> RTS.thr_p_o:(rtsSyms) in archive > >> > /wrkdirs/usr/ports/lang/ghc/work/ghc-8.10.2/rts/dist/build/libHSrts_thr_p.a > >> > >> What's wrong with that? These functions seem to be present in our > >> compiler-rt. > >> > > > > Reading /usr/src/lib/libcompiler_rt/Makefile.inc, it seems that we don't > > compile these functions. What's the reason for this? > > I'm not aware of any particular reason, except that nobody seems to have > run into this omission before. It looks like on x86, compilers usually > just emit bswap instructions instead of libcalls for these situations. > > Apparently we have historically only added bswapdi and bswapsi for arm, > mips and riscv. > > -Dimitry > > I see thanks. I worked my problem around by adding implementations of these functions right into GHC code.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALH631mnsKVEduCDnmcEgDTfvQ6c8Vp6_jf-=ywKpnZDj8cxSw>