Is binary output enough of an unusual use case that we're unlikely to
support it in lld?
[1] https://reviews.freebsd.org/D7409
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
On a related note. FreeBSD (and also a product on which I work on) uses
-b for kernel modules. I really would like to avoid changing all the
invocations to objcopy. Hw vendors (e.g. network drivers which ship
with firmware) rely on this feature. With that in mind, I'm not
exactly looking forward to make them unhappy and force to change their
internal build, in particular considering how hard is to get driver
support these days.
--
Davide
"There are no solved problems; there are only problems that are more
or less solved" -- Henri Poincare
On Thu, Aug 18, 2016 at 2:16 PM, Ed Maste via llvm-dev
<llvm...@lists.llvm.org> wrote:
> One remaining blocking issue for linking FreeBSD with lld is the
> inability to build the bootloader components. We have a patch[1] in
> review to address one of the problems by switching to using a linker
> script instead of GNU ld's -N option. Another issue is that some
> bootloader components are created by the linker directly as binary
> objects, using --oformat binary. (Other bootloader components are
> built by creating a temporary ELF object converting that to a raw
> binary using objcopy.)
>
> Is binary output enough of an unusual use case that we're unlikely to
> support it in lld?
>
On a related note. FreeBSD (and also a product on which I work on) uses
-b for kernel modules. I really would like to avoid changing all the
invocations to objcopy. Hw vendors (e.g. network drivers which ship
with firmware) rely on this feature. With that in mind, I'm not
exactly looking forward to make them unhappy and force to change their
internal build, in particular considering how hard is to get driver
support these days.
Patch implementing --oformat binary is here: https://reviews.llvm.org/D23769
I noticed that ld and gold has idfferent behavior:
gold uses LMA of PT_LOADs to find the destination file offset of data which it takes from segments.
I tried to play with AT() and looks GNU ld ignores that.
Patch implements ld behavior for now.
George.