On Fri, 7 May 2021 10:31:55 +0200 (CEST)
Mark Kettenis <[email protected]> wrote:
> Makes sense to me. It seems ldd always seems to require a little bit
> more coercion to produce non-standard binaries. We use linker scripts
> for the various EFI bootloaders as well.
>
> ok kettenis@
My diff had an extra "pwd" in arch/macppc/stand/ofwboot/Makefile;
I deleted the "pwd" before committing it.
> > -${PROG}: ${OBJS} ${LIBSA} ${LIBZ}
> > - ${LD} -nopie -znorelro -N -X -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
> > +${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ld.script
> > + pwd
> > + ${LD} -nopie -znorelro -N -X -T ${.CURDIR}/ld.script -o ${PROG} \
> > ${OBJS} ${LIBS}
>From my experiments with lld 10, I believe that macppc is almost ready
to switch from ld.bfd to ld.lld. I know of 2 other problems:
1. ports/lang/gcc/8 needs USE_LLD = No, because lld 10 can't link
C++ code from gcc. (I have not yet checked lld 11.) lld had no
problem with Fortran ports built by gcc.
2. All instances of -Wl,-relax or -Wl,--relax in src or ports must
be deleted, because it is an unknown option to lld, but lld can
link large binaries without the option.
--George