Re: observations on Ryzen 5xxx (Zen 3) processors

From: tech-lists <tech-lists_at_zyxst.net>
Date: Tue, 04 Jan 2022 16:56:07 UTC
On Tue, Jan 04, 2022 at 02:06:43PM +0000, tech-lists wrote:
>Hello,
>
>On Wed, Dec 22, 2021 at 02:42:48PM +0200, Andriy Gapon wrote:
>>
>>There have been some reports on strange / unexpected things with Ryzen 5xxx
>>processors.  I think I have seen 5950X, 5900X and 5800X mentioned, not sure
>>about others.
>
>Thanks for this. I'm evaluating a ryzen 5600G. Here's hwinfo:
>
>https://bsd-hardware.info/?probe=e67007df20
>
>I've noticed a couple of oddities:
>
>1. some ports won't build, but world builds and installs just fine (current/14)

Can't build lang/perl5.32. I have many vms running perl5.32 and they're not seeing any issues.
There's nothing in bugs suggesting there's an issue with this port right now.

The context is 14.0-CURRENT #0 main-n252119-dfa5a74357f amd64 1400046 1400046 with a nodebug kernel.
The sources were built with these (/etc/src.conf):

KERNCONF=RYZEN5
WITH_CCACHE_BUILD="TRUE"
CCACHE_PREFIX=/usr/local/bin
CPUTYPE?=znver3 
TARGET_CPU_ARCH=znver3
WITH_MALLOC_PRODUCTION= 
WITH_LLVM_TARGET_ALL=
WITH_LLVM_BINUTILS=
WITH_KERNEL_RETPOLINE=
#
WITH_PIE=yes
WITH_BIND_NOW=yes
WITH_RETPOLINE=yes
WITH_SSP=yes
#
WITH_OPENSSL_KTLS=

I'm going to try building a new world next, this time with no /etc/src.conf, or a minimal one.

But for now, I'm seeing unexpected failures with ports that compile fine on other systems:

1. portstree last updated: Tue Jan 4 17:03:38 2022 +0100 version: 570114
2. no /etc/make.conf
3. in /usr/ports/lang/perl5.32:
    [i] make clean && make distclean && make rmconfig && make rmconfig-recursive
    [ii] make MAKE_JOBS_UNSAFE=yes -j1 fails here:
         
         98 warnings generated.
         cc -pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib -o miniperl  opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o d
         ump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o
          utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o tim
          e64.o  miniperlmain.o  -lpthread -lm -lcrypt -lutil
          ld: error: undefined symbol: __dtraceenabled_perl___op__entry
          >>> referenced by perlmini.c
          >>>               perlmini.o:(perl_destruct)
          >>> referenced by perlmini.c
          >>>               perlmini.o:(perl_destruct)
          >>> referenced by perlmini.c
          >>>               perlmini.o:(perl_parse)
          >>> referenced 8 more times
          ld: error: undefined symbol: __dtrace_perl___sub__entry
          >>> referenced by util.c
          >>>               util.o:(Perl_dtrace_probe_call)

          ld: error: undefined symbol: __dtrace_perl___sub__return
          >>> referenced by util.c
          >>>               util.o:(Perl_dtrace_probe_call)

          ld: error: undefined symbol: __dtrace_perl___loading__file
          >>> referenced by util.c
          >>>               util.o:(Perl_dtrace_probe_load)

          ld: error: undefined symbol: __dtrace_perl___loaded__file
          >>> referenced by util.c
          >>>               util.o:(Perl_dtrace_probe_load)

          ld: error: undefined symbol: __dtrace_perl___op__entry
          >>> referenced by util.c
          >>>               util.o:(Perl_dtrace_probe_op)
          >>> referenced by util.c
          >>>               util.o:(Perl_dtrace_probe_op)

          ld: error: undefined symbol: __dtrace_perl___phase__change
          >>> referenced by util.c
          >>>               util.o:(Perl_dtrace_probe_phase)

          ld: error: undefined symbol: __dtraceenabled_perl___sub__entry
          >>> referenced by pp_hot.c
          >>>               pp_hot.o:(Perl_pp_leavesub)
          >>> referenced by pp_hot.c
          >>>               pp_hot.o:(Perl_pp_entersub)
          >>> referenced by pp_ctl.c
          >>>               pp_ctl.o:(Perl_cx_popsub)
          >>> referenced 6 more times
          cc: error: linker command failed with exit code 1 (use -v to see invocation)
          *** [lib/buildcustomize.pl] Error code 1

          make[2]: stopped in /usr/ports/lang/perl5.32/work/perl-5.32.1
          1 error

          make[2]: stopped in /usr/ports/lang/perl5.32/work/perl-5.32.1
          *** [do-build] Error code 1

          make[1]: stopped in /usr/ports/lang/perl5.32
          1 error

          make[1]: stopped in /usr/ports/lang/perl5.32
          *** [stage] Error code 2

          make: stopped in /usr/ports/lang/perl5.32
          1 error

          make: stopped in /usr/ports/lang/perl5.32

-- 
J.