From: Stuart Henderson Subject: Re: python fix for armv7 (and potentially powerpc) To: Peter Hessler , ports@openbsd.org, gkoehler@openbsd.org, Kurt Mosiejczuk Date: Tue, 21 Oct 2025 12:53:58 +0100 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. 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