From: Kurt Mosiejczuk Subject: Re: python fix for armv7 (and potentially powerpc) To: Peter Hessler , ports@openbsd.org, gkoehler@openbsd.org Date: Wed, 22 Oct 2025 04:10:16 -0400 On Tue, Oct 21, 2025 at 12:53:58PM +0100, Stuart Henderson wrote: > On 2025/10/21 13:37, Jeremie Courreges-Anglas wrote: > > On Tue, Oct 21, 2025 at 01:16:41PM +0200, Peter Hessler wrote: > > > Selectively enable LTO depending on platform, this fixes the build for me > > > on armv7. > > > OK? > > Unless there actually is a pattern, I'd rather have LTO disabled > > selectively on platforms where it is known to break, and not > > forcefully enabled on other architectures. > > The current powerpc build seems to have succeeded on powerpc, but I'll > > let gkoehler@ confirm. > > > I also slipped this into the 7.8-release build for armv7, OK to commit to > > > branch? > > Makes sense, but not this diff please. > as a first step, how about this instead, which avoids changing things > except for arm? > then other changes can be done after per-arch testing. I like this one better. ok kmos --Kurt > Index: Makefile.inc > =================================================================== > RCS file: /cvs/ports/lang/python/Makefile.inc,v > diff -u -p -r1.168 Makefile.inc > --- Makefile.inc 31 Jan 2025 12:46:51 -0000 1.168 > +++ Makefile.inc 21 Oct 2025 11:50:26 -0000 > @@ -128,15 +128,12 @@ CONFIGURE_ARGS += --with-fpectl \ > --with-tcltk-libs='-L${X11BASE}/lib -l${MODTCL_LIB} -l${MODTK_LIB}' > .else > CONFIGURE_ARGS += --enable-loadable-sqlite-extensions > -. if ${PROPERTIES:Mlld} > +. if ${PROPERTIES:Mlld} && ${MACHINE_ARCH} != "arm" > CONFIGURE_ARGS += --with-lto > -. if ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "powerpc" > -# On armv7, clang errors out due to lack of memory. > -# On powerpc, the python binary would crash by "Segmentation fault". > -# XXX lld from llvm-16 errors out with: > -# ld.lld: error: relocation R_X86_64_PC32 cannot be used against symbol '__profd_isdigit'; recompile with -fPIC > -#CONFIGURE_ARGS += --enable-optimizations > +. else > +CONFIGURE_ARGS += --with-lto=no > . endif > +# XXX try using --enable-optimizations again; needs per-arch testing > . endif > TEST_IS_INTERACTIVE = Yes > .endif