On Fri, 7 May 2021 10:31:55 +0200 (CEST) Mark Kettenis <mark.kette...@xs4all.nl> 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