-
Notifications
You must be signed in to change notification settings - Fork 530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build fails because a bug in lib/unicore/mktables occurs #22132
Comments
In the directory where you were attempting to compile this
... and report back the results of each? (I'm assuming that what you supplied for site configuration item was your vendor |
Also, if you have access to a |
|
I got it building now and now I'm puzzled. Just to be sure I tried it with an empty make.conf and it worked. Then I looked what options were set there and its just With FreeBSD 13.3 LLVM and the clang compiler have been upgraded from 14.0.5 to version 17.0.6. No idea whats hapening here. Maybe a regression in clang 17.0.6 with the Just for the record a diff of the Site configuration information from perlbug:
|
I'm confused, you said here removing |
First of all sorry for the double report. The mail to perl-porters was the first try to but I got a bounce and thought the mail didn't got through and it would be less hassle to report it here. So yes, I blindly ran perlbug without realizing it would run the version I wanted to replace. But to my defense, the build fails before it builds perlbug. :-) So the perlbug reports show the output of a successfull build. To summarize it: working build: not working build: |
I've reproduced this in blead on a VM with a Ryzen 7 in FreeBSD 13.3 release. |
I see similar behaviour with clang 17.0.6 with -march=amdfam10 on Linux too, Debian stable, built with:
on AMD EPYC 7713 64-Core Processor (linode if it matters.) The generated code produces SIGILL on Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz, on an EXTRQ instruction, which isn't available on Intel. I see the reported failure with Debian clang version 18.1.4 (++20240410110204+b6ebea7972cd-1~exp1~20240410230232.97) (from apt.llvm.org) on the AMD EPYC above. |
So far I suspect a bug in auto vectorization reflected in the output of lc():
Note how the lower case of the character at offset 8 is being corrupted, this does not happen in the string is 15 characters or less, i assume because the vectorization doesn't perform a second loop. Adding enough data for a third loop doesn't cause any further problem. I plan to make a simple reproducer to report upstream. |
Worked up a simpler reproducer, which has been reported llvm/llvm-project#89008
|
This is a bug report for perl from hilko.meyer@gmx.de,
generated with the help of perlbug 1.42 running under perl 5.36.3.
[Please describe your issue here]
The build fails in the end with the following error:
LD_LIBRARY_PATH=/usr/ports/lang/perl5.36/work/perl-5.36.3 ./miniperl -Ilib make_ext.pl lib/auto/Unicode/Normalize/Normalize.so MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.36.3 LINKTYPE=dynamic
Making header files for XS...
Use of uninitialized value $tab[2] in substitution (s///) at ./mkheader line 122.
Use of uninitialized value $_[0] in pattern match (m//) at ./mkheader line 108.
Illegal hexadecimal digit '!' ignored at ./mkheader line 124.
Use of uninitialized value $tab[1] in string eq at ./mkheader line 125.
Weird Canonical Decomposition of U+0000 at ./mkheader line 155.
require ./mkheader called at Makefile.PL line 13
Unsuccessful Makefile.PL(dist/Unicode-Normalize): code=65280 at make_ext.pl line 532.
*** Error code 2
But much earlier many, many bugs in lib/unicore/mktables are reported:
LD_LIBRARY_PATH=/usr/ports/lang/perl5.36/work/perl-5.36.3 ./miniperl -Ilib lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p
lib/unicore/mktables: Bug in lib/unicore/mktables. Please report it by
running perlbug or if that is unavailable, by sending email to
perbug@perl.org: Unrecognized parameters 'Required_Even_in_Debug_Skip =>
1' to new() for Input_file object for PropertyAliases.txt. Skipped; at lib/unicore/mktables line 19533.
Use of uninitialized value in concatenation (.) or string at lib/unicore/mktables line 2640.
lib/unicore/mktables: Bug in lib/unicore/mktables. Please report it by
running perlbug or if that is unavailable, by sending email to
perbug@perl.org: Unrecognized parameters 'Progress_Message => Finishing
property setup' to new() for Input_file object for . Skipped; at lib/unicore/mktables line 19533.
Use of uninitialized value $progress in concatenation (.) or string at lib/unicore/mktables line 2510.
The complete build log is attached.
[Please do not change anything below this line]
Flags:
category=core
severity=high
Site configuration information for perl 5.36.3:
Configured by mat at Wed Nov 29 17:10:26 CET 2023.
Summary of my perl5 (revision 5 version 36 subversion 3) configuration:
Platform:
osname=freebsd
osvers=13.2-release-p3
archname=amd64-freebsd-thread-multi
uname='freebsd falko.fritz.box 13.2-release-p3 freebsd 13.2-release-p3 releng13.2-a1c915cc7 falko amd64 '
config_args='-Accflags=-DUSE_THREAD_SAFE_LOCALE -Darchlib=/usr/local/lib/perl5/5.36/mach -Dcc=cc -Dcf_by=mat -Dcf_email=mat@FreeBSD.org -Dcf_time=Wed Nov 29 17:10:26 CET 2023 -Dinc_version_list=none -Dlibperl=libperl.so.5.36.3 -Dman1dir=/usr/local/lib/perl5/5.36/perl/man/man1 -Dman3dir=/usr/local/lib/perl5/5.36/perl/man/man3 -Dprefix=/usr/local -Dprivlib=/usr/local/lib/perl5/5.36 -Dscriptdir=/usr/local/bin -Dsitearch=/usr/local/lib/perl5/site_perl/mach/5.36 -Dsitelib=/usr/local/lib/perl5/site_perl -Dsiteman1dir=/usr/local/lib/perl5/site_perl/man/man1 -Dsiteman3dir=/usr/local/lib/perl5/site_perl/man/man3 -Dusenm=n -Duseshrplib -sde -Ui_iconv -Ui_malloc -Uinstallusrbinperl -Alddlflags=-L/usr/ports/lang/perl5.36/work/perl-5.36.3 -L/usr/local/lib/perl5/5.36/mach/CORE -lperl
-Dshrpldflags=$(LDDLFLAGS:N-L/usr/ports/lang/perl5.36/work/perl-5.36.3:N-L/usr/local/lib/perl5/5.36/mach/CORE:N-lperl) -Wl,-soname,$(LIBPERL:R) -Doptimize=-O2 -pipe -march=amdfam10 -fstack-protector-strong -fno-strict-aliasing -Dusedtrace -Ui_gdbm -Dusemultiplicity=y -Duse64bitint -Dusemymalloc=n -Dusethreads=y'
hint=recommended
useposix=true
d_sigaction=define
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
Compiler:
cc='cc'
ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
optimize='-O2 -pipe -march=amdfam10 -fstack-protector-strong -fno-strict-aliasing '
cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion=''
gccversion='FreeBSD Clang 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags ='-pthread -Wl,-E -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib /usr/lib/clang/14.0.5/lib
libs=-lgdbm -ldl -lm -lcrypt -lutil
perllibs=-ldl -lm -lcrypt -lutil
libc=
so=so
useshrplib=true
libperl=libperl.so.5.36.3
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags=' -Wl,-R/usr/local/lib/perl5/5.36/mach/CORE'
cccdlflags='-DPIC -fPIC'
lddlflags='-shared -L/usr/local/lib/perl5/5.36/mach/CORE -lperl -L/usr/local/lib -fstack-protector-strong'
@inc for perl 5.36.3:
/usr/local/lib/perl5/site_perl/mach/5.36
/usr/local/lib/perl5/site_perl
/usr/local/lib/perl5/5.36/mach
/usr/local/lib/perl5/5.36
Environment for perl 5.36.3:
HOME=/root
LANG=C.UTF-8
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
PERL_BADLANG (unset)
SHELL=/bin/csh
perlcompilelog.txt
The text was updated successfully, but these errors were encountered: