bingos/devel-patchperl

macOS Ventura's nm output changed

briandfoy opened this issue · 0 comments

I'm compiling perls on a new M2 MacBook Pro under Ventura. nm gives slightly different output

$ uname -a
Darwin m2otter.local 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul  5 22:21:53 PDT 2023; root:xnu-8796.141.3~6/RELEASE_ARM64_T6020 arm64

$ nm --version
llvm-nm, compatible with GNU nm
Apple LLVM version 14.0.3 (clang-1403.0.22.14.1)
  Optimized build.
  Default target: arm64-apple-darwin22.6.0
  Host CPU: apple-m1

$ nm libperl.a | head -5

op.o:
				 U _PL_DBsub
				 U _PL_WARN_ALL
				 U _PL_WARN_NONE
error: write on a pipe with no reader

There's already a patch in blead for t/porting/libperl.t: Perl/perl5@c1f1080

I'm noting this here as I'm doing other work, but I'd also like to see what I'd need to do to make a PR. I guess we always patch the file even despite the OS.

Here's a list of perls I've tried so far. I untar each perl tarball and run patchperl in it. In each version I've adjusted the patch to use the right line numbers since other things have changed. Some perls fail for other reasons, but not for the nm problem.

  • v5.38.0 - no problem
  • v5.36.1 - fix works
  • v5.34.1 - fix works
  • v5.32.1 - fix works
  • v5.30.3 - fix works
  • v5.28.3 - fix works
  • v5.26.2 - fix works
  • v5.24.4 - fails porting/customized.t (patchperl updates cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm, then SHA mismatch on that)
  • v5.22.3 - fails porting/customized.t (patchperl updates cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm, then SHA mismatch on that)
  • v5.20.0 - fix works
  • v5.18.4 - fails run/runenv.t
  • v5.16.3 - fails run/runenv.t
  • v5.14.4 - fails ../lib/locale.t, run/runenv.t
  • v5.12.5 - fails ../lib/locale.t, run/runenv.t
  • v5.10.1 - fails ../lib/locale.t
  • v5.8.9 - fails ../lib/locale.t
  • v5.6.2 - "Your C compiler "cc" doesn't seem to be working!"