Re: how do i cross build world/kernel with clang?

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Mon, 2 Sep 2013 04:45:37 -0700
On 2 September 2013 00:47, David Chisnall <theraven_at_freebsd.org> wrote:

> On 2 Sep 2013, at 03:01, John-Mark Gurney <jmg_at_funkthat.com> wrote:
>
> > b/crtn.o: warning: linking PIC files with non-PIC files
>
> I think that this is an issue in our import of clang.  I'll have to check
> whether I upstreamed the code, but it's basically just not setting the
> e_flags field in the ELF header correctly (this required a little bit of
> tweaking in LLVM, because MIPS is the only platform that uses e_flags in
> quite this way - for everything else you know what the value should be from
> the target triple).
>
> > exect.So: In function `exect':
> > (.text+0x18): relocation truncated to fit: R_MIPS_PC16 against `__cerror'
>
> I believe that this is a limitation of our ld.  The PC16 relocation ought
> to be made to point to a PLT entry if it's too close, but it is just being
> truncated instead.  This is fixed in upstream ld-bfd, and hopefully will be
> easy to fix with MCLinker if it doesn't already work.  I'll see if we can
> make clang default to using larger relocation types for things not in the
> same compilation unit.


Thanks!


-adrian
Received on Mon Sep 02 2013 - 09:45:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC