From: Kirill A. Korinsky Subject: Re: llvm/sparc64: match BFD -N alignment To: Mark Kettenis Cc: "Theo de Raadt" , semarie@online.fr, robert@openbsd.org, tech@openbsd.org Date: Tue, 18 Aug 2026 21:55:34 +0200 On Tue, 18 Aug 2026 19:56:28 +0200, Mark Kettenis wrote: > > > From: "Theo de Raadt" > > Date: Tue, 18 Aug 2026 10:33:35 -0600 > > > > Mark Kettenis wrote: > > > > > > OK deraadt, but now that it's serious kettenis may have other nits. > > > > The conditions look correct to me and I don't think anything outside > > > > sys/arch/sparc64/stand uses the ld options which use this so the effects > > > > are tightly constrained. > > > > > > I have a feeling that this is trying to work around an issue that can > > > be fixed by passing the right command line arguments and/or a fairly > > > simple linker script. Please let me see if I can figure that out > > > before committing this. > > > > In the old days, did nmagic binaries really do 1MB padding? > > I doubt it. So it seems like an oversight. > > The padding seems to be a consequence of mixing -N with -Ttext. > > Kirill, can you try replacing > > "-Ttext ${RELOC}" > > with > > "--image-base=0x${RELOC}" > > ? > > And maybe you can put your current ofwboot binary (the one produces by > your midified version of ld.lld) somewhere such that I can take a look > at it? > Yes, replacing -Ttext ${RELOC} by --image-base=0x${RELOC} as: RCS file: /cvs/src/sys/arch/sparc64/stand/ofwboot/Makefile,v diff -u -p -r1.29 Makefile --- ofwboot/Makefile 30 Jan 2025 21:46:25 -0000 1.29 +++ ofwboot/Makefile 18 Aug 2026 19:02:45 -0000 @@ -73,7 +73,7 @@ CPPFLAGS+= -DSOFTRAID .endif ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} - ${LD} -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} -nopie -znorelro \ + ${LD} -N --image-base=0x${RELOC} -e ${ENTRY} -o ${PROG} -nopie -znorelro \ ${OBJS} -L${LIBSADIR} ${LIBSA} \ -L${LIBZDIR} ${LIBZ} leads to ofwboot without padding. Binaries are here: https://kirill.korins.ky/pub/sparc64-ofwboot/ -- wbr, Kirill